2014-01-06 5 views
1

Я хочу, чтобы отобразить tooltip с текстом и значок, когда указатель мыши наведен по определенной кнопке. Ниже приведены два варианта этого, которые я видел, но я не мог найти информацию об этой реализации.Отображение всплывающей подсказки со значком

1

2 http://i.msdn.microsoft.com/dynimg/IC510746.png

ответ

4

Посмотрите на TTM_SETTITLE message - пользовательские иконки можно использовать в Windows XP SP2 и выше.

+0

Да, похоже, что это все, спасибо. Я бы никогда не подумал проверить сообщение с именем «TTM_SETTITLE», чтобы установить значок. – Paul

2

@Edward Clements уже сказал вам полезный способ, поэтому вы, возможно, знаете, как его использовать. Во всяком случае, я просто добавлю подробный код для refernce.

case WM_CREATE: 

    hTip=CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,NULL,0, 
     CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, 
     hWnd,NULL,g_hInst,NULL); 

    hBtn=CreateWindow("button","Test",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 
     50,50,200,100,hWnd,(HMENU)0,g_hInst,NULL); 

    ti.cbSize=sizeof(TOOLINFO); 
    ti.uFlags=TTF_SUBCLASS | TTF_IDISHWND; 
    ti.hwnd=hWnd; 
    ti.uId=(WPARAM)hBtn; 
    ti.lpszText="This is a button"; 

    SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti); 
    SendMessage(hTip, TTM_SETTITLE, (WPARAM)TTI_WARNING, (LPARAM)"Information"); 

    return 0; 
Смежные вопросы