![]() |
Text in Form2 übertragen
Ich habe mal wieder eine Frage!
Und zwar möchte ich anhand der mouseMove-Funktion in Form1 einen Text auf meine Form2 übertragen. Das sieht dann ungefähr so aus:
Delphi-Quellcode:
Delphi gibt den Text aber nicht auf meine Form2 aus.Wenn ich aber das Form2 wegnehme dann schreibt Delphi mir das schon auf meine Form1.
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin Case x of 0..96:form2.Canvas.TextOut(20,20,'test'); Es klappt auch so:
Delphi-Quellcode:
nur ich brauche unbedingt die Canvas-Funktion die mir den Text auf meine Form2 überträgt.
0..96::form2.label17.caption:='test';
Vieleicht weiß einer Rat! |
Re: Text in Form2 übertragen
Ist denn die Form2 auch an dieser Stelle sichtbar? Denn der Text bleibt nicht bestehen, sobald das Fenster neu gezeichnet wird.
|
Re: Text in Form2 übertragen
Hallo,
bei mir funktioniert das so, wie Du es beschrieben hast.
Delphi-Quellcode:
Edit: ok, mit dem Unterschied, dass ich die Form sichtbar habe, also das von Sirius genannte Neuzeichnen bei mir nicht anfällt.
Procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Begin Case x Of 0..96: form2.Canvas.TextOut(20, 20, 'test'); End; End; Procedure TForm1.FormShow(Sender: TObject); Begin Form2.Show; End; |
Re: Text in Form2 übertragen
Super,es klappt!!hatte vorher die Form2 auf Buttonclick aufgerufen aber Dank Form2.Show bleibt sie ja direkt hinter meiner Form1 bestehen und dann klappt es.Hatte mich nur gewundert das wenn man es mit dem Label macht nicht nötig ist.Aber ich bin Froh das es so funktioniert.Vielen Dank euch Beiden!
|
Re: Text in Form2 übertragen
Es klappt zwar ganz gut so,aber es hat sich herausgestellt wenn es eine möglichkeit gibt den Text beizubehalten auch wenn die Form2 neu gezeichnet wird wäre es in meinem Fall die schönere Lösung.
Also wenn das möglich wäre wäre das ganz Großartig! |
Re: Text in Form2 übertragen
Hallo,
definiere doch einfach eine String-Property in Form2 und gib diese in der Paint-Methode von Form2 aus. |
Re: Text in Form2 übertragen
Ich weiß leider nicht was eine String property ist,könntest du vieleicht ein Beispiel nennen?
ist das dann eine besondere eigenschaft von einem String? |
Re: Text in Form2 übertragen
Form2:
Delphi-Quellcode:
Form1:
unit blubb;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm2 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); private { Private-Deklarationen } FMeinText: String; procedure SetMeinText(value: string); public { Public-Deklarationen } property MeinText: string read FMeinText write SetMeinText; end; var Form2: TForm2; implementation {$R *.DFM} procedure TForm2.SetMeinText(value: string); begin FMeinText := value; invalidate; end; procedure TForm2.FormCreate(Sender: TObject); begin FMeinText := ''; end; procedure TForm2.FormPaint(Sender: TObject); begin Canvas.Textout(10,10,FMeinText); end; end.
Delphi-Quellcode:
unit bla;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} uses blubb; procedure TForm1.Button1Click(Sender: TObject); begin Form2.MeinText := Edit1.Text; end; procedure TForm1.Button2Click(Sender: TObject); begin Form2.Show; end; end. |
Re: Text in Form2 übertragen
Das finde ich ja voll super das du dir soviel arbeit gemacht hast.Sehr vielen Dank!Ich denke jetzt sollte ich mein Problem gelöst kriegen.Dankeschön!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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