TreeListItem fokussieren?

Forum für alles rund um die MSEide und MSEgui
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

TreeListItem fokussieren?

Beitrag von fliegermichl »

Wie kann ich programmatisch einen bestimmten Eintrag in dem widgetgrid fokussieren und natürlich alle Parentnodes öffnen damit das auch sichtbar wird.
Ggf. dann scrollen damit der auch ins Bild rückt?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TreeListItem fokussieren?

Beitrag von mse »

Code: Alles auswählen

 
<ttreelistitem>.expandtoroot(true);
 

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: TreeListItem fokussieren?

Beitrag von fliegermichl »

Danke. Das öffnen klappt damit. Allerdings wird die Node nicht selektiert angezeigt obwohl ich node.selected := true eingestellt hab?

EDIT: Ich hab's.

Code: Alles auswählen

 
 Tree.Setfocus;
 TreeEdit[TreeEdit.ActiveRow].activate;
 

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TreeListItem fokussieren?

Beitrag von mse »

Wenn tlistitem.select mit dem select-Status der Zelle synchronisiert werden soll, muss ttreeitemedit.itemlist.options no_cellitemselect gesetzt werden.
Als Alternative gibt es auch ttreeitemedit.itemlist.options no_checkbox kombiniert mit tlistitem.checkbox und tlistitem.checked.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TreeListItem fokussieren?

Beitrag von mse »

fliegermichl hat geschrieben:EDIT: Ich hab's.

Code: Alles auswählen

 
 Tree.Setfocus;
 TreeEdit[TreeEdit.ActiveRow].activate;
 

Oder einfacher:

Code: Alles auswählen

 
 <ttreelistedititem>.activate();
 

Dadurch erübrigt sich auch expandtoroot().

Antworten