HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0721
下の上くらいの初心者ウィンドウドラッグ中の絵画処理3未解決


下の上くらいの初心者

リンク

2012/7/21(Sat) 10:45:11|NO.47808

repeat〜loop間で絵画処理をしている間、ウィンドウの場所を移動したりしていると、処理が一時停止されてしまいます。
一時停止しないようにするにはどうすればいいでしょうか?



この記事に返信する


cats

リンク

2012/7/21(Sat) 16:37:34|NO.47815




ヂオン

リンク

2012/7/22(Sun) 03:51:25|NO.47817

なんとなく投稿


#include "user32.as" #const wndx 500 #const wndy 200 #const titley 25 // ボタンの色の定義 hsv の hを指定 #const btcl 191 #const txcl btcl+btcl/2 // 終了ボタン位置の定数 #const MARGIN 3 #const cleft wndx-titley+MARGIN #const ctop MARGIN #const cright wndx-MARGIN*2 #const cbottom titley-MARGIN*2 #const fontsize cbottom bgscr 0,wndx,wndy c = 255,120 // ボタンの暗明用の変数 *@ is_InCloseButton = (mousex >= cleft) and (mousey >= ctop) and (mousex < cright) and (mousey < cbottom) is_notmove = (flg_moveing==0) // キー入力処理 stick key,256 if(key&256){ mx = ginfo_mx my = ginfo_my if (is_InCloseButton) { flg_end = is_notmove }else:if(is_notmove and (flg_end==0) and (mousey <= titley)){ flg_moveing = 1 targetx = ginfo_wx1 - mx targety = ginfo_wy1 - my } }else{ if(is_InCloseButton and flg_end):end flg_moveing = 0 flg_end = 0 } if(flg_moveing){ MoveWindow hwnd , targetx+mx,targety+my , wndx,wndy , 1 // width ,,targetx+mx,targety+my だった場合 ポジションが -1 以下の場合に動作しない? } // タイトルバー描画 redraw 0 font msGothic,fontsize,1 color 200,200,255:boxf 0,0,wndx,titley pos 0,0:color:mes "クリックしてドラッグ!!" // 終了ボタン描画 s = c(flg_end^(is_InCloseButton and is_notmove)) v = c(flg_end) hsvcolor btcl,s,v:boxf cleft,ctop,cright,cbottom hsvcolor txcl,s,v:pos cleft-1,ctop-1:mes "×" redraw await 30 goto*@b

こんな方法もあります
使わないと思いますが。



spider

リンク

2012/7/22(Sun) 08:01:48|NO.47818

repeat〜loopではないがこういう方法もあるということで。
まあしかし、タイトルバーをクリックするときに
ちょっとの間描画が止まっちまうけどね。
普通にドラッグさせるなら大丈夫だと思う。

#include "user32.as"
screen 0, 500, 370 oncmd gosub *timer, 0x0113 SetTimer hwnd, 0, 10, 0 stop *timer title ""+c c++ return



ONION software Copyright 1997-2021(c) All rights reserved.