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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0315
endwin32の「SetWindowLong」を使って「redraw」を実行するとオブジェクトがちらつく件5解決


end

リンク

2015/3/15(Sun) 21:18:12|NO.67896

質問内容はタイトル通りです。
win32の「SetWindowLong」を使って「redraw」を実行するとオブジェクトがちらついてしまいます。
目的は、「SetParent」で親ウィンドウに子ウィンドウを割り当て、「SetWindowLong」を子ウィンドウにあてます。
その子ウィンドウの中で、「redraw」を使うと、子ウィンドウに設置したオブジェクトがちらついてしまいます。
解決宜しくお願いします。
(うまく説明できなくてすみません。)

/*━━━━━━━━━━ 質問用サンプル ──────────*/ //----初期化 #include "user32.as" #define WS_CHILD 0x40000000 //----画面の初期化 screen 0,300,200 ;メイン画面 color 100,100,100 :boxf h=hwnd bgscr 1,300,200 //----子ウィンドウの割り当て SetParent hwnd,h ;メイン画面に子ウィンドウを割り当てる SetWindowLong hwnd , -16 , stat|WS_CHILD ;子ウィンドウをクリックした場合にも、親ウィンドウを常にアクティブにさせる //----メイン処理 gsel 1,1 ;子ウィンドウをアクティブにして、描画対象にする sdim text,1024 ;テキスト内容初期化 repeat 60 :text+="あいうえお" :loop pos 0,0 :mesbox text,300,200 repeat redraw 0 /**〜描画命令〜*/ redraw 1 await 100 loop



この記事に返信する


end

リンク

2015/3/15(Sun) 21:32:47|NO.67897

すいません。自己解決しました。

/*━━━━━━━━━━ 質問用サンプル ──────────*/ //----初期化 #include "user32.as" #define WS_CHILD 0x40000000 //----画面の初期化 screen 0,300,200 ;メイン画面 color 100,100,100 :boxf h=hwnd bgscr 1,300,200 //----子ウィンドウの割り当て SetParent hwnd,h ;メイン画面に子ウィンドウを割り当てる GetWindowLong hwnd,-16 SetWindowLong hwnd , -16 , stat|WS_CHILD ;子ウィンドウをクリックした場合にも、親ウィンドウを常にアクティブにさせる //----メイン処理 gsel 1,1 ;子ウィンドウをアクティブにして、描画対象にする sdim text,1024 ;テキスト内容初期化 repeat 60 :text+="あいうえお" :loop pos 0,0 :mesbox text,200,100 repeat redraw 0 /**〜描画命令〜*/ boxf redraw 1 await 100 loop
「GetWindowLong」入れるのを忘れてました。



anal

リンク

2015/3/15(Sun) 21:55:32|NO.67898

原因がよくわからないが

GetWindowLong hwnd , -20
SetWindowLong hwnd , -20 , stat|0x40 ;子ウィンドウをクリックした場合にも、親ウィンドウを常にアクティブにさせる

MDI子ウィンドウにするとか



anal

リンク

2015/3/15(Sun) 21:56:19|NO.67899

まじか!



end

リンク

2015/3/15(Sun) 22:31:51|NO.67900

>>すいません。自己解決しました。
嘘つきました。本当に申し訳ないです。
解決したと思っていたら、子ウィンドウをクリックしたときに、親ウィンドウが非アクティブとなってしまいました。
既に解決フラグ立ててしまいましたが、引き続き、回答宜しくお願いします。
(このスレッドに気づいた方だけで結構です。)



掘木

リンク

2015/3/15(Sun) 22:41:05|NO.67901

きちんとGetWindowLongで取得できた値を確認しましょう。

bgscrで作成したウィンドウなので、WS_POPUPスタイルが付与されていませんか?



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