Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TChecklistbox : einzelne Zeilen ohne Checkbox? (https://www.delphipraxis.net/109119-tchecklistbox-einzelne-zeilen-ohne-checkbox.html)

Bufo 24. Feb 2008 20:07


TChecklistbox : einzelne Zeilen ohne Checkbox?
 
Hallo,

kennt jemand eine Möglichkeit, bei einer Checklistbox bei einzelnen Zeilen die vorangestellten check-Boxen auszublenden?

Danke vorab!

omata 24. Feb 2008 20:12

Re: TChecklistbox : einzelne Zeilen ohne Checkbox?
 
Das wird nicht gehen, da die interne Liste von TStrings angeleitet ist.

Du könntest einen TreeView mit nur einer Ebene nehmen und dort Checkboxen als Bilder einfügen. Dann könnte das gehen.

Gruss
Thorsten

OldGrumpy 5. Jul 2008 16:21

Re: TChecklistbox : einzelne Zeilen ohne Checkbox?
 
Das geht schon, dazu gibts das Property Header. Zeilen für die Header true ist, werden ohne Checkbox und in anderen Farben dargestellt (HeaderColor und HeaderBackgroundColor). Sehr nützlich :)

_frank_ 5. Jul 2008 17:01

Re: TChecklistbox : einzelne Zeilen ohne Checkbox?
 
gut, bei D3 gibts das Property "Header" noch nicht. ich hab damals per ownerdraw die chekboxen übermalt ;)

nur fix rauskopiert ;)

Delphi-Quellcode:
procedure TForm_TsctMain.ChkLB_FoldFlagsDrawItem(Control: TWinControl;
  Index: Integer; Rect: TRect; State: TOwnerDrawState);
var r:TRect;
begin
  r:=rect;
  if ChkLB_FoldFlags.items[index]='' then
  begin
    rect:=classes.rect(0,rect.top,rect.right,rect.bottom);
    ChkLB_FoldFlags.Checked[index]:=false;
    ChkLB_FoldFlags.canvas.Brush.Color:=ChkLB_FoldFlags.color;
  end;
  //if (odSelected in State) and (ChkLB_FoldFlags.items[index]<>'') then ChkLB_FoldFlags.canvas.Brush.color:=clGreen;
  ChkLB_FoldFlags.canvas.FillRect(rect);
  if (odfocused in state) then
    ChkLB_FoldFlags.canvas.Rectangle(r.left,r.top,r.right,r.bottom);
  ChkLB_FoldFlags.canvas.TextOut(rect.left+2,rect.top+1,ChkLB_FoldFlags.items[index]);
end;
Gruß Frank

OldGrumpy 5. Jul 2008 17:14

Re: TChecklistbox : einzelne Zeilen ohne Checkbox?
 
Der Fred-ersteller ;) hat ja leider keine Delphiversion angegeben, ich kann da nur für mich bzw. meine Version sprechen *g*


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz