> ACanvas.Pen.Color := clRed;
> ACanvas.Pen.Width := 50;
> ACanvas.MoveTo(0, 0);
> ACanvas.LineTo(500, 500);
>
> と実行したのですが,うまくいきません.
> と言われても,このコードをどこで実行しているのか,
印刷プレビュー制御コンポーネントを使用された方は,
そんなことは分かるじゃぁないですか ?
印刷コードを書くべきところに書いているでしょう.普通.
と思うかも知れません.
そんなことがあるんです.
以下は,本当にあった質問の例です.
Form2 が印刷プレビューのフォームだと思ってください.
もちろん,最初の質問の時は,コードの提示はありませんでした.
最初のは,
Form2.Image1.Canvas.Pen.Color := clRed;
Form2.Image1.Canvas.Pen.Width := 20;
Form2.Image1.Canvas.MoveTo(0, 0);
Form2.Image1.Canvas.LineTo(200, 200);
『というコードが実行されないようです.
TplPrev で線を引くにはどうしたらいいのでしょうか』
という質問でした.
次のは,
『クエリの結果を印刷するコードを書いたのですが,何も表示されません』
というものでした.
//=============================================================================
// 質問の内容は
// 「線が引かれません.実行されていないようですが」
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Image1.Canvas.Font.Size := 50;
Form2.Image1.Canvas.TextOut(10, 10, '印刷テスト');
Form2.ShowModal;
Form2.Image1.Canvas.Pen.Color := clRed;
Form2.Image1.Canvas.Pen.Width := 20;
Form2.Image1.Canvas.MoveTo(0, 0);
Form2.Image1.Canvas.LineTo(200, 200);
end;
//=============================================================================
// Form2にはQuer1の結果セットを表示するコードがある
//
// 質問の内容は
// 「何も表示されません」
//=============================================================================
procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM TEST.DB');
Query1.Open;
Form2.Show;
Query1.Close;
end;
|