Thema: Delphi WordWrap bei ListBoxen

Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: WordWrap bei ListBoxen

  Alt 17. Aug 2009, 19:06
Ich habe einen weiteren Bugfix. Wenn eine Zeile leer war, dann sind die Zeilen ineinandergerutscht.

Delphi-Quellcode:
procedure TMDIEditor.CheckListBox1MeasureItem(Control: TWinControl;
  Index: Integer; var Height: Integer);
var
  tempCanvas: TCanvas;
  notUsed: HWND;
  destRect: TRect;
  txt: PChar;
begin
  tempCanvas := TCanvas.Create;
  try
    tempCanvas.Handle := GetDeviceContext(notUsed);
    destRect := CheckListBox1.ClientRect;
    if CheckListBox1.Items[Index] = 'then
      txt := ' '
    else
      txt := PChar(CheckListBox1.Items[Index]);
    Height := DrawText(tempCanvas.Handle, txt, -1, destRect, DT_WORDBREAK);
  finally
    tempCanvas.Free;
  end;
end;
PS: Bitte interpretiert das nicht als "gemecker" am Code. Ich freue mich sehr über diesen Code und wäre selbst nicht darauf gekommen und habe den Code jetzt ein wenig korrigiert, damit die Gemeinschaft ihn fehlerfrei nutzen kann.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat