« WinHTTP | トップページ | MOV を 90度 回転して MP4に »

2013年12月14日 (土)

WTL のダイアログの CEDIT にフォーカス

WTL のdialog の エディットボックスを SetFocus() しても IDOKでかつrcファイルでDEFPUSHBUTTONなOKボタンにフォーカスあたりCEditにフォーカスあたらず。

ShowCaret()
SetSel()
してもだめ。

BEGIN_MSG_MAP(LoginAuthenticationDlg)
    MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
    xxx
END_MSG_MAP()
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    m_edit.SetFocus(); // これ必要
    m_edit.SetWindowTextW(str); // デフォルトで表示する文字設定
    long nEnd = m_edit.GetWindowTextLengthW();
    m_editUser.SetSel(nEnd, nEnd); // カーソルを文字列の最後に
    xxx
    // return TRUE; // ダイアログのデフォルトにフォーカス。
    return FALSE; // 明示的にSetFocusしているコントロールがあるときはFALSEを指定可能
}

WM_INITDIALOG な OnInitDialog の返り値でTRUEはだめで、FALSEを返せばいけた。

thanks

http://tech.dir.groups.yahoo.com/neo/groups/wtl/conversations/topics/3609
http://motos33.cocolog-nifty.com/blog/2008/02/setsel_337d.html

|

« WinHTTP | トップページ | MOV を 90度 回転して MP4に »

Windows」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1009744/54253666

この記事へのトラックバック一覧です: WTL のダイアログの CEDIT にフォーカス:

« WinHTTP | トップページ | MOV を 90度 回転して MP4に »