(Gast)
n/a Beiträge
|
AW: Comboliste klappt nicht auf
17. Mai 2019, 17:27
Geht jetzt.. aber nicht mit dem CB_SHOWDROPDOWN denke das ist überflüssig.
Erste Problem war das die Weite der Combo 0 war wenn dem so ist wird die Liste nicht aufgeklappt warum auch immer
Delphi-Quellcode:
HCombo := CreateWindowEx(0, 'COMBOBOX', PWideChar(ColorLabel), LStyle,
Width - 24, 0, 0, 152, FHColorPicker, DlgItemID, SkinEngine.skInstance,
nil);
zu
Delphi-Quellcode:
HCombo := CreateWindowEx(0, 'COMBOBOX', PWideChar(ColorLabel), LStyle,
Width - 24, 0, 1, 152, FHColorPicker, DlgItemID, SkinEngine.skInstance,
nil);
Zweite Problem ich musste die alte Position der Combo wieder herstellen bevor sie erneut aufgeklappt wird.
Delphi-Quellcode:
procedure TSkinColorPicker.PutFocusOn(ObjectHandle: HWND);
begin
PostMessage(ObjectHandle, WM_LBUTTONDOWN, 0, 0);
PostMessage(ObjectHandle, WM_LBUTTONUP, 0, 0);
end;
Delphi-Quellcode:
WM_COMMAND:
begin
HCombo := SkinEngine.GetProperty(WinHandle, COLORPICK_COMBO);
GetWindowRect(WinHandle, rc);
SetWindowPos(HCombo, 0, rc.Left, 0, 1, 152, SWP_NOZORDER);
SkinColorPicker.PutFocusOn(HCombo);
end;
Ergebnis siehe shot!
Muss noch was an der Hintergrundfarbe machen sowie die Schrift der Combo mit der des Skins ersetzen verwende im Moment TextOut. Wird dann GDI+
Der ColorPicker ändert die Aero Farbe.
gruss
Geändert von EWeiss ( 9. Jul 2019 um 09:31 Uhr)
|
|
Zitat
|