|
第 |
Last Updated 2002/09/30 |
BFFM_INITIALIZED にて自前のボタン作成後,フォルダ選択ダイアログをサブ
クラス化する.
このプロシジャにて,作成したボタンの WM_COMMAND に応答して後は元のプロ
シジャに流す.
コールバックの BFFM_INITIALIZED 時,プロシージャを変更する(サブクラス化)
OldProc = ( WNDPROC )SetWindowLong( hWnd, GWL_WNDPROC, ( LONG )NewSubProc );
( hWnd は「フォルダ選択のダイアログ」(SHBrowseForFolderのコールバックに
わたってくるハンドル)のウィンドウハンドル)
上で指定した NewSubProc にて
if( ( uMsg == WM_COMMAND ) && ( LOWORD( wParam ) == 自分で作ったボタンのID ) ) {
// ボタンの処理
}
return( CallWindowProc( ( FARPROC )OldProc, hWnd, uMsg, wParam, lParam ) );
[OK]ボタンと[キャンセル]ボタンの間にボタンを追加した場合など,TAB
オーダーがおかしい場合は,[キャンセル]ボタンを ::DestroyWindow() で一旦
削除して,再び作成する(ID は IDCANCEL)を作成するとタブオーダーは正常
となる.
参照
感想要望などを下記メールアドレスまでお願いします.
前向きなメールがこれからを左右します.(^^)
DSSへメールを送る