アウトプット枠の描画停止No.08312
山紫水明 さん 14/06/16 20:44
 
秀丸担当さん,

 マクロでアウトプット枠に出力するとき,disabledraw のように描画を止める
ことは難しいでしょうか。
 出力する分量が多いときは結構時間がかかりますので。

              山紫水明

[ ]
RE:08312 アウトプット枠の描画停止No.08313
秀丸担当 さん 14/06/17 09:41
 

アウトプット枠の描画を抑制する関数というのは用意されていないです。
幾つかまとめて出力する場合は、文字列を1つにつなげて出力するとある程度は
描画を抑えられると思います。

Windowsの基本的なメッセージの1つにWM_SETREDRAWというものがあるのですが、
GetWindowHandleでウィンドウハンドルを取得したものに対してできないか試し
てみたところ、一応できました。
こういう方法ではどうでしょうか。

loaddll "HmOutputPane.dll";
#h=dllfunc("GetWindowHandle",hidemaruhandle(0));
#ret=sendmessage(#h,0x000B/*WM_SETREDRAW*/,0,0);
//(ここで"Output"の連続など)
#ret=sendmessage(#h,0x000B/*WM_SETREDRAW*/,1,0);
#ret=dllfunc("Output",hidemaruhandle(0),"");

[ ]
RE:08313 アウトプット枠の描画停止No.08314
山紫水明 さん 14/06/17 19:56
 
 秀丸担当さん,

>こういう方法ではどうでしょうか。

 これでいけそうです。ありがとうございました。

                          山紫水明

[ ]