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 CheckListbox Name anklicken [erledigt] (https://www.delphipraxis.net/41802-checklistbox-name-anklicken-%5Berledigt%5D.html)

Hansa 8. Mär 2005 20:50


CheckListbox Name anklicken [erledigt]
 
Hi,

wie mache ich das, in einer CheckListBox ohne das Kästchen genau treffen zu müssen, einen Eintrag auszuwählen ? Also durch anklicken der Beschreibung daneben.

Matze 8. Mär 2005 20:55

Re: CheckListbox Name anklicken
 
Evtl so:

Delphi-Quellcode:
CheckListBox1.Checked[CheckListBox1.ItemIndex] := not CheckListBox1.Checked[CheckListBox1.ItemIndex];
Nachtrag: Also im OnClick.

Sharky 8. Mär 2005 20:59

Re: CheckListbox Name anklicken
 
Hai Hansa,

besser ist es das im .OnMouseDown zu machen. Sonnst passiert es nämlich auch wenn man mit den Cursortasten durchblättert ;-)

Delphi-Quellcode:
procedure TForm1.CheckListBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  punkt : TPoint;
  index : Integer;
begin
  punkt.X := x;
  punkt.Y := y;
  index := CheckListBox1.ItemAtPos(punkt,True);
  if (index <> -1) then
  begin
    CheckListBox1.Checked [index] := not (CheckListBox1.Checked [index])
  end;
end;
[Edit]: Fehler prüfung eingebaut

Muetze1 8. Mär 2005 23:39

Re: CheckListbox Name anklicken
 
Moin!

Wobei man sich noch Punkt sparen könnte:
Delphi-Quellcode:
Procedure TForm1.CheckListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
  lIndex : Integer;
Begin
  lIndex := CheckListBox1.ItemAtPos(Point(x, y), True);

  If ( lIndex > -1 ) Then
    CheckListBox1.Checked[lIndex] := Not CheckListBox1.Checked[lIndex]
End;
MfG
Muetze1

Hansa 9. Mär 2005 00:15

Re: CheckListbox Name anklicken
 
Thx,

Sharky's Code hatte schon funktioniert. Habe jetzt den optimierten von Mütze eingebaut. Mit Onclick gings allerdings nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 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