Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Fontfarbe ändern in dem ich daraufklicke?! (https://www.delphipraxis.net/160675-fontfarbe-aendern-dem-ich-daraufklicke.html)

CR3ATiV3 25. Mai 2011 18:28

Fontfarbe ändern in dem ich daraufklicke?!
 
Hallo ich wieder ^^,
ich bin dabei ein Quiz zu programmieren (damit ihr das mal wisst was ich eigentlich mache ^^) und nun möchte ich die Farbe der Schrift bei einem RadioButton ändern in dem ich raufklicke ... aber ich weiß nicht wie! :( (wie gesagt ich bin blutige Anfängerin)

himitsu 25. Mai 2011 18:36

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Wie ändert man die Farbe?
{Control}.Font.Color

Wie reagiert man auf einen Klick?
OnClick

Und nun mußt du das nur noch verbinden :zwinker:



PS: die Schriftfarbe bei einem RadioButton zu änder ist etwas "schwer", da der in den neuen Styles von XP/Vista/7 dieses nicht mehr vorgesehn ist.
Du kannst dir aber auch einfach ein TLabel daneben legen und dem RadioButton keine Caption zuweisen.

CR3ATiV3 25. Mai 2011 18:46

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
aha , okay ... aber wie mach ich das diese beiden dinge verbinden bzw. das was du mit einem laben vorgeschlagen hast ?! :?::cry:

DeddyH 26. Mai 2011 07:08

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
RadioButton.OnClick -> Label.Font.Color := irgendwas

Ist doch nicht so schwer, oder?

CR3ATiV3 26. Mai 2011 16:03

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
doch für mich schon, da ich noch nicht so viel erfahrung mit lazarus habe ... :(
aber trotzdem dankeschön :-D

CR3ATiV3 26. Mai 2011 16:16

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
@DeedyH: ich habe es ausprobiert reinzuschreiben ,aber irgendwie klappt es nicht wie es sollte ...

Code:
unit Unit3;

{$mode objfpc}{$H+}

interface

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

type

  { TForm3 }

  TForm3 = class(TForm)
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
    procedure RadioButton1Change(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form3: TForm3;

implementation



{$R *.lfm}

{ TForm3 }

procedure TForm3.RadioButton1Change(Sender: TObject);
begin
  Label1.Font.Color := green
end;


 procedure TForm3.BitBtn1Click(Sender: TObject);
 begin

 end;
end.

twityzuz 26. Mai 2011 16:19

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Das sieht schon gut aus aber du musst schreiben:

Delphi-Quellcode:
Label1.Font.Color:=clgreen
Bei Farben musst du immer das 'cl' (für color) am Anfang hinschreiben ;)

DeddyH 26. Mai 2011 16:31

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Richtig, man muss schon die Konstanten nehmen, die definiert sind (oder eben eigene definieren).

CR3ATiV3 26. Mai 2011 16:57

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Okay, jetzt funktionierts ;) ...
aber ich habe noch etwas was ich gerne machen möchte und zwar, wenn ich den nächsten Button klicke, dass der Text 'richtig bzw falsch' wieder verschwindet ... oder das der text ohne irgendwo raufklicken wieder veschwindet ..
habt ihr da eine Idee wie ich das mache?

DeddyH 26. Mai 2011 17:16

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Welcher Text ist das denn?

CR3ATiV3 26. Mai 2011 17:21

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
na, nach solch ein quelltext nach...
Code:
procedure TForm3.RadioButton1Change(Sender: TObject);
begin
   Label2.Caption:= 'Richtig';
   Label2.Font.Color:= clgreen;
end;
... wird doch der Text richtig neben den RadioButton angezeigt , den möchte ich aber dann wieder weg haben wenn ich den nächsten Radiobutton klicke ...

himitsu 26. Mai 2011 17:23

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Zitat:

aber irgendwie klappt es nicht wie es sollte
Ordentliche Fehlerbeschreibungen können auch nie schaden. :wink:

Zitat:

... wird doch der Text richtig neben den RadioButton angezeigt , den möchte ich aber dann wieder weg haben wenn ich den nächsten Radiobutton klicke ...
da könnte man dann in den Ereignissen der anderen RadioButtons einfach die Standardfarbe und den entsprechenden Text setzen.

CR3ATiV3 26. Mai 2011 17:38

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
hä? wie jetzt??
ich habe das jetzt so gemacht
Code:
procedure TForm3.RadioButton1Change(Sender: TObject);
begin
   Label2.Caption:= 'Richtig';
   Label2.Font.Color:= clgreen;
   Label2.Font.Color:= cldefault;
end;
aber da erscheint der text wieder in schwarz ... :?::?::?::?:

Sir Rufo 26. Mai 2011 17:39

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Male das Haus grün an
Male das Haus schwarz an

Welche Farbe hat jetzt das Haus?

DeddyH 26. Mai 2011 17:54

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
:lol: Mit Haus hatte ich neulich auch ein Beispiel.

CR3ATiV3 26. Mai 2011 17:55

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Schwarz O.o

haha, das ist für mich hier alles kein spass... mein lehrer hat mir das aufgegeben, das zu machen, d.h. ich bekomme eine Zensur darauf!!! Ich mach das hier nicht aus Langweile ...
Und sorry, dass ich hier immer so viel frage ... denkt bestimmt, man ist sie doof oder sonstiges .... -.- aber ich bin nun mal anfängerin und gerade mal seit ca 2 monaten im informatikkurs ... und da kann man eben noch nicht alles wissen ...

also bitte veräppelt mich hier nicht ... sondern antwortet wenn ihr könnt ordentlich ... denn ich bin auf die hilfe angeweisen!
Danke!

DeddyH 26. Mai 2011 17:58

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Was meinst Du, wie lange das dauert, die Farbe erst auf Grün und direkt danach wieder auf Schwarz zu setzen? Das hat mit Anfänger nichts zu tun, sondern mit Logik.

Sir Rufo 26. Mai 2011 17:59

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Zitat:

Zitat von CR3ATiV3 (Beitrag 1103129)
also bitte veräppelt mich hier nicht ...

ich wollte dich nicht "veräppeln", sondern dass du selber erkennst, warum das nicht funktionieren kann ;)
(es erspart viele Fragen und Tipparbeit, wenn man schon beim Überlegen weiß, was definitiv nicht funktionieren kann)

Was man noch wissen sollte:

Wird eine
Delphi-Quellcode:
procedure
aufgerufen und dort etwas an der Anzeige geändert, so erscheint dieses nicht im selben Moment, sondern erst dann, wenn alle Verarbeitungsschritte abgearbeitet wurden und die Anwendung zurück in den Idle-Status kehrt. Dann erst wird die Form neu gezeichnet.

Eine Aktualisierung kann erzwungen werden mit
Delphi-Quellcode:
Repaint
bzw. man kann die Anwendung anweisen, alle anstehende Nachrichten abzuarbeiten
Delphi-Quellcode:
Application.ProcessMessages
Es werden aber alle anstehenden Nachrichten verarbeitet und somit kann es dabei zu ungewollten Seiteneffekten kommen.

CR3ATiV3 26. Mai 2011 18:03

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
ja das logische denken fehlt mir ^^ ...

das es jetzt nicht geht, hab ich ja verstanden, aber wie mache ich das denn jetzt nun , dass der text wieder verschwindet wenn ich einen anderen radiobutton klicke ...

DeddyH 26. Mai 2011 18:05

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Du könntest das OnExit-Ereignis des Radiobuttons nutzen.

himitsu 26. Mai 2011 18:08

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Zitat:

Zitat von CR3ATiV3 (Beitrag 1103132)
dass der text wieder verschwindet wenn ich einen anderen radiobutton klicke ...

In einem RadioButton setzt du es auf grün
und in dem Anderen auf schwarz.

Und mit veräppeln hat das nichts zu tun.
Wir geben dir gerne ein paar Tipps und Hinweise, aber deine Hausaufgabe mußt du schon selber lösen.
Sonst müßten wir ja die Note bekommen, wenn wir es für dich lösen würden ;)

