コントロール(ラジオボタン)のウィンドウスタイルに WS_TABSTOP を指定して
TABキーを押してもフォーカスが移動しません。
また、グループ化したときにカーソルキーを押してもフォーカスが移動しません。
具体的なコードは以下のようになっています
/********************************************************/
//hWndはメインウィンドウのハンドル
#define SIZE 5
HWND h[SIZE];
//グループの先頭を作成
h[0] = ::CreateWindowEx(0,BUTTON,Radio,
WS_GROUP|WS_CHILD|WS_TABSTOP|BS_AUTORADIOBUTTON,0,0,150,40,
hWnd,HMENU(1),hInstance,NULL);
::ShowWindow(h[0],SW_SHOWNORMAL);
char str[10];
for(int i = 1; i < SIZE; i++)
{
sprintf(str,Radio%d,i);
h[i] = ::CreateWindowEx(0,BUTTON,str,
WS_CHILD|WS_TABSTOP|BS_AUTORADIOBUTTON,0,50*(i),
150,40,hWnd,HMENU(i + 2),hInstance,NULL);
::ShowWindow(h[i],SW_SHOWNORMAL);
}
/**********************************************************/
開発環境は Win2000 VC++6.0 Professional APIのみです。
ダイアログじゃないと無理
そうだったんですか
でもまあ出来ないということがわかっただけでもよかったです。
ありがとうございました
IsDialogMessage()を呼んでやればいいのでは?
dairygoodsありがとうございます
無事解決することが出来ました。