#include <windows.h>
#include "resource.h"
BOOL CALLBACK DialogProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
//--------------------------------------------------
HINSTANCE g_hInst;
HWND g_hWnd;
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst, char * cmdParam, int cmdShow)
{
DialogBox (hInst, MAKEINTRESOURCE (IDD_MAINDLG), 0, (DLGPROC)DialogProc);
return 0;
}
//--------------------------------------------------
BOOL CALLBACK DialogProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG :
g_hWnd = hWnd;
break;
case WM_COMMAND:
switch( LOWORD(wParam) )
{
case IDC_BTN_EXIT:
SendMessage(hWnd, WM_CLOSE, 0,0);
break;
}
break;
case WM_CLOSE:
if(MessageBox(hWnd, "Точно хотите выйти?", "Подтверждение", MB_YESNO | MB_ICONWARNING) == IDNO) break;
EndDialog( hWnd, 0 );
break;
}
return FALSE;
}
В чем проблема?
Код:
В редакторе ресурсов создал диалог и на нем кнопку IDC_BTN_EXIT, все работает. Но стоит на форму добавить ListControl (тот который может быть с большими иконками, маленькими и в виде списка с колонками), все компилиться без ошибок но при запуске сразу вылетает без каких либо предупреждений, убираю его опять все работает. Кто знает что нужно сделать, чтоб работало.
Да ребята MSDN наверное зря написали.
Ладно, попробуй сделать так:
#include <windows.h>
#include <commctrl.h>
#include "resource.h"
#pragma comment(lib,"comctl32.lib")
Затем в теле WinMain перед вызовом DialogBox делаешь InitCommonControls(); и все работает!
Если не работает тогда смотришь в MSDN описание InitCommonControlsEx(...). Но вообще ListView и так заводится (во всяком случае у меня)