1. リソースビューで任意のダイアログを作成する。
クラスの生成は任意。View上にダイアログを貼り付けるだけなら、クラスを作成する必要なない。
2. MainFrameにダイアログバーの変数を追加
CMainFrameのヘッダーファイルに、以下のコードを追加する。
CDialogBar m_wndSockBar;
3. MainFrameの実装ファイルに追加する。
Createメソッドの第2引数は、手順1で作成したダイアログのリソース名となる。
// SockDialogBar追加
if( !m_wndSockBar.Create ( this, IDD_SOCK_DIALOG, WS_VISIBLE | CBRS_TOP, AFX_IDW_TOOLBAR )){
TRACE0( "Sockダイアログバーの表示に失敗しました。" );
return +1;
}
4. ドッキング設定を行う。ドッキング設定が不要なら対応は不要。
m_wndSockBar.EnableDocking( CBRS_ALIGN_ANY );
EnableDocking( CBRS_ALIGN_ANY );
DockControlBar( &m_wndSockBar );
5. ダイアログバーとして表示した場合、ダイアログバーのコントロールを有効にする
ダイアログバーとして貼り付けた場合、ダイアログバーのコントロールは無効状態である。
コントロールを有効にするには、MainFrameにイベントハンドラを追加することで可能となる。
リソースビューのダイアログから、ツールのイベントハンドラを追加する。
・ツール上で右クリックし、サブメニューを表示する。
・サブメニューから、「イベントハンドラの追加」を選択する。
・イベントハンドラウィザードから、「クラスの一覧」より「CMainFrame」を選択し、イベントハンドラを追加する。
上記対応により、ダイアログバーのツールが有効になる。
クラスの生成は任意。View上にダイアログを貼り付けるだけなら、クラスを作成する必要なない。
2. MainFrameにダイアログバーの変数を追加
CMainFrameのヘッダーファイルに、以下のコードを追加する。
CDialogBar m_wndSockBar;
3. MainFrameの実装ファイルに追加する。
Createメソッドの第2引数は、手順1で作成したダイアログのリソース名となる。
// SockDialogBar追加
if( !m_wndSockBar.Create ( this, IDD_SOCK_DIALOG, WS_VISIBLE | CBRS_TOP, AFX_IDW_TOOLBAR )){
TRACE0( "Sockダイアログバーの表示に失敗しました。" );
return +1;
}
4. ドッキング設定を行う。ドッキング設定が不要なら対応は不要。
m_wndSockBar.EnableDocking( CBRS_ALIGN_ANY );
EnableDocking( CBRS_ALIGN_ANY );
DockControlBar( &m_wndSockBar );
5. ダイアログバーとして表示した場合、ダイアログバーのコントロールを有効にする
ダイアログバーとして貼り付けた場合、ダイアログバーのコントロールは無効状態である。
コントロールを有効にするには、MainFrameにイベントハンドラを追加することで可能となる。
リソースビューのダイアログから、ツールのイベントハンドラを追加する。
・ツール上で右クリックし、サブメニューを表示する。
・サブメニューから、「イベントハンドラの追加」を選択する。
・イベントハンドラウィザードから、「クラスの一覧」より「CMainFrame」を選択し、イベントハンドラを追加する。
上記対応により、ダイアログバーのツールが有効になる。
PR
この記事にコメントする