Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#47

AW: VirtualTreeView Editfelder, ComboBox und andere

  Alt 29. Okt 2016, 23:27
Auch wenn der Thread schon was älter ist, stand ich auch grad vor dem Problem.

Nach langem Grübeln, studieren und suchen bin ich drauf gekommen, das das Problem mit TAB,Arrows usw,
eigentlich garnicht am VST liegt, sondern an den Eingabe-Controls. Ein TEdit kann halt nix mit TAB anfangen

Also verfolge ich grad folgenden Lösungs-Ansatz:

Delphi-Quellcode:
INTERFACE
TYPE
  TMyEdit = class(TEdit)
    PRIVATE
       procedure WMGetDlgCode(var Message: TWMGetDlgCode); message WM_GETDLGCODE;
  end;
IMPLEMENTATION

procedure TMyEdit.WMGetDlgCode(var Message: TWMGetDlgCode);
begin
  Message.Result := DLGC_WANTCHARS or DLGC_WANTARROWS or DLGC_WANTTAB;
end;
Dann im Editor statt TEdit, TMyEdit benutzen und einen Event-Handler für KeyDown des Edit-Felds
reinhängen und schon kannst du die entprechenden Aktionen ausführen


Fehlt also eigentlich nur das weiterswitchen auf die nächste Column oder das beenden des Edit-Modes.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat