![]()
今までアドレスバー内で、[Ctrl]+[V]などのキーボードによる操作ができなかったり、横幅以上のサイズのURLが入力できないなどの致命的な問題点があった。今回はそれらを修正する。
virtual BOOL PreTranslateMessage(MSG* pMsg)
{
if(_wndAddressBar.IsChild(::GetFocus()) == FALSE) //■追加 アドレスバーにフォーカスがあるときはPreTranslateMessageを回さない(アドレスバーでCtrl+Cなどを使えるようにするため)
{
if(CFrameWindowImpl<CMainFrame>::PreTranslateMessage(pMsg))
return TRUE;
}
return m_view.PreTranslateMessage(pMsg);
}
![]()
次に長い文字列を入力できない点。これは使っているコンボボックスにCBS_AUTOHSCROLLスタイルを設定していなかったためだ。ちなみにエディットコントロールの場合はES_AUTOHSCROLLスタイルを指定する。
//■スタイル変更 _wndAddressBar.Create(m_hWnd,CRect(0,0,200,200),0,WS_CHILD | WS_VISIBLE | CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_CLIPCHILDREN,WS_EX_CLIENTEDGE);
![]()
これでビルド/実行するとアドレスバーでの上記2つの問題を修正できた。
次回はステータスバーにアイコンを表示する。
