喫茶XRAYトップページ

[スレッド全体
]

[784] Re:自前のFormに縦書きしたい返信 削除
2006/4/29 (土) 19:46:23 Mr.XRAY
▼ takiさん

失礼しました。TplPrevのマニュアルのサンプルを参考にしたと思います。

> されます。ボタンを押すと何かクシャクシャの表示に
> なってしまいます。

このクシャクシャになるのはわかりませんが。

私の場合、他のFormをShowModalで表示する時は、リソース節約のため、
[プロジェクト][オプション]で、表示するFormを[選択可能なフォーム]
にして、非表示する度に生成して利用しています。
以下のような具合です。

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Form2=nil then Form2:=TForm2.Create(Self);
  try
    plPrev1.ProcName := Kakikomi;
    plPrev1.PageCount := 1;
    plPrev1.FormName := 'Form2';
    plPrev1.ShowModal;
  finally
    FreeAndNil(Form2);
  end;
end;

もし、takiさんの様に、自動生成でない場合(アプリ起動時同時にForm2も
生成してしまう場合)は、以下の様に、Form2を表示して下さい。
Form2を表示したらプレビューするコードを実行します。
個人的には、特別の理由がない限り、上のコードをお勧めします。
というのは、必要な時に生成して、必要がなくなったら破棄して利用する
と、Form2の存在が確実に把握できるからです。

procedure TForm1.Button1Click(Sender: TObject);
begin
    plPrev1.ProcName := Kakikomi;
    plPrev1.PageCount := 1;
    plPrev1.FormName := 'Form2';
    Form2.ShowModal;
  end;
end;

[786] Re2:自前のFormに縦書きしたい返信 削除
2006/4/30 (日) 00:13:32 Mr.XRAY
▼ takiさん

前のレスの現象は、TplPrevの仕様です。

plPrev1.FormName:='XXX';
で指定したフォームを監視して、自動的に(再度ShowModalした時に)検出
して操作するように修正することも可能ですが、あえてしていません。
これは、プレビューフォームに対する操作に柔軟性を持たすためと考えて
下さい。
この現象に関しての、修正予定は、全くありません。(^_^;)
必要であれば、ご自分で修正して下さい。
FormNameプロパティで指定するフォームを(nilでなければ)一度破棄して
生成するようにします。ただし、汎用的にするには、多少工夫が必要とな
るでしょう。


[788] Re3:自前のFormに縦書きしたい返信 削除
2006/4/30 (日) 15:33:24 taki
▼ Mr.XRAYさん

マスター ありがとうございます。

Form2にEditを配置して、Form1.Edit1.Text := Form2.Edit1.Text;
としておいて、Form2のボタンを押して再表示させたら、縦書きで文字が
出ました。

くしゃくしゃになっていたのは、フォントを適切に設定したら直りました。
それと、用紙の端の数mmは印刷できない領域なのですね。
ワードなどで分かっていたはずなのに、気づくのに時間がかかりました。

それと、表示する時にFormを生成して、非表示では破棄する方法のソースを
そのまま使わせていただきます。
勉強になりました。m(__)m

[794] Re4:自前のFormに縦書きしたい返信 削除
2006/5/23 (火) 23:25:01 taki
▼ Mr.XRAYさん

失礼しました。削除します。

[800] Re5:自前のFormに縦書きしたい返信 削除
2006/5/27 (土) 22:58:30 Mr.XRAY
▼ takiさん こんにちは。

> 失礼しました。削除します。
あれっ、ゴメンなさい。確かに発言は読んだのですが、レスしようと
している間に...

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82