Cum să dezactivați derularea automată

Cum să dezactivați derularea automată.

Bine ai venit!
Există multe componente pe ScrollBox_e. Fiecare dintre ele poate fi mutat cu mouse-ul. Problema este că atunci când componenta primește focalizare, ScrollBox se rotește automat astfel încât această componentă să fie vizibilă. Dacă nu este complet vizibil atunci când faceți clic pe el cu mouse-ul este puternic deplasat. (Cum pot dezactiva această derulare?

Și eu am vrut. dar dacă AutoScroll: = false, atunci barele de defilare dispar

Interceptați WM_MOUSEWHEELE sau ceva de genul ăsta.

Și la ce e aici WM_MOUSEWHEELE? atunci când tab_om rândul său, de asemenea, derularea apare

a existat o astfel de problemă, a fost necesar să se facă în formularul următor:

1. Comandă OnEnter cu focalizare
procedura TfrmSelParams.lvEnter (expeditor: TObject);
începe
cu TListView (Expeditor)
dacă începe Items.Count> 0
dacă nu este Atribuit (selectat) atunci
Selectat: = Elemente [0];
Selected.Focused: = true;
FPos: = ScrBox.VertScrollBar.Position
capăt
se încheie;

2. Preluați formularul de mesaj CM_FOCUSCHANGED
procedura TfrmSelParams.WMFocusChanged (var Msg: TMessage);
începe
dacă TWinControl (Msg.LParam) este TListView atunci
ScrBox.VertScrollBar.Position: = FPos
se încheie;

Am păstrat poziția doar a barei verticale în FPos, în cazul tău este posibil să salvezi o orizontală.

Memorie: 0,72 MB
Durată: 0,033 secunde

Articole similare