|
以下、マクロになります。(2ファイルあります)
(インストール方法)
prev_hidemaru.mac/next_hidemaru.macをマクロディレクトリへコピーして、それぞれの
マクロにショートカットキーを割り当てて下さい。
(ハングの再現手順)
まず、ファイルマネージャー枠を開きます。
ファイルマネージャー枠にフォーカスを当てた状態でショートカットキーを押して作
業しているとハングしました。
(prev_hidemaru.mac)
/*前の秀丸に移動する
*/
if(getfocus==5){
//アウトプット枠にいるので編集枠に戻る
setfocus(1);
if(splitstate==1){
//分割ウインドウの上側にいるので下側に移動する
nexthidemaru;
}
}else if(getfocus==4){
//ファイルマネージャー枠
loaddll "HmExplorerPane.dll";
#mode=dllfunc("GetMode",hidemaruhandle(0));
#mode=#mode-1;
if(#mode<0){
#mode=6;
}
#ret=dllfunc("SetMode",hidemaruhandle(0),#mode);
freedll;
}else{
if(splitstate==2){
prevhidemaru;
}
}
(next_hidemaru.mac)
/*次の秀丸に移動する
*/
if(getfocus==5){
//アウトプット枠を閉じる
loaddll "HmOutputPane.dll";
#h=dllfunc("GetWindowHandle",hidemaruhandle(0));
#ret=sendmessage(#h,0x111/*WM_COMMAND*/,1001 ,0);//1001 =閉じる
}else if(getfocus==4){
//ファイルマネージャー枠にいる
loaddll "HmExplorerPane.dll";
#mode=dllfunc("GetMode",hidemaruhandle(0));
#mode=#mode+1;
if(6<#mode){
#mode=0;
}
#ret=dllfunc("SetMode",hidemaruhandle(0),#mode);
freedll;
}else{
if(splitstate==0){
//【アウトプット枠】があれば移動する
call OpenOutput;
setfocus 5 ;
}else if(splitstate==1){
//分割ウインドウ上側
nexthidemaru;
}else if(splitstate==2){
//分割ウインドウ下側にるので【アウトプット枠】があれば移動する
call OpenOutput;
setfocus 5 ;
}
}
endmacro;
OpenOutput:
//アウトプット枠を開く
loaddll "HmOutputPane.dll";
#h=dllfunc("GetWindowHandle",hidemaruhandle(0));
#ret=sendmessage(#h,0x111/*WM_COMMAND*/,1103 ,0);
#ret=dllfunc("Push",hidemaruhandle(0));
#ret=dllfunc("Pop",hidemaruhandle(0));
return ;
以上です
|
|