Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Per Befehl Checkbox erstellen (https://www.delphipraxis.net/108660-per-befehl-checkbox-erstellen.html)

STS301 18. Feb 2008 08:54

Re: Per Befehl Checkbox erstellen
 
Danke für die Antworten, und wie füge ich dann eine Checkbox in der Listview hinzu?

bitsetter 18. Feb 2008 10:32

Re: Per Befehl Checkbox erstellen
 
Zitat:

Zitat von bitsetter
Hi,

bei einem TListView kannst du die Eigenschaft CheckBoxes aktivieren...

Kannst du im OI einstellen, außerdem musst du noch die Eigenschaft ViewStyle auf vsReprort setzen und noch einen TListColumn hinzufügen. Gegebenenfalls kannst du noch ShowColumnHeaders deaktivieren.

busybyte 18. Feb 2008 18:30

Re: Per Befehl Checkbox erstellen
 
Delphi-Quellcode:
Listview1.Items[0].Checked:= true;//false;
oder

Delphi-Quellcode:
.
.
.
mycb[L1]:=TCheckbox.create(Form1);
try
 with mycb[L1] do
  begin
  Parent:=Listview1;//Scrollbox1;//Form1;
.
.
.

STS301 18. Feb 2008 19:24

Re: Per Befehl Checkbox erstellen
 
habe es jetzt so gemacht
Delphi-Quellcode:
type
  TForm6 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    ListView1: TListView;
    procedure Label1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    mycb:Array of TCheckbox;
    procedure mycbClick(Sender: TObject);
    { Public-Deklarationen }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

Procedure freeall;
Var L1,cnt1:integer;
begin
L1:=Length(Form6.mycb);
for cnt1 := 0 to L1 - 1 do
freeandnil(Form6.mycb[cnt1]);
end;


procedure TForm6.Label1Click(Sender: TObject);
var
  L1: integer;
begin
  L1:=Length(mycb);
  Setlength(mycb,L1+1);

mycb[L1]:= TCheckbox.Create(Form6);
try
with mycb[L1] do
  begin
    Parent := ListView1;
    Top := 27;
    Left := 16;
    Height := 17;
    Width := 97;
    Caption:= 'Klicken zum Eintragen';
    Name:= 'mybox';
    end;
except freeall
end;
  end;
end.
er zeigt mir aber an:

[DCC Fehler] Aufgabenzettel.pas(15): E2065 Ungenügende Forward- oder External-Deklaration: 'TForm6.mycbClick'

busybyte 18. Feb 2008 20:07

Re: Per Befehl Checkbox erstellen
 
Delphi-Quellcode:
type
  TForm6 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    ListView1: TListView;
    procedure Label1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    mycb:Array of TCheckbox;
    procedure mycbClick(Sender: TObject);
    { Public-Deklarationen }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

Procedure freeall;
Var L1,cnt1:integer;
begin
L1:=Length(Form6.mycb);
for cnt1 := 0 to L1 - 1 do
freeandnil(Form6.mycb[cnt1]);
end;


procedure TForm6.mycbClick(Sender: TObject);
begin
Shomessage('ich wurde angeklickt');
mycb[0].Caption:='ich bin checkbox 0';
end;



procedure TForm6.Label1Click(Sender: TObject);
var
  L1: integer;
begin
  L1:=Length(mycb);
  Setlength(mycb,L1+1);

mycb[L1]:= TCheckbox.Create(Form6);
try
with mycb[L1] do
  begin
    Parent := ListView1;
    Top := 27;
    Left := 16;
    Height := 17;
    Width := 97;
    Caption:= 'Klicken zum Eintragen';
    Name:= 'mybox';
    OnClick:=mycbClick; //<--- 
    end;
except freeall
end;
  end;
end.

end.
der Fehler bedeutet übrigens das eine procedure oder function die im Type oder Class angegeben wurde
weiter unten im Quelltext nicht als procedure oder function (mit begin end;) exisitert.

Die Listview wäre für Deine Zwecke auch geeignet,besitz aber keinen Editmode, (denkbar ist auch ein Stringgrid,das wiederum ohne
es selbst zu zeichnen, keine Checkbox zur Verfügung stellt),es sei denn, der selbstgebastelte Editmode
würde auf ein externes TEdit-Objekt verweisen,welches wiederum nach der Eingabe des Textes, das item.caption,bzw.subitem.text
der Listview ändert.

rawsoul 18. Feb 2008 20:21

Re: Per Befehl Checkbox erstellen
 
Vielleicht solltest du dir, bevor du größere Projekte angehst, die Delphi Grundlagen aneignen.

bitsetter 18. Feb 2008 20:44

Re: Per Befehl Checkbox erstellen
 
Zitat:

Zitat von busybyte
Die Listview wäre für Deine Zwecke auch geeignet,besitz aber keinen Editmode

Wenn du zweimal hintereinander (kein Doppelklick) auf ein Item im TListview klickst, dann erscheint ein Feld.
Ansonsten geht es auch mit Delphi-Referenz durchsuchenEditCaption manuell.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Seite 2 von 2     12   

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