Dobrý den,
Pokusil jsem se v dialogu nastavit tlačítka OK a Cancel jako zelený a červený čtverec, ale výsledek je toto:
Za čtvercama je zbytek původního tlačítka :-(
Používam WinAPI ve VSc++ 2012. Tlačítka jsem nastavil tímto kódem:
...
switch (message)
{
case WM_INITDIALOG:
{
HWND hbok = GetDlgItem(hWnd,IDOK);
SetWindowLongPtr(hbok,GWL_STYLE,WS_CHILD|WS_VISIBLE|BS_ICON);
HICON h = LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_OK));
SendMessage(GetDlgItem(hWnd,IDOK),BM_SETIMAGE,IMAGE_ICON,(LPARAM)h);
hbok = GetDlgItem(hWnd,IDCANCEL);
SetWindowLongPtr(hbok,GWL_STYLE,WS_CHILD|WS_VISIBLE|BS_ICON);
h = LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_CANCEL));
SendMessage(GetDlgItem(hWnd,IDCANCEL),BM_SETIMAGE,IMAGE_ICON,(LPARAM)h);
}break;
...
Díky.