In Delphi heb ik een shell extensie geschreven. Het is een property sheet handler. Als je in de Explorer in het contextmenu van een bestand het menu-item Eigenschappen kiest, verschijnt mijn property sheet als een apart tabblad.
Van dit dialoogvenster heb ik een window handle - FDlg - die ik gebruik om een tree view op de sheet te zetten. Dat doe ik met low-level API calls:
Dat werkt prima, maar het is nogal omslachtig
. Ik heb ook geprobeerd een TTreeView op mijn sheet te zetten, maar ik zie niets verschijnen. Wat doe ik daarbij fout? Een probeersel dat niet werkt:
Van dit dialoogvenster heb ik een window handle - FDlg - die ik gebruik om een tree view op de sheet te zetten. Dat doe ik met low-level API calls:
code:
1
2
3
4
5
6
7
8
9
| InitCommonControl(ICC_TREEVIEW_CLASSES);
GetClientRect(FDlg, AClientRect);
FTreeView := CreateWindowEx(WS_EX_CLIENTEDGE, WC_TREEVIEW, 'Tree View',
WS_VISIBLE or WS_CHILD or WS_CLIPSIBLINGS or TVS_HASLINES or
TVS_HASBUTTONS or TVS_NOTOOLTIPS,
10, 28, AClientRect.Right - 10, AClientRect.Bottom - 60, FDlg, 0, HInstance,
nil);
// En dan een paar nodes toevoegen |
Dat werkt prima, maar het is nogal omslachtig
code:
1
2
3
4
5
6
7
| with TTreeView.CreateParentedControl(FDlg) do
begin
Left := 10;
Top := 28;
Width := AClientRect.Right - 10;
Height := AClientRect.Bottom - 60;
end; |
Een goede grap mag vrienden kosten.