Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Länge der ComboListBox items festlegen

  Alt 4. Jun 2019, 19:33
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

Geändert von EWeiss ( 9. Jul 2019 um 09:31 Uhr)
  Mit Zitat antworten Zitat