Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Probleme mit CheckBox(en) (https://www.delphipraxis.net/185817-probleme-mit-checkbox-en.html)

FightingH5N1 8. Jul 2015 21:51

Probleme mit CheckBox(en)
 
Hallo Zusammen.
Ich bin neu hier im Forum und auch in der Delphi- Szene.
Ich habe schon einige Tutorials durchgearbeitet und habe mir nun ein kleines Projekt gesucht,
zu dem Ich euch sicher noch einmal ein paar Fragen stellen werde.


Nun aber zu meinem eigentlichen Problem:

Mein "Programm" besteht derzeit aus einem TTab mit 3 Seiten.
Auf Seite 1 habe ich verschiedene GroupBoxen, die ich mittels Checkboxen auf Seite 3 ein- und
ausblenden kann.

Hierzu habe ich die Groupboxen "Visible = False" gesetzt, sodass Sie zu Beginn unsichtbar sind.

Und mit folgedem Code blende ich Boxen wieder ein:

if CheckBox1.Checked
then GroupBox1.Visible := true
else GroupBox1.Visible := false

Das funktioniert auch recht gut.

Komischerweise aber nur mit den ersten 3 GroupBoxen. Es sind aber 30.
Beim Kompilen gibt es keine Fehler.




Außerdem wollte ich fragen, warum dieser Code nicht bei CheckGroup's funktioniert.
Wenn ich das richtig verstanden habe, funktioniert der Syntax so, dass die erste CheckBox dann
die Nummer "[0]" erhält. Oft hatte ich das Problem, dass die entsprechende Groupbox dann nur
sichtbar wurde, wenn alle angeklickt waren. Die Gruppe wurde dann aber auch nicht mehr unsichtbar beim Entfernen der Hacken.


Ich freue mich auf eure Antworten ;)

Sir Rufo 8. Jul 2015 22:05

AW: Probleme mit CheckBox(en)
 
Ist das eine Anwendung für Schrebergartenbesitzer oder was machen die Hacken da drin?

Oder meintest du evtl. Haken?

BTW
Delphi-Quellcode:
GroupBox1.Visible := CheckBox1.Checked;
.

Und die Angabe der Delphi-Version wird hier auch gerne gesehen ...

BadenPower 8. Jul 2015 22:09

AW: Probleme mit CheckBox(en)
 
Zitat:

Zitat von Sir Rufo (Beitrag 1308133)
Und die Angabe der Delphi-Version wird hier auch gerne gesehen ...

Und ein wenig Quellcode auch...

denn sonst kommt die:

42

Perlsau 8. Jul 2015 22:23

AW: Probleme mit CheckBox(en)
 
... und mir stellt sich gerade die Frage, was denn eigentlich CheckGroup's sind :roll:
Es gibt eine TCheckListBox, dort kannst du wie in jeder anderen ListBox oder Liste Items eintragen, die bei der CheckListBox jedoch zusätzlich über eine Checkbox verfügen. Dort hätte dann das erste Item den Index 0:

Delphi-Quellcode:
MyCheckListBox.Items[0].Checked := True;
würde dann die erste Checkbox mit einem Haken versehen.

Luckie 8. Jul 2015 22:48

AW: Probleme mit CheckBox(en)
 
30 Groupboxen? In Worten dreißig?

EWeiss 8. Jul 2015 22:53

AW: Probleme mit CheckBox(en)
 
Zitat:

Zitat von Luckie (Beitrag 1308146)
30 Groupboxen? In Worten dreißig?

Gut das er dann nicht mit VB6 arbeitet, da gibt es ein Limit von 255 Controls auf 1 Form. :)

gruss

Dejan Vu 9. Jul 2015 07:09

AW: Probleme mit CheckBox(en)
 
Immer wieder erbauend, wie hier mit Anfängerfragen umgegangen wird. :roll:

Perlsau 9. Jul 2015 07:18

AW: Probleme mit CheckBox(en)
 
Ich würde vorschlagen, daß du, da du ja exakt zu verstehen scheinst, was der TE eigentlich will und was bei ihm nicht funktioniert, ihm die Lösung, die du ja offenbar parat hast, nicht weiter vorenthältst. Ich verstehe den TE nämlich nicht wirklich, weder sein Problem noch was er überhaupt möchte oder was es genau bedeutet, daß etwas nicht funktioniert ...

baumina 9. Jul 2015 07:34

AW: Probleme mit CheckBox(en)
 
Trete nicht
auf den kleinen Wurm,
denn auch für dich
gibt es grössere Füße ...



Zitat: possum

stahli 9. Jul 2015 08:28

AW: Probleme mit CheckBox(en)
 
