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/)
-   -   Probleme mit CheckBox(en) (https://www.delphipraxis.net/185817-probleme-mit-checkbox-en.html)

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 19:56 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