--.--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2005.08.25

繭Tips 第4回 ウインドウリサイズ

前回に引き続き、またしても繭小ネタです。古い日記や窓使いの憂鬱本スレにも書いたネタをちょっと洗練させて再登場です。

窓使いの憂鬱にはWindowResizeToという関数があります。ウインドウのサイズを絶対指定で変更する関数です。しかしなぜか相対指定(今のウインドウサイズより1大きく、など)の関数は用意されていません。そこで、&PostMessageを使って実装してみます。


keyseq $WRleft = &PostMessage(ToMainWindow, 274, 0xf001, 0x3b10178)
keyseq $WRright = &PostMessage(ToMainWindow, 274, 0xf002, 0x3b10178)
keyseq $WRtop = &PostMessage(ToMainWindow, 274, 0xf003, 0x3b10178)
keyseq $WRbottom = &PostMessage(ToMainWindow, 274, 0xf006, 0x3b10178)

key A-num4 = &MouseMove( +9,0 ) &Sync $WRleft left enter
key A-S-num4 = &MouseMove( -9,0 ) &Sync $WRleft right enter
key A-num6 = &MouseMove( -9,0 ) &Sync $WRright right enter
key A-S-num6 = &MouseMove( +9,0 ) &Sync $WRright left enter
key A-num8 = &MouseMove( 0,+9 ) &Sync $WRtop up enter
key A-S-num8 = &MouseMove( 0,-9 ) &Sync $WRtop down enter
key A-num2 = &MouseMove( 0,-9 ) &Sync $WRbottom down enter
key A-S-num2 = &MouseMove( 0,+9 ) &Sync $WRbottom up enter

key A-C-num4 = &MouseMove( +1,0 ) &Sync $WRleft C-left enter
key A-C-S-num4 = &MouseMove( -1,0 ) &Sync $WRleft C-right enter
key A-C-num6 = &MouseMove( -1,0 ) &Sync $WRright C-right enter
key A-C-S-num6 = &MouseMove( +1,0 ) &Sync $WRright C-left enter
key A-C-num8 = &MouseMove( 0,+1 ) &Sync $WRtop C-up enter
key A-C-S-num8 = &MouseMove( 0,-1 ) &Sync $WRtop C-down enter
key A-C-num2 = &MouseMove( 0,-1 ) &Sync $WRbottom C-down enter
key A-C-S-num2 = &MouseMove( 0,+1 ) &Sync $WRbottom C-up enter

ウインドウズの標準的な操作の
Alt Space S
で、ウインドウサイズの変更自体は出来ます。これをそのまま定義しても良いのですが、そうすると一回一回メニューが開くことになり、画面がちらちらすること、それから環境と状況次第ではAlt Space でメニューが開かないアプリがあること、そのために、&PostMessageを使っています。&PostMessageで何を送っているのか詳しいことは分かりませんけど(汗。

&MouseMoveを入れないとマウスカーソルがウインドウリサイズと同時に動いてしまいます。そのため、マウスカーソルを逆方向に動かして相殺させています。
また、連続してリサイズしたとき、改行が入ってしまうことがあるので、&Syncを入れています。


話は変わりますが、窓使いの憂鬱本スレで、横スクロールについて質問しています。もし分かる方がいたら教えてください。
スポンサーサイト

この記事へのトラックバックURL
http://jisx6004.blog8.fc2.com/tb.php/42-1a47126b
この記事へのトラックバック
この記事へのコメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。