Görgetés dragdrop
Görgetés a DragDrop
Prompt hogyan görgetés az TreeView ha DragDrop. Ő görgetés bejön nekem, de a „junk” marad a fán. Még próbáltam csinálni újrarajzolás, még nem segít.
eljárás TMainForm1.T1DragOver (küldő, Forrás: TObject; X, Y: egész;
Állam: TDragState; var elfogadás: logikai érték);
kezdődik
if (Forrás TLsFileListView28) vagy (Forrás TDATreeView), akkor
Elfogadás: = true
más
kezdődik
Elfogadás: = false;
exit;
végén;
ha Y> T1.Height - Sb1.Height - 10 majd
T1.Perform (WM_VSCROLL, SB_LINEDOWN, 0)
más
ha Y <10 then
T1.Perform (WM_VSCROLL, SB_LINEUP, 0);
T1.Repaint;
végén;
T1: TDATreeView;
SB1: TScrollBar;
TDATreeView eltér a szokásos TreeView csak azért, mert lehetővé teszi, hogy DragDrop belül magukat.
És végig a második kérdést. Honnan tudom, hogy mi lesz a magassága a vízszintes gördítősáv alapértelmezés szerint az aktuális képernyő felbontás? És akkor meg kell tenni a láthatatlan csíkok formájában, és vigye magasság.
A második kérdés.
GetSystemMetrix SM_CXVSCROLL, SM_CYVSCROLL
és még nem próbáltam csinálni T.ScrollBy (DX, DY)?
frissítés sky3d - funkció úgynevezett GetSystemMetrics, a kívánt paramétert SM_CYHSCROLL
A késés nem segít. Milyen más javaslatok?
és itt a késés? Alvás próbált tenni valamit?
és ha teszik, ahogy ebben a példában a VB - a DragOver közé skrolliruem időzítő és az időzítőt?
Nem nem alszik. Próbáltam, hogy kötődik az időzítő mint ebben a példában. Most próbálom egyszerűen lefordítjuk a teljes mintát VB Delphi.
Szenvedett példát Delphi, 1-1. Ugyanez nonszensz kiderül :(.
Tudok küldeni egy képernyőképet ez érdekes. Be kell, hogy ne legyen lusta és telepíteni VB ellenőrzése érdekében ez a HOGYAN az eredeti.
jobb, ha kód jött
Fura. A változata a közös ellenőrzések joga van? A fa nem OwnerDraw? Nálam van a kód működik. Csak abban az esetben -, akkor próbálja helyettesíteni végre
PostMessage (T1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
Köszönet mindenkinek, aki részt vett a megbeszélésen.
Sok szerencsét
Memória: 0,74 MB
Idő: 0.025 c