Ich meine, man kann irgendwie die Breite der Liste vorgeben bzw. ändern. Kann es eventuell daran liegen?
Leider nein diese setze ich ja.. Und ja man kann sie ändern aber nur wenn sie weiter ist als die Combo selbst. Weniger funktioniert nicht.
Delphi-Quellcode:
// Edit update
if (length(SkinEngine.SkinConfigFile) <> 0) and OpenDialog.UseSkin then
begin
Txt := PWideChar(OpenDialog.GetDlgPath(CDM_GETFILEPATH, WinHandle));
if (not PathIsDirectoryW(Txt)) and (PathFileExistsW(Txt)) then
begin
Txt := PWideChar(ExtractFileName(Txt));
SkinEngine.SetCTLText(edEdit.Handle, Txt);
SetToolTipText(edEdit.Handle, Txt, True);
SkinEngine.SetZorder(SKDialogHandle, HWND_TOPMOST);
end
else
begin
// clear edit if selected item not a path
SkinEngine.SetCTLText(edEdit.Handle, '');
// change width of Combo DropList
Txt := PWideChar(ExtractFileName(Txt));
GetTextBound(Txt, SkinEngine.SK_TEXTFONT, SkinEngine.SK_PUSHBUTFONTSIZE + 1,
bW, bH, nil, 0);
GetClientRect(hComboPath, rc);
if bW > rc.Right then
SendMessage(hComboPath, CB_SETDROPPEDWIDTH, bW, 0); // new DropList width
Result := 1;
Exit;
end;
end;
Aber wie man sehen kann ist der Eintrag leer.
Genauso wie der, der Combo selbst.
gruss