| Autor |
Beitrag |
D. Annies
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 07.02.08 16:51
Hi, Delpher,
wie kann ich die Caption des (Haupt-)Formulars elegant ändern?
Ich hatte an etwas wie OnCaptionClick gedacht, komme da aber nicht weiter.
Wer hat da eine gute Idee?
Vielen Dank schon mal,
Detlef Annies
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Do 07.02.08 16:52
In welchem Fall soll das geschehen? Beim Klick auf die Caption? Und warum, bzw. in was soll die Caption dann geändert werden?
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 07.02.08 16:57
Hi, GTA,
ja, vielleicht beim Klick auf die Caption = IDEAL!
Als Caption verwende ich eine Adresse, die soll dann geändert werden können.
Ok?
Detlef
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 07.02.08 17:08
Der Fensterrahmen (und somit auch der Caption) wird von Windows gezeichnet. Daher kriegst du nicht wirklich mit, wo sich der Caption befindet. Ein OnClick-Ereignis hast du da schon gar nicht.
Aber sag mal: Wozu denn bei einem Klick auf den Caption ändern? Willst du vielleicht, dass er beim Aktivieren vom Fenster geändert wird? Dann schau mal nach Application.OnDeactivate.
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 07.02.08 18:24
Hi,
ich habe es jetzt so gelöst:
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.itelleistendern1Click(Sender: TObject); begin edit3.text := form1.Caption; edit3.Visible := true; end;
procedure TForm1.Edit3DblClick(Sender: TObject); begin form1.Caption := edit3.text; edit3.Visible := false; |
Ok?
Gruß, Detlef
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Do 07.02.08 18:35
Wie sollen wir sagen, ob das Ok ist, wenn du un noch nicht erklärt hast, um was es geht? Gut, wenn du es jetzt geschafft hast, aber mich würde es schon noch interessieren, was das jetzt sollte. Aus dem Code kann ich nicht besonders viel rauslesen...
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Do 07.02.08 18:50
Also um ehrlich zu sein weiß ich auch nicht was die Frage sollte. Ich wollte schon vorschlagen, daß er einfach Caption := 'Text' eingeben soll, bis ich gesehen habe, daß es keine Frage eines Anfängers war. Danach habe ich fast 5 Minuten nachgedacht was hier eigentlich gefragt wird. Ich weiß es immer noch nicht.
Wenn man will, dann kann man durchaus merken ob die Titelleiste geklickt wurde. Dazu benötigt man aber ein wenig API. Einfach auf Message reagieren. In der Prozedur dann über API die Koordinate des Fensters ermitteln. Im nächsten Schritt die Koordinaten des Client ermitteln. Zuletzt prüfen ob Klick über Client, aber noch im Fenster war.
Aber ich weiß immer noch nicht ob er das wissen wollte.
_________________ Popov
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Do 07.02.08 20:08
Hi, yogu und popow,
nun, ich wollte nicht mit Kanonen auf Spatzen schießen, sicher gibt es mächtigere Lösungen. Ich wollte schlicht die Caption des Formulars ändern, so leicht wie möglich, und das geht so, wie oben gecoded.
Dank für euer Interesse,
Detlef
|
|
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Fr 08.02.08 17:05
D. Annies hat folgendes geschrieben: | Hi, yogu und popow,
nun, ich wollte nicht mit Kanonen auf Spatzen schießen, sicher gibt es mächtigere Lösungen. Ich wollte schlicht die Caption des Formulars ändern, so leicht wie möglich, und das geht so, wie oben gecoded.
Dank für euer Interesse,
Detlef |
Klar mich bitte auch, aber wo ist der unterschied zwischen deinem Code und:
Delphi-Quelltext 1: 2: 3: 4:
| procedure EditChange; begin Form1.Caption := Edit1.Text; end; |
oder halt mit nem Button, aber warum so kompliziert ?
Gruß
Tarry
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Fr 08.02.08 19:22
Hi, Tarry et aliter,
nun, ich habe noch einmal nachgedacht - und ihr habt recht.
Ich habe es jetzt so gemacht, und erst das gibt einen Sinn, dass ich die neue Form.Caption auch abspeichern und einlesen kann, sonst ist sie ja flüchtig, und das meintet ihr ja wohl. (Manchmal hat man ja auch mal einen geistigen Hänger ...)
Wenn ich dazu den Code noch angeben soll, bitte mir sagen.
Gruß, Detlef
|
|