Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:
ИВА>Статья:
ИВА>Как добавить всплывающие подсказки для элементов управления диалога?Автор(ы): Игорь Вартанов, Александр Шаргин
до кучи к WinAPI и MFC — как то же самое делается в WTL:
добавляем в данные диалога CToolTipCtrl (atlctrls.h):
class CMainDlg : public CAxDialogImpl<CMainDlg>,
public CWinDataExchange<CMainDlg>
{
...
private:
CToolTipCtrl tooltip_;
CEdit edit1;
CButton CancelBtn_;
CButton OkBtn_;
};
в OnInitDialog() вставляем инициализацию tooltip_:
LRESULT CMainDlg::OnInitDialog( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/ )
{
...
// создание тултипа
tooltip_.Create( m_hWnd, rcDefault, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, WS_EX_TOPMOST );
ATLASSERT( tooltip_.IsWindow() );
//Связываем контролы с тултипами
ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS,
edit1,
0, // будет заполнено автоматом и добавлен TTF_IDISHWND
NULL,
"Это поле для ввода текста" ) ) );
ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS,
OkBtn_, 0, NULL,
"А это кнопка для выхода из программы" ) ) );
ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS,
CancelBtn_, 0, NULL,
"А это еще одна кнопка для выхода из программы" ) ) );
ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS,
GetDlgItem( IDC_STATIC_TEXT ), 0, NULL,
"А это static со стилем Notify" ) ) );
// разрешаем переносы строк
tooltip_.SetMaxTipWidth( 300 );
tooltip_.Activate( TRUE );
return TRUE;
}
все
Демо-проект — wtltooltips.rar... << RSDN@Home 1.1.4 stable SR1 rev. 568>>