Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   image verschwindet bei eingabe bzw. klick? (https://www.delphipraxis.net/160786-image-verschwindet-bei-eingabe-bzw-klick.html)

CR3ATiV3 31. Mai 2011 18:02

image verschwindet bei eingabe bzw. klick?
 
hallo, ich möchte ein image verwschwinden lassen wenn in meinem edit feld etwas angezeigt wird, dass durch einen klick auf einen radiobutton geschieht ...
mit was für einen quelltext mach ich das?
wäre schön wenn man mir helfen könnte :(

Delphi-Quellcode:
unit Unit3;

{$mode objfpc}{$H+}

interface

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

type

  { TForm3 }

  TForm3 = class(TForm)
    AbbrechenBitBtn1: TBitBtn;
    AbbrechenBitBtn2: TBitBtn;
    AbbrechenBitBtn3: TBitBtn;
    AbbrechenBitBtn4: TBitBtn;
    AbbrechenBitBtn5: TBitBtn;
    ALabel2: TLabel;
    ALabel3: TLabel;
    ALabel4: TLabel;
    ALabel5: TLabel;
    AntwortARadioButton2: TRadioButton;
    AntwortARadioButton3: TRadioButton;
    AntwortARadioButton4: TRadioButton;
    AntwortARadioButton5: TRadioButton;
    AntwortBRadioButton3: TRadioButton;
    AntwortBRadioButton4: TRadioButton;
    AntwortBRadioButton5: TRadioButton;
    AntwortBRadioButton6: TRadioButton;
    AntwortCRadioButton4: TRadioButton;
    AntwortCRadioButton5: TRadioButton;
    AntwortCRadioButton6: TRadioButton;
    AntwortCRadioButton7: TRadioButton;
    AntwortDRadioButton5: TRadioButton;
    AntwortDRadioButton6: TRadioButton;
    AntwortDRadioButton7: TRadioButton;
    AntwortDRadioButton8: TRadioButton;
    BLabel3: TLabel;
    BLabel4: TLabel;
    BLabel5: TLabel;
    BLabel6: TLabel;
    CLabel4: TLabel;
    CLabel5: TLabel;
    CLabel6: TLabel;
    CLabel7: TLabel;
    DLabel5: TLabel;
    DLabel6: TLabel;
    DLabel7: TLabel;
    DLabel8: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    FrageaLabel2: TLabel;
    FrageaLabel3: TLabel;
    FrageaLabel4: TLabel;
    FrageaLabel5: TLabel;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Image17: TImage;
    Image18: TImage;
    Image19: TImage;
    Image20: TImage;
    Image21: TImage;
    Image22: TImage;
    Image23: TImage;
    Image24: TImage;
    Image25: TImage;
    Image26: TImage;
    Image27: TImage;
    ImageList1: TImageList;
    weiterBitBtn2: TBitBtn;
    Edit1: TEdit;
    FrageaLabel1: TLabel;
    GroupBox1: TGroupBox;
    ALabel1: TLabel;
    BLabel2: TLabel;
    CLabel3: TLabel;
    DLabel4: TLabel;
    Quiz: TPageControl;
    Level1: TTabSheet;
    Level2: TTabSheet;
    Level3: TTabSheet;
    Level4: TTabSheet;
    Level5: TTabSheet;
    AntwortARadioButton1: TRadioButton;
    AntwortBRadioButton2: TRadioButton;
    AntwortCRadioButton3: TRadioButton;
    AntwortDRadioButton4: TRadioButton;
    weiterBitBtn3: TBitBtn;
    weiterBitBtn4: TBitBtn;
    weiterBitBtn5: TBitBtn;
    weiterBitBtn6: TBitBtn;
    procedure AbbrechenBitBtn1Click(Sender: TObject);
    procedure AntwortARadioButton1Change(Sender: TObject);
    procedure AntwortBRadioButton2Change(Sender: TObject);
    procedure AntwortCRadioButton3Change(Sender: TObject);
    procedure AntwortDRadioButton4Change(Sender: TObject);
    procedure weiterBitBtn2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.lfm}

{ TForm3 }


{ TForm3 }

procedure TForm3.AntwortARadioButton1Change(Sender: TObject);
begin
    Edit1.Caption:= 'Richtig! :)';
    Edit1.Font.Color:= clgreen;
end;

procedure TForm3.AbbrechenBitBtn1Click(Sender: TObject);
begin
  close;
end;

procedure TForm3.AntwortBRadioButton2Change(Sender: TObject);
begin
   Edit1.Caption:= 'Leider falsch! :(';
   Edit1.Font.Color:= clred;
end;

procedure TForm3.AntwortCRadioButton3Change(Sender: TObject);
begin
  Edit1.Caption:= 'Versuche es nochmal!';
  Edit1.Font.Color:= clred;
end;

procedure TForm3.AntwortDRadioButton4Change(Sender: TObject);
begin
  Edit1.Caption:= 'Falsch!';
  Edit1.Font.Color:= clred;
end;

procedure TForm3.weiterBitBtn2Click(Sender: TObject);
begin
  Edit1.Caption:= 'Super! Du bist hast das Level gschafft! :)';
  Edit1.Font.Color:= clblack;
  Level2.show;
end;

end.

shmia 31. Mai 2011 18:06

AW: image verschwindet bei eingabe bzw. klick?
 
Jedes Control (also jede sichtbare Komponente) hat ein Property Visible mit dem man es sichtbar und unsichtbar schalten kann:
Delphi-Quellcode:
// Bild unsichtbar
Image1.Visible := False;

CR3ATiV3 31. Mai 2011 18:14

AW: image verschwindet bei eingabe bzw. klick?
 
Dankeschön :D
und wie lasse ich die verschwinden, dass nicht beim einen Button alle verschwinden sondern nur nacheinander?!

Sir Rufo 31. Mai 2011 18:25

AW: image verschwindet bei eingabe bzw. klick?
 
Du hast in deinem Haus 10 Lampen und für jede Lampe einen Lichtschalter (also auch 10 Lichtschalter).
Alle Lampen sind eingeschaltet.

Wie erreichst du es, dass nur eine Lampe ausgeschaltet wird?
Eben, drücke nur auf einen Schalter.

Genau so funktioniert das auch hier.

CR3ATiV3 31. Mai 2011 18:30

AW: image verschwindet bei eingabe bzw. klick?
 
ihr wollt echt das ich hier nachdenke was ;) (und sachaufgaben sind eh nicht so mein ding -.-)

