| ■ ツールチップとは |
| ツールチップとは、通常ツールバーを作成した場合、マウスカーソルをツールバーのボタンの上に持ってきたときに、自動的にその内容を表示する機能です。 表示文字列は、メニューを作成するときにその[メニューアイテムプロンプト]ダイアログ内の[プロンプト]に入力する文字列の改行コード以降の文字列です。例えば、デフォルトの[印刷]メニューの場合は、[作業中のファイルを印刷\n印刷]の[印刷]が表示されます |
| ■ ビュー上のツールチップ表示> |
| ビューの或る範囲(RECT)内にカーソルが移動した時に、ツールチップを表示するサンプルを示します。 まず、サンプルの概観は以下の様になります。三色の矩形内にカーソルが移動したとき、それぞれに該当するツールチップを表示します。 ![]() 内容は、サンプルのソースコード(viewtpView.cpp)を見ていただければわかると思いますが、作成の手順を簡単に記します。 1. プロジェクトの作成。 このサンプルの場合は、SDIです。他の設定はデフォルトのままです。 2. 画面の作成。 このサンプルの場合は、ご覧の通り3色の矩形(RECT)を OnDraw()内で表示しています。 ウィンドウのサイズに画面を合わせるため、OnSize()を追加し、そこでビューのサイズと各矩形の位置を作成しています。 3. CToolTipCtrlメンバーの追加。 CViewtpViewにCToolTipCtrlのメンバーm_cToolTipを作成します。 4. ツールチップに表示する文字列の作成。 ストリングテーブル内に三色の矩形に対するメッセージを作成します。 サンプルでは、IDS_TOOLTIP1〜3です。 5. ツールチップの初期化処理。 PreCreateWindow内で、m_cToolTipを初期化します。 m_cToolTip.Create( this); m_cToolTip.Activate( TRUE); 6. PreTranslateMessageを追加し以下のコードを追加します。 BOOL CViewtpView::PreTranslateMessage(MSG* pMsg) { if (m_hWnd) { m_cToolTip.RelayEvent (pMsg); } return CView::PreTranslateMessage(pMsg); } 7. サイズの変更に対応するため、OnSize()内に以下のコードを追加します。 if ( m_cToolTip.GetToolCount()) { m_cToolTip.DelTool( this, IDS_TOOLTIP1); m_cToolTip.DelTool( this, IDS_TOOLTIP2); m_cToolTip.DelTool( this, IDS_TOOLTIP3); } m_cToolTip.AddTool( this, IDS_TOOLTIP1, &m_wcr1, IDS_TOOLTIP1); m_cToolTip.AddTool( this, IDS_TOOLTIP2, &m_wcr2, IDS_TOOLTIP2); m_cToolTip.AddTool( this, IDS_TOOLTIP3, &m_wcr3, IDS_TOOLTIP3); サイズの変更を考えない場合は、AddToolだけを初期化時に行えばよいです。 |
| ■ ファイルのダウンロード |