Delphi Programming / Object Pascal
[掲載 2009年05月12日] [更新 2009年05月12日] ワード操作フォームEx |
ワード操作フォームEx 参考コード類
ちらつき防止 |
動作確認等 |
- |
ワードへの文字列挿入や描画,マクロの実行の際にはほとんどの場合,実行中に画面がちらつきます.これを防止するには以下のリストのように画面更新の停止,開始コードを描画コードの前後に入れてみて下さい.あるいは,これらのコードを組み合わせると効果があることがあります.
より新しいバージョンのワードは描画関係の改善があったようです.以下のような処理コードを追加すると,逆にチラツクこともあります. |
//=============================================================================
// ワードはPenleLeftというTPanel上に表示している
// このPanelの更新を停止する方法
//=============================================================================
procedure TplWordFormEx2.Button1Click(Sender: TObject);
begin
LockWindowUpdate(PanelLeft.Handle);
//操作コード
TestDraw;
LockWindowUpdate(0);
end;
//=============================================================================
// ワードのハンドルwdfWordHandleを使用
//=============================================================================
procedure TplWordFormEx2.Button2Click(Sender: TObject);
begin
LockWindowUpdate(wdfWordHandle);
//操作コード
TestDraw;
LockWindowUpdate(0);
end;
//=============================================================================
// ScreenRefreshを使用
// ScreenRefreshは画面を更新してから停止
//=============================================================================
procedure TplWordFormEx2.Button3Click(Sender: TObject);
begin
wdfWordApp.ScreenRefresh;
//操作コード
TestDraw;
wdfWordApp.ScreenUpdating := True;
end;
//=============================================================================
// ScreenUpdating := Falseはただちに画面更新を停止する
//=============================================================================
procedure TplWordFormEx2.Button4Click(Sender: TObject);
begin
wdfWordApp.ScreenUpdating := False;
//操作コード
TestDraw;
wdfWordApp.ScreenUpdating := True;
end;
|