Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TVirtualStringTree Zelle selektieren (https://www.delphipraxis.net/212633-tvirtualstringtree-zelle-selektieren.html)

stalkingwolf 8. Mär 2023 11:08

TVirtualStringTree Zelle selektieren
 
Moin,

Kunden hatten den Wunsch das in den TVirtualStringTree auch Zellen selektiert werden können wenn man nicht direkt auf den Text in der Zelle klickt.
Wenn ich das korrekt sehe, dann kann das Element dies nicht.

Also habe ich versucht dies bei ColumnClick selber zu machen.
Allerdings ist damit nicht die gesamte Zelle markiert, sondern nur der Text in der Zelle. Schaut nicht so toll aus.

Jemand eine Idee wie das gehen könnte oder schon einmal selber gemacht?

Hier mein Code.

Code:
procedure TFMain.vtColumnClick(
  Sender: TBaseVirtualTree; Column: TColumnIndex; Shift: TShiftState);
var p:TPoint;
    node:PVirtualNode;
    hitInfo:THitInfo;
begin

    GetCursorPos(p);
    Windows.ScreenToClient(vt.Handle, p);
    vt.GetHitTestInfoAt(p.X, p.Y,true,hitInfo);

    if ((hitInfo.HitColumn >= _MINCOL) and (hitInfo.HitColumn <= _MAXCOL)) then begin

        node:=hitinfo.HitNode;
        if node = nil then exit;

        vt.FocusedColumn := 3;
        vtLieferListvtSelected[node] := TRUE;
    end;
end;

bcvs 8. Mär 2023 13:45

AW: TVirtualStringTree Zelle selektieren
 
Zitat:

Zitat von stalkingwolf (Beitrag 1519647)
Kunden hatten den Wunsch das in den TVirtualStringTree auch Zellen selektiert werden können wenn man nicht direkt auf den Text in der Zelle klickt.
Wenn ich das korrekt sehe, dann kann das Element dies nicht.

Doch das geht schon. Ich nehme an, du benutzt den VirtualStringTree als Grid. Dann schalte mal TreeOptions.MiscOptions.toGridExtension ein. Evtl. auch toReportMode

stalkingwolf 8. Mär 2023 13:59

AW: TVirtualStringTree Zelle selektieren
 
Zitat:

Zitat von bcvs (Beitrag 1519655)
Zitat:

Zitat von stalkingwolf (Beitrag 1519647)
Kunden hatten den Wunsch das in den TVirtualStringTree auch Zellen selektiert werden können wenn man nicht direkt auf den Text in der Zelle klickt.
Wenn ich das korrekt sehe, dann kann das Element dies nicht.

Doch das geht schon. Ich nehme an, du benutzt den VirtualStringTree als Grid. Dann schalte mal TreeOptions.MiscOptions.toGridExtension ein. Evtl. auch toReportMode

tja so einfach war das über toGridExtension :-)
Vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz