Не появляется ToolTip
От: _Warlord_  
Дата: 28.03.08 12:20
Оценка:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{ 
  MSG msg; 
  WNDCLASSEX wc; 

  INITCOMMONCONTROLSEX icex; 
  icex.dwSize = sizeof(INITCOMMONCONTROLSEX); 
  icex.dwICC  = ICC_WIN95_CLASSES; 
  InitCommonControlsEx(&icex); 

  g_hinst = hInstance; 
  memset(&wc, 0, sizeof(WNDCLASSEX)); 
  wc.cbSize = sizeof(WNDCLASSEX); 
  wc.lpfnWndProc = DefWindowProc; 
  wc.hInstance = hInstance; 
  wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SOME_ICON)); 
  wc.hCursor = LoadCursor(NULL, IDC_ARROW); 
  wc.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH); 
  wc.lpszClassName = g_szClassName; 

  if (!RegisterClassEx(&wc)) return 0; 

  MainWindow = CreateWindowEx(0, g_szClassName, "Caption", WS_OVERLAPPEDWINDOW, 
        CW_USEDEFAULT, CW_USEDEFAULT, 320, 240, NULL, NULL, hInstance, NULL); 

  if (!MainWindow) return 0; 

  hButton = CreateWindowEx(0, "BUTTON","PressMe", WS_CHILD, 10,10,80,25, MainWindow, NULL, g_hinst, 0); 
  if (!hButton) return 0; 
  ShowWindow(hButton, SW_SHOWNORMAL), UpdateWindow(hButton); 
  ShowWindow(MainWindow, SW_SHOWNORMAL), UpdateWindow(MainWindow); 

  hwndTip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, 
                            WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, 
                            CW_USEDEFAULT, CW_USEDEFAULT, 
                            CW_USEDEFAULT, CW_USEDEFAULT, 
                            MainWindow, NULL, GetModuleHandle(NULL), 
                            NULL); 

  TOOLINFOA ti; 
  memset(&ti,0,sizeof(TOOLINFOA)); 
  ti.cbSize=sizeof(TOOLINFOA); 
  ti.uFlags=TTF_SUBCLASS; 
  ti.hwnd=hButton; 
  GetClientRect(hButton,&ti.rect); 
  ti.lpszText="1111"; 
  SendMessage(hwndTip, TTM_ADDTOOLA,0,(LPARAM)&ti); 
  SendMessage(hwndTip, TTM_ACTIVATE, 1, 0); 
  while (GetMessage(&msg, MainWindow, 0, 0) > 0) 
  { 
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
  } 
  return msg.wParam; 
}

Если использовать DialogBoxParam для создания приложения, то hint высвечивается, а если идти через CreateWindow то нивкакую, хотя код создающий подсказку для кнопки идентичен в обоих случаях
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.