aber ich habe es schon allein hinbekommen gerade .

Delphi-Quellcode:
unit Unit3;

{$mode objfpc}{$H+}

interface

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

type

  { TForm3 }

  TForm3 = class(TForm)
    AbbrechenBitBtn1: TBitBtn;
    AbbrechenBitBtn2: TBitBtn;
    AbbrechenBitBtn3: TBitBtn;
    AbbrechenBitBtn4: TBitBtn;
    AbbrechenBitBtn5: TBitBtn;
    ALabel2: TLabel;
    ALabel3: TLabel;
    ALabel4: TLabel;
    ALabel5: TLabel;
    AntwortARadioButton2: TRadioButton;
    AntwortARadioButton3: TRadioButton;
    AntwortARadioButton4: TRadioButton;
    AntwortARadioButton5: TRadioButton;
    AntwortBRadioButton3: TRadioButton;
    AntwortBRadioButton4: TRadioButton;
    AntwortBRadioButton5: TRadioButton;
    AntwortBRadioButton6: TRadioButton;
    AntwortCRadioButton4: TRadioButton;
    AntwortCRadioButton5: TRadioButton;
    AntwortCRadioButton6: TRadioButton;
    AntwortCRadioButton7: TRadioButton;
    AntwortDRadioButton5: TRadioButton;
    AntwortDRadioButton6: TRadioButton;
    AntwortDRadioButton7: TRadioButton;
    AntwortDRadioButton8: TRadioButton;
    BLabel3: TLabel;
    BLabel4: TLabel;
    BLabel5: TLabel;
    BLabel6: TLabel;
    CLabel4: TLabel;
    CLabel5: TLabel;
    CLabel6: TLabel;
    CLabel7: TLabel;
    DLabel5: TLabel;
    DLabel6: TLabel;
    DLabel7: TLabel;
    DLabel8: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    FrageaLabel2: TLabel;
    FrageaLabel3: TLabel;
    FrageaLabel4: TLabel;
    FrageaLabel5: TLabel;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Image17: TImage;
    Image18: TImage;
    Image19: TImage;
    Image20: TImage;
    Image21: TImage;
    Image22: TImage;
    Image23: TImage;
    Image24: TImage;
    Image25: TImage;
    Image26: TImage;
    Image27: TImage;
    ImageList1: TImageList;
    weiterBitBtn2: TBitBtn;
    Edit1: TEdit;
    FrageaLabel1: TLabel;
    GroupBox1: TGroupBox;
    ALabel1: TLabel;
    BLabel2: TLabel;
    CLabel3: TLabel;
    DLabel4: TLabel;
    Quiz: TPageControl;
    Level1: TTabSheet;
    Level2: TTabSheet;
    Level3: TTabSheet;
    Level4: TTabSheet;
    Level5: TTabSheet;
    AntwortARadioButton1: TRadioButton;
    AntwortBRadioButton2: TRadioButton;
    AntwortCRadioButton3: TRadioButton;
    AntwortDRadioButton4: TRadioButton;
    weiterBitBtn3: TBitBtn;
    weiterBitBtn4: TBitBtn;
    weiterBitBtn5: TBitBtn;
    weiterBitBtn6: TBitBtn;
    procedure AbbrechenBitBtn1Click(Sender: TObject);
    procedure AntwortARadioButton1Change(Sender: TObject);
    procedure AntwortBRadioButton2Change(Sender: TObject);
    procedure AntwortBRadioButton2Click(Sender: TObject);
    procedure AntwortBRadioButton3Click(Sender: TObject);
    procedure AntwortCRadioButton3Change(Sender: TObject);
    procedure AntwortCRadioButton2Click(Sender: TObject);
    procedure AntwortCRadioButton3Click(Sender: TObject);
    procedure AntwortDRadioButton4Change(Sender: TObject);
    procedure AntwortDRadioButton2Click(Sender: TObject);
    procedure AntwortDRadioButton3Click(Sender: TObject);
    procedure weiterBitBtn2Click(Sender: TObject);
    procedure weiterBitBtn3Click(Sender: TObject);
    procedure weiterBitBtn4Click(Sender: TObject);
    procedure weiterBitBtn5Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.lfm}

