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;
|