CR3ATiV3 26. Mai 2011 18:15

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
dazu muss ich was machen? ich habe einfach bei onexit den button z.b radiobutton1 eingegeben ... ist das richtig? aber dann passiert nichts.

bitte tut mir den gefallen, und schickt mir einen quelltext dazu, denn ich habe keine ahnung (in den meisten fällen) wie ich den schreiben soll ... sorry das ich soviel verlange, aber sonst komm ich nicht weiter und kann es nie lernen ... :(

Sir Rufo 26. Mai 2011 18:20

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Zitat:

Zitat von CR3ATiV3 (Beitrag 1103135)
dazu muss ich was machen? ich habe einfach bei onexit den button z.b radiobutton1 eingegeben ... ist das richtig? aber dann passiert nichts.

bitte tut mir den gefallen, und schickt mir einen quelltext dazu, denn ich habe keine ahnung (in den meisten fällen) wie ich den schreiben soll ... sorry das ich soviel verlange, aber sonst komm ich nicht weiter und kann es nie lernen ... :(

hmmm ... ob du es so lernst?

Schieb mal das Projekt als Anhang hoch, dann können wir mal schauen, ob wir das beispielhaft da reinpacken können ;)

DeddyH 26. Mai 2011 18:23

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Du willst doch etwas erreichen, wenn Dein RadioButton nicht mehr den Fokus hat, oder nicht? Siehste, das schreibst Du dann in die Routine zu OnExit dieses RadioButtons.
Delphi-Quellcode:
procedure TDingsForm.DeinRadioButtonExit(Sender: TObject);
begin
  DeinRadioButton.Caption := 'Und Tschüss';
end;

hans ditter 26. Mai 2011 18:30

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
ich versuch's schonmal ohne Quelltext :wink:

Also, im OnExit-Event des Radiobuttons schreibst du wieder rein, dass dein Text in dem Label daneben wieder schwarz wird oder ganz verschwindet.

Wenn der RadioButton1 geklickt wird, dann wird sein OnClick ausgelöst --> ein Text erscheint im Label, der grün oder rot dargestellt wird
Wenn du dann z.B. den RadioButton2 anklickst, dann wird bei deinem ersten RadioButton das OnExit-Event ausgelöst (weil du gewissermaßen den RadioButton1 "verlässt") --> den Text aus der Caption des Labels wieder löschen und Farbe zurück auf Standard setzten...

Und zu
Zitat:

also bitte veräppelt mich hier nicht ... sondern antwortet wenn ihr könnt ordentlich ... denn ich bin auf die hilfe angeweisen!
Hier will dich niemand veräppeln, allerdings neigt der eine oder andere manchmal zu einem ... hm, für dich im ersten Moment vlt nicht netten Antwort. Was die Jungs sich hier allerdings als Ziel gesetzt haben, ist, dass sie ihren Forenmitgliedern das Delphiprogrammieren beibringen wollen - und ihnen das nicht vormachen wollen.
Deshalb wird von dir erwartet, dass du überlegst, was du eigentlich genau machen willst, was jetzt nicht funktioniert hat und woran es möglicherweise sogar liegen könnte. Wenn du mit den Überlegungen an die Delphi-Praxis herantritts, dann wird dir hier immer geholfen! (zumindest hab ich noch nie etwas gegenteiliges erlebt...)

LG; hans ditter

P.S.: Übrigens weiß ich, wovon du (und ich ;) ) reden... als ich hier ankam war ich auch noch blutiger Anfänger! :cyclops:

DeddyH 26. Mai 2011 18:38

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
@Hans: sehr schön ausgedrückt :thumb:

CR3ATiV3 26. Mai 2011 19:24

AW: Fontfarbe ändern in dem ich daraufklicke?!
 
Liste der Anhänge anzeigen (Anzahl: 1)
hm , okay ich probiere mal ob ich das hinbekomme ...

meine bisherige arbeit ist im anhang ...


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