昨日の「コントロールのフォーカス」の件はコメントしていただいた方のおかげで直った。ありがとうございます。SetFocusではなく、WM_NEXTDLGCTLメッセージを送らないといけなかったようだ。
// コントロールにフォーカスを移動する
// id ... コントロールID
void focus(uint32_t id)
{
// 間違い
// ::SetFocus(GetDlgItem(hwnd_,id));
// 正解
post_message(WM_NEXTDLGCTL,(WPARAM)GetDlgItem(hwnd_,id),TRUE);
}
フォーカスはこれで治ったが今度はキーボードフォーカスが今度表示されない。試しに間違い部分のコメントを外すと、こんな状態である。
とりあえずSetFocusは使わないことにする。
TABキーを一度でも押すと下記のような表示(キーボードフォーカスが表示)となるが。
キーボードフォーカスを表示するのはどうすればよいのだろうね。。しかしこのボタン内に表示される点線の枠はキーボードフォーカスというのであろうか。。