Herzlich willkommen erst mal.
Tja, auf solche Antworten hast Du Dich wohl nicht gefreut... :-(

Das Problem ist, dass die Fragestellung zu unklar ist.
Falls Du noch dabei bist, dann versuche mal, das Problem in kleinere Bereiche zu unterteilen.

Also z.B. mal mit 3 GroupBoxen anfangen statt mit 30.
Das erhöht schon mal die Übersichtlichkeit.

Dann kannst Du hier auch den Quelltext zitieren (einschließen in Delphi-Tags - der Helm oben über dem Editor) oder Dein Projekt zippen und als Anlage dran hängen.

Also wenn Du genauer fragen kannst dann wirst Du auch Antworten erhalten, die Dir weiter helfen.
Das wird schon noch. :thumb:

BadenPower 9. Jul 2015 09:08

AW: Probleme mit CheckBox(en)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe einmal ein LAZARUS-Beispiel mit

6x GroupBox
1x CheckGroup (mit 3 Items)
3x CheckBox

gemacht, welches funktioniert und das macht, was der TE wünscht.

Im Anhang ist eine Exe und alle Projektdateien incl. Source.

Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckGroup1: TCheckGroup;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    GroupBox5: TGroupBox;
    GroupBox6: TGroupBox;
    procedure CheckBox1Change(Sender: TObject);
    procedure CheckBox2Change(Sender: TObject);
    procedure CheckBox3Change(Sender: TObject);
    procedure CheckGroup1ItemClick(Sender: TObject; Index: integer);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  CheckGroup1.Checked[0] := true;
  CheckGroup1.Checked[1] := true;
  CheckGroup1.Checked[2] := true;
end;

procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: Integer);
begin
  case Index of
   0: GroupBox1.Visible := CheckGroup1.Checked[0];
   1: GroupBox2.Visible := CheckGroup1.Checked[1];
   2: GroupBox3.Visible := CheckGroup1.Checked[2];
  end;
end;

procedure TForm1.CheckBox1Change(Sender: TObject);
begin
  GroupBox4.Visible := CheckBox1.Checked;
end;

procedure TForm1.CheckBox2Change(Sender: TObject);
begin
   GroupBox5.Visible := CheckBox2.Checked;
end;

procedure TForm1.CheckBox3Change(Sender: TObject);
begin
  GroupBox6.Visible := CheckBox3.Checked;
end;

end.

FightingH5N1 9. Jul 2015 11:27

AW: Probleme mit CheckBox(en)
 
So viele Antworten in so kurzer Zeit, Danke erstmal. :)

Was nicht funktioniert ist folgende: Ich setze den Haken in den betroffenen Feldern und die GroupBoxen bleiben trotzdem sichtbar. Mehr Funktionen hat das Programm bis jetzt, wie im ersten Post beschrieben, nicht.

Ja, 30. Es wird ein Kassenprogramm zum Ausdrucken von Bons für den Verein. Da brauche ich für jeden Artikel eine Group, in der nachher jeweils ein Image, ein Text zum entsprechenden Artikel, zwei Buttons und ein Edit enthalten ist.
Will ich jetzt also einen Artikel ausblenden, weil es zb. keine Cola mehr gibt, mache ich einfach den Hacken raus, ausserdem kann man sich so seine Artikel auch Gruppieren und von anderen abgrenzen.

Das meinte ich mit CheckGroup :)
Nur passiert wie beschrieben leider gar nichts, mit den normalen Checkboxen schon, nur eben eingeschränkt.


Meine Delphi Version weiss ich leider gerade nicht auswendig, ich versuche es herauszufinden, wenn ich zuhause bin. Ich nutze Lazarus 1.4.


Ich dachte der Quellcodeausschnitt reicht, da es sich eh nur immer wiederholt, natürlich mit zu den CheckBoxen und GroupBoxen passenden Endungen.



@Sir Rufo: Ich probiere das später gleich mal ;)

BTW: Ich meinte natürlich keine Gartengeräte, da wahr ich wohl doch schon etwas Müde ;)
Verzeiht bitte auch das aktuell fehlende Scharf- S, ich schreibe gerade an einem Schweizer Rechner :)

BadenPower 9. Jul 2015 12:09

AW: Probleme mit CheckBox(en)
 
Hast Du Dir mein Beispiel angesehen und mit Deinem Code verglichen?

Wenn es dann immer noch nicht funktioniert, dann packe einmal Dein Projekt und lade es hier hoch.

FightingH5N1 9. Jul 2015 21:38

AW: Probleme mit CheckBox(en)
 
Hallo BadenPower (Solli uf Alemannisch ;))

Ich Danke dir erstmal riesig für deine Arbeit, leider konnte ich dein Programm nur kurz anschauen und ausprobieren, aber ich nehme morgen mein kleines Notebook mit und Teste es konkret.

Habe deinen Post heute Mittag wohl irgendwie übersehen, sorry


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

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