ちょっと早とちりだった様です。
色々考えて見ましたが どうやら bgscr で作成されたウィンドウのスタイルに WS_POPUP が含まれているのがいけなかったようです。
SetParent 関数 を実行する際には そのウィンドウのスタイルから
WS_POPUP 除外 して WS_CHILD を追加するべき見たいです。
ソースは msdn の SetParent の項から です。
http://msdn.microsoft.com/ja-jp/library/cc411061.aspx
WS_POPUP 除外 して WS_CHILD を追加した場合に起こる変化としては
主に 子ウィンドウを クリックしても 、それが active に ならない 等の利点があります。(普通にキー操作などのメッセージは送られます)
要するに Objectの様に機能するようになります。
それとついでですが
hwnd とは (handle window) の略です
よって windowhwnd とは (window handle window) の意味に成り 間違いと成ります。
気に成ったので 指摘させていただきました。
#include "user32.as"
// ウィンドウスタイル
#const global WS_CHILD $40000000 // このウィンドウは子ウィンドウです。WS_POPUP と 同時指定できません。
#const global WS_VISIBLE $10000000 // このウィンドウは可視状態です。
#const global WS_POPUP $80000000 // このウィンドウはポップアップウィンドウです。 WS_CHILD と 同時指定できません。
// ボタンスタイル
#const global BS_PUSHLIKE $00001000 // プッシュボタン ライク なボタンで有る
#const global BS_TEXT 0 // テキストを使用する (標準)
#const global BS_AUTORADIOBUTTON $00000009 // ラジオボタンの処理を自動で行う
// getwindowlong setwindowlong
#const global GWL_STYLE $FFFFFFF0 // ウインドウスタイルにaccess
// setwindowpos
#const global SWP_FRAMECHANGED $00000020 // ウィンドウスタイル 等の変更を更新する
#const global SWP_SHOWWINDOW $00000040 // ウィンドウを表示する
#const global SWP_NOSIZE $00000001 // サイズ変更を行わない
#const global SWP_NOMOVE $00000002 // 移動を行わない
#module
// wt_ = ウィンドウテキスト
// ischk_ = それがチェックされているか 1 でcheck
// istop_ = それはグループの先頭で有るオブジェクトか 1 でそれが先頭Object
// ispushlike_ = それはプッシュボタン形式のオブジェクトか 1 でそれはボタン形式
#deffunc radiobutton str wt_, int ischk_ , int istop_ , int ispushlike_ , local style_ , local hwnd_ , local rt_
_v2 = ischk_
#const TOGGLEBUTTON_STYLE WS_CHILD|WS_VISIBLE | BS_TEXT | BS_AUTORADIOBUTTON
chkbox wt_,_v2
rt_ = stat:hwnd_=objinfo_hwnd(stat)
SetWindowLong hwnd_ , GWL_STYLE , TOGGLEBUTTON_STYLE | (istop_!=0)*0x20000 | (ispushlike_!=0)*BS_PUSHLIKE
// 動いているようですが 保険で SetWindowPos SWP_FRAMECHANGED を実行します
SetWindowPos hwnd_,0,0,0,0,0,SWP_FRAMECHANGED | SWP_NOSIZE|SWP_NOMOVE
return rt_
#global
hwnd_main = hwnd
pos 0, 0:radiobutton "あ",1,1,1
pos 0, 50:radiobutton "い",,,1
pos 0,100:radiobutton "う",,,1
bgscr 1, 200,200,2 //screenにするとOK
hwnd_child = hwnd
color 255,192,192:boxf
color:mes "bgscrウィンドウ"
GetWindowLong hwnd,GWL_STYLE
SetWindowLong hwnd,GWL_STYLE,((stat|WS_POPUP) ^ WS_POPUP) | WS_CHILD// WS_POPUP を 折って WS_CHILD を立てます。
SetParent hwnd_child,hwnd_main
// 表示 と ウィンドウスタイルの更新 と サイズと位置の変更
// ウィンドウスタイルを変更したら SetWindowPos に SWP_FRAMECHANGED 指定して実行するべきです。
SetWindowPos hwnd,0,0,300,200,200,SWP_FRAMECHANGED|SWP_SHOWWINDOW
gsel 0