Как добавить всплывающие подсказки в диалог WTL
02.02.2006
|
Odi$$ey |
Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:
ИВА>Статья:
ИВА>Как добавить всплывающие подсказки для элементов управления диалога?
до кучи к WinAPI и MFC — как то же самое делается в WTL:
добавляем в данные диалога CToolTipCtrl (atlctrls.h):
в OnInitDialog() вставляем инициализацию tooltip_:
все
Демо-проект — wtltooltips.rar
ИВА>Статья:
ИВА>Как добавить всплывающие подсказки для элементов управления диалога?
до кучи к 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>>
02.02.2006 1 комментарий |
OE>Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:
ИВА>>Статья:
ИВА>>Как добавить всплывающие подсказки для элементов управления диалога?
OE>до кучи к WinAPI и MFC — как то же самое делается в WTL:
добрый день! столкнулся с такой интересной проблемой (относится к ATL/WTL проектам):
Тултип для Edit поля после кликания на нам пропадает. И не появляется до того момента, пока сначала не покажется другой тултип (если брать пример из статьи — то надо посмотреть тултип на кнопке, а потом опять будет показываться тултип на edit-е).
Как с этим бороться? подскажите