Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: 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?
:roll:
Vielen Dank schon mal,
Detlef Annies
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 07.02.08 18:24 
Hi,

ich habe es jetzt so gelöst:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 07.02.08 18:35 
user profile iconD. Annies hat folgendes geschrieben:
Ok?

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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 08.02.08 17:05 
user profile iconD. 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:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: 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