{ TForm3 }


{ TForm3 }

procedure TForm3.AntwortARadioButton1Change(Sender: TObject);
begin
    Edit1.Caption:= 'Richtig! :)';
    Edit1.Font.Color:= clgreen;
end;

procedure TForm3.AbbrechenBitBtn1Click(Sender: TObject);
begin
  close;
end;

procedure TForm3.AntwortBRadioButton2Change(Sender: TObject);
begin
   Edit1.Caption:= 'Leider falsch! :(';
   Edit1.Font.Color:= clred;
   Image15.Visible := False;
end;

procedure TForm3.AntwortBRadioButton2Click(Sender: TObject);
begin
   Image14.Visible:= False;
end;

procedure TForm3.AntwortBRadioButton3Click(Sender: TObject);
begin
   Image13.Visible:= False;
end;

procedure TForm3.AntwortCRadioButton3Change(Sender: TObject);
begin
  Edit1.Caption:= 'Versuche es nochmal!';
  Edit1.Font.Color:= clred;
  Image15.Visible:= False;
end;

procedure TForm3.AntwortCRadioButton2Click(Sender: TObject);
begin
  Image14.Visible:= False;
end;

procedure TForm3.AntwortCRadioButton3Click(Sender: TObject);
begin
   Image13.Visible:= False;
