別フォームを起動してそこに描画するには?

解決


ビギナー  2002-11-19 00:20:46  No: 2158

Form1にあるボタンを押したら、Form2が起動してそこにグラフィックを描画するようにしたいです。
procedure TForm1.Button1Click(Sender: TObject);
begin
    Form2.ShowModal;
    with Form2.Canvas do
    begin
        TextOut(5, 5, '文字列表示');
    end;
end;
とやってみたのですが、まったく描画されずに困っています。何がどうダメなんでしょうか?お願いします。


WINK  2002-11-19 00:22:42  No: 2159

Form2のOnPaintイベントに描画処理を書くように。


にしの  2002-11-19 01:01:01  No: 2160

ShowModalを、ヘルプで調べてみましょう。
Form2を閉じないと、with以下が実行されません。


ビギナー  2002-11-19 01:40:58  No: 2161

ありがとうございます。しかし、Form1にあるボタンを押すことで、ある計算を行い、その結果をForm2にグラフィックスとして表示したいのです。ですから、できれば、ボタン1を押したイベントの中で処理したいのです。
もしそれができなければ、計算結果の値をForm2に引渡したいのですが、そのやりかたがわかりません。


ビギナー  2002-11-19 01:55:01  No: 2162

あ、
Form2.ShowModal;
ではなく、
Form2.Show;
とすれば良いんですね?


にしの  2002-11-19 01:56:30  No: 2163

Form2.Canvasの使い方がわかっているのだから、同じような方法ですよ。
Form2に、Edit1を貼り付け、そのTextを変更したいのであれば、
Form2.Edit1.Text := 'ほにゃらら';
です。
計算結果をForm2に渡したいのであれば、ShowModalの前に渡しましょう。


ビギナー  2002-11-19 03:02:03  No: 2164

にしの様、WINK様、ありがとうございました。解決できました。非常に助かりました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加