AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 mal klicken?!

Ein Thema von SnOxXx · begonnen am 12. Jan 2006 · letzter Beitrag vom 12. Jan 2006
Antwort Antwort
SnOxXx

Registriert seit: 11. Jan 2006
12 Beiträge
 
#1

2 mal klicken?!

  Alt 12. Jan 2006, 21:08
Hey!
Hab wieder mal ne Frage!

also: ich hab z.b ein programm, ganz simpel, mit einem button und wenn mann draufklickt ändert sich die farbe des Fensters! Was muss ich schreiben, befehlen, was auch immer, damit wenn ich ein 2es mal draufklicke wieder eine andere farbe kommt???

greeetz schalli
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:13
Du könntest eine boolsche Variable zu Beginn auf true setzen, im OnClick den Wert abfragen und den Wert der Variable dort verändern.

BoolVar := not BoolVar; Hier wäre es dann so, dass immer abwechselnd Farbe 1 und Farbe 2 genommen werden. Natürlich könntest du ein eine Integervariable nehmen, da kannst du mehrere Status, Statusse, Stati (such's dir raus ) abfragen.
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#3

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:14
Hm deine Frage ist für mich nicht eindeutig. Soll das Fenster beim Klicken die Farbe wechseln (z.B. grau-> blau blau-> grau)? Oder soll dem Fenster eine zufällige Farbe zugewiesen werden?

Für den erste Fall schreibst du in die Procedure des Buttons:
Delphi-Quellcode:
if form1.color = clbtnface then
  form1.color := clblue
  else form1.color := clbtnface;
Für den 2. hab ich derzeit keine Lösung im Kopf
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
SnOxXx

Registriert seit: 11. Jan 2006
12 Beiträge
 
#4

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:16
ok ich sag mal danke...wenns nicht klappt melde ich mich nochmal....
  Mit Zitat antworten Zitat
SnOxXx

Registriert seit: 11. Jan 2006
12 Beiträge
 
#5

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:20
ok...war anders gmeind...sozusagen eine 3. farbe möchte ich dazubekommen! also von grau auf z.b blau und von blau auf orange....und das ganze wieder von vorn
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:24
Dann zählst du eine Integervariable hoch.

Beim 1. Klick hat diese den Wert "1", beim 2. "2", beim 3. "3" (manuell höchzählen) und ist der Wert "3", setzt du ihn zurück auf "1".
  Mit Zitat antworten Zitat
SnOxXx

Registriert seit: 11. Jan 2006
12 Beiträge
 
#7

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:25
aha *lol*
und das geht wie???
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:26
am einfachsten geht das so:
Delphi-Quellcode:
var
  ind: byte = 0;

//im onClick:
const
  farben: array[0..2] of TColor = (clBlack, clRed, clBlue);
begin
  self.Color := farben[ind];
  ind:= (ind+ 1) mod length(farben);
end;
dürfte einwandfrei klappen, und das hinzufügen von Farben is dann auch nicht mehr allzuschwer

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 21:27
Etwas anschaulicher, aber länger, wäre diese Möglichkeit:

Delphi-Quellcode:
var
  Color_Flag: Integer = 1;

[...]

procedure TForm1.Button1Click(Sender: TObject);
begin
  case Color_Flag of
    1: Color := clRed;
    2: Color := clYellow;
    3: Color := clGreen;
  end;

  if Color_Flag <> 3 then
    inc(Color_Flag) else
      Color_Flag := 1;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#10

Re: 2 mal klicken?!

  Alt 12. Jan 2006, 22:48
Hallo,

dann schlag ich mal eine weiter Variante vor:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  case Color of
    clBtnFace : Color := clGreen;
    clGreen : Color := clRed;
    clRed : Color := clYellow;
    clYellow : Color := clBtnFace;
  end;
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
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