Thema: Delphi Checkbox

Einzelnen Beitrag anzeigen

CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#22

Re: Checkbox

  Alt 21. Apr 2007, 09:46
Zitat von DGL-luke:
Jo. is wohl sinnvoller:

Delphi-Quellcode:
function MakeCheckBoxes(Container: TWinControl; Captions: TStrings; CBOnClick: TNotifyEvent = nil): TObjectList;
var i: Integer;
    Size: TSize;
    buf: string;
begin
  Result := TObjectList.Create;
  for i := 0 to Captions.Count-1 do
  with Result[Result.Add(TCheckBox.Create(Container))] as TCheckBox do //sorry dafür. aber da mach ich jetzt kein extra faß variablen für auf.
  begin
    Parent := Container;
    Top := i * 16; //reicht 16?
    Left := 3;
    Height := 16;
    buf := Captions[i];
    GetTextExtentPoint32(Canvas.Handle, @buf[1], Length(buf),Size);
    Width := Size.cx + 16; //16 extra für die Box
    Tag := i;
    Caption := buf;
    OnClick := CBOnClick;
  end;
end;
Kannst Du bitte ein Anwendungsbeispiel dafür geben? Ich bekomme das nämlich nicht zum Laufen.
Konkret möchte ich in die dritte und vierte Spalte eine Checkbox ohne Beschriftung setzen.

Woran es hapert:
1. Canvas wird als undeklariert angezeigt. Ich habe deshalb "Canvas : TCanvas;" bei var von MakeCheckBoxes aufgenommen. Ist das so korrekt oder soll das wo anders herkommen?
2. Ich komme mit den Parametern nicht ganz zurecht. Als Container muss ich ja die entsprechende ListView angeben, oder? Ich welcher Weise werden aber die Captions benötigt/verwendet?

Bei meinen Versuchen wurde bestenfalls eine External Exception ausgegeben und dann eine Checkbox im ersten Column Header angezeigt ...

Ich wäre für Hilfe sehr dankbar.
  Mit Zitat antworten Zitat