end;
procedure TForm3.AntwortDRadioButton4Change(Sender: TObject);
begin
  Edit1.Caption:= 'Falsch!';
  Edit1.Font.Color:= clred;
  Image15.Visible:= False;
end;

procedure TForm3.AntwortDRadioButton2Click(Sender: TObject);
begin
  Image14.Visible:= False;
end;

procedure TForm3.AntwortDRadioButton3Click(Sender: TObject);
begin
   Image13.Visible:= False;
end;

procedure TForm3.weiterBitBtn2Click(Sender: TObject);
begin
  Edit1.Caption:= 'Super! Du bist hast das Level gschafft! :)';
  Edit1.Font.Color:= clblack;
  Level2.show;
end;

procedure TForm3.weiterBitBtn3Click(Sender: TObject);
begin
  Level3.show;
end;

procedure TForm3.weiterBitBtn4Click(Sender: TObject);
begin
  Level4.show;
end;

procedure TForm3.weiterBitBtn5Click(Sender: TObject);
begin
  Level5.show;
end;

end.
ist das so richtig?

himitsu 31. Mai 2011 18:31

AW: image verschwindet bei eingabe bzw. klick?
 
Indem du nur bei diesen das Visible änderst, welche ausgeblendet werden sollen und nicht bei Allen?
Bzw. wir wissen nicht was du machst, also können wir schlecht helfen, da die :glaskugel: manchmal versagt.

[edit] zu langsam geschrieben

PS: Visible, Show und Hide machen in etwa das Gleiche.
PSS: Du hattest doch schon TabSheets verschwinden lassen ... darüber sollte man doch auch mal auf die Idee kommen, wie man etwas Anderes ebenfalls verschwinden lassen kann. :stupid:

Sir Rufo 31. Mai 2011 23:46

AW: image verschwindet bei eingabe bzw. klick?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nur mal so als Anreiz um

a) Anzeige und Logik zu trennen
b) ein wenig mehr OOP zu benutzen
c) nicht alles in ein Formular zu quetschen
d) nicht alles mehrfach schreiben zu müssen (DRY)

mal ein Mini-Beispiel-Quiz-Anwendung mit Source und Exe.

Ist so nicht unter Lazarus lauffähig (die schönen Generics von Delphi werden benutzt), aber das Konzept sollte klar werden.

Einen Screenshot spare ich mir, denn einen Schönheitspreis gewinnt man damit nicht :stupid:

BUG 1. Jun 2011 00:16

AW: image verschwindet bei eingabe bzw. klick?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1104028)
Ist so nicht unter Lazarus lauffähig (die schönen Generics von Delphi werden benutzt), aber das Konzept sollte klar werden.

Als ob es keine Generics in Lazarus gebe :stupid:

sx2008 1. Jun 2011 00:47

AW: image verschwindet bei eingabe bzw. klick?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1104028)
Nur mal so als Anreiz um
a) Anzeige und Logik zu trennen
b) ein wenig mehr OOP zu benutzen

Das ist wahrscheinlich aufgrund des Wissensstands des TE schon zu viel verlangt.
Es wäre schon ein Erfolg, wenn wenigstens eine private Methode benützt würde:
Delphi-Quellcode:
....
  private
    { private declarations }
    procdure ZeigeErgebnis(Text:string; farbe:TColor);
....
  end;
....

procdure TForm3.ZeigeErgebnis(Text:string; farbe:TColor);
begin
   Edit1.Caption:= Text;
   Edit1.Font.Color:= farbe;
end;

Sir Rufo 1. Jun 2011 00:54

AW: image verschwindet bei eingabe bzw. klick?
 
Das ist mir schon bewusst, darum ja auch als Anreiz zu sehen.

Vor allem weil man schön sehen kann, dass der Quellcode wesentlich schlanker und dadurch übersichtlicher wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

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