Results 1 to 5 of 5

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date: Aug:2006
    Location: Ïëîâäèâ
    Posts: 4,052

    Âúïðîñè çà drag & drop â windows

    Ðàçðàáîòâàì åäíî ïðèëîæåíèå ÷ðåç freepascal è lcl [lazarus component library] - äåôàêòî áåçïëàòåí êëîíèíã íà äåëôè.
    Äàéòå ìè íÿêàêâè èäåè êàê ñå îñúùåñòâÿâà äðàã/äðîï, ïðèìåðíî íà ôàéë îò explorer êúì ïðîãðàìàòà (ôîðìèòå è) ìè.
    Ìîæå è äà íå å íà ïàñêàë (c, vb), íå ìèñëÿ, ÷å ùå ìè å ïðîáëåì àêî ðàçáåðà êàê ñòàâà äà ñúçäàì ìàëúê dll , êîéòî äà ñúçäàâà "drop" ïðîçîðåö è äà ãî âúðæà êúì ïðèëîæåíèåòî ìè.

  2. #2
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    íàé-ïðîñòîòî å íà ïðîçîðåöà äà ñå äàäå ñòèë WS_EX_ACCEPTFILES èëè èìàøå åäíî ÀÏÈ( DragAcceptFiles, ñåòèõ ñå) è îáðàáîòâàø WM_DROPFILES. ÌÍîãî å ïðîñòî. ÔÚë ôèé÷úðä Äðàã-äðîï ìîæåø äà âèäèø êàê ñå ïðàâè òóê:
    http://www.catch22.net/tuts/ è ãëåäàø OLE Drag and Drop òóòîðèúëà. Íå å ïðîáëåì äà ñå òðàíñëèðà íà ïàñêàë, îñâåí äà âíèìàâàø ñ óêàçàòåëèòå.

    P.S. Àêî èñêàø ïðîçîðåöà, êîéòî àêñåïòâà ôàéëîâåòå äà íå å îñíîâíèÿ èëè äà íå å òàêúâ íà êîéòî òè ìó ïèøåø ïðîçîðå÷íàòà ïðîöåäóðà, òðÿáâà äà ãî ñóáêëàñíåø ëîêàëíî.
    Last edited by Bombera; 24th February 2007 at 15:11.
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

  3. #3
    Registered User
    Join Date: Aug:2006
    Location: Ïëîâäèâ
    Posts: 4,052
    Áëàãîäàðÿ, ñåãà ïîðîâÿ. Ðåàëíî íå ìè òðÿáâà öÿëàòà ôóêíöèîíàëíîñò, ñàìî åäèíñòâåíî ôàéëîâå îò øåëà, òàêà ÷å ìàé DragAcceptFiles ùå ìè ñâúðøè íàé-äîáðå ðàáîòà.

    ---
    Íàìåðèõ âúíøåí êîìïîíåíò ñ îòâîðåí êîä, êîéòî äàâà dragacceptfiles ôóíêöèîíàëíîñò çà äåëôè, îñòàâà äà ãî ïîäêàðàì ïîä lazarus
    ---

    Îùå åäèí, ìàëêî ïî-ñòðàíè÷åí âúïðîñ. Èìàì file.x, íàñòîåí äà ñå îòâàðÿ ñ app.exe. Ïðè äðîï íà ôàéëîâå îò explorer â/ó file.x êàêâî ñå ñëó÷âà? (app.exe file.x files.foo ?)


    -------------


    Äà, äà, ìíîãî ñúì òúï. Òîâà èñêà àäðåñ, àìà êàòî ÷åòà ïðåç ðåäîâåòå... Îñòàíàõà äðóãèòå ãðåøêè




    Îêåé, òîâà óñïÿâà äà ìå ìú÷è

    DragQueryPoint(hDrop, Info.Point); - ðåâå, ÷å íå èñêà òèï POINT çà 2-ðèÿ ðåçóëòàò, à LPOINT.

    Èçìèñëÿì íÿêàêúâ workaround, ò.å.
    Code:
      LPOINT = record
      x,y : longint;
      end; 
      ....
      TempSol: LPOINT;
      TempSol.x := Info.Point.x;
      TempSol.y := Info.Point.y;
      DragQueryPoint(hDrop, TempSol);
    È âå÷å ðåâå - íå èñêà LPOINT, à LPOINT
    Ïîìîù ìîëÿ

    [òèïà íà lpoint ñòðóêòóðàòà å âçåò îò http://msdn.microsoft.com/library/de...tangl_0tiq.asp
    åòî è äåêëàðàöèÿòà îò ms íà ñàìàòà DragQueryPoint
    Code:
    BOOL DragQueryPoint(      
        HDROP hDrop,
        LPPOINT lppt
    );
    lppt
    Address of a POINT structure that the function fills with the coordinates of the mouse pointer at the time the file was dropped.]
    Last edited by solar_sea; 24th February 2007 at 19:52.

  4. #4
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    Ìè LPPOINT å óêàçàòåë êúì POINT ñòðóêòóðà. ò.å ^ ìàé áåøå ñ Ïàñêàëà, çàåáà@õ Äåëãè ïðåäè ãîäèíè. Ò.å ïîäàâàø:
    DragQueryPoint(hDrop, ^TempSol);
    Àìè òÿ òðÿáâà äà ÿ èìàø äåêëàðèðàíà íÿêúäå, ùîì èìàø HDROP äåêëàðèðàí. Òâà å áàçîâ òèï â Óèíäîóñ. ß ÿ íàïèøè ñ 2 P-òà. Èñêà LPPOINT à íå LPOINT.LP îçíà÷àâà long pointer(32 áèòîâ ïðè òåáå ïðåäïîëàãàì), äåìåê öÿëîòî å long pointer êúì POINT ñòðóêòóðà, êàêòî êàçàõ âå÷å.
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

  5. #5
    Registered User
    Join Date: Aug:2006
    Location: Ïëîâäèâ
    Posts: 4,052
    Îïðàâèõ ãî àç, êîãàòî 'íåùîòî' íà êîåòî èñêàì àäðåñà å îò äÿñíàòà ñòðàíà, ÿâíî @ âðúùà àäðåñ.
    @Info.Point è çàáðàâè ïúðâèÿ ïðîáëåì, ñëåä òîâà ïðîñòî òðÿáâàøå äà âêëþ÷à äåëôè-ñúâìåñòèì ðåæèì çà 2-ðèÿ èëè ïàê äà äîáàâÿ @ íà åäíî ìÿñòî.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè