Показать сообщение отдельно

  #4  
Старый 31.03.2010, 09:23
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Цитата:
Сообщение от transserg  
ntldr вот проект от VS2008 в котором главная форма диалог из ресурсов и одна кнопка.. компилится и работает =). писался тоже из пустого проекта ручками.
http://www.multiupload.com/1OI5J94IWZ ссыль на архив с проэктом
Код:
INT_PTR CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{			
	switch (uMsg)
	{	
	case WM_COMMAND:
		switch (wParam)
		{	
			case IDC_BUTTON1:
			MessageBox(hwndDlg,L"Тест",L"!!!!!",MB_OK);
			return INT_PTR(TRUE);
		}  
	case WM_INITDIALOG:
		{
			return INT_PTR(TRUE);
		}
	case WM_CLOSE	: 
		EndDialog(hwndDlg,wParam); 
		return INT_PTR(TRUE);			

	case WM_DESTROY	: 
		EndDialog(hwndDlg,wParam); 
		return INT_PTR(TRUE);							
	}
	return 0;
}


int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
	DialogBoxParam(hInstance, MAKEINTRESOURCE	(IDD_DIALOG1), HWND_DESKTOP, (DLGPROC)DialogProc, 0);
}
в проекте всего 2 функции =)
Я уж не знаю, как так получилось, но подозреваю, что дело в том, что у тебя главная функция WinMain, а у меня какая-то левая.


Хотя я уже решил проблему, прописав в свойствах проекта фиксированный адрес базы 0x400000 и соответственно таким образом вызвал диалог:

PHP код:
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     
HINSTANCE hPrevInstance,
                     
LPTSTR    lpCmdLine,
                     
int       nCmdShow)
{
    
DialogBox((HINSTANCE)0x400000,MAKEINTRESOURCE(IDD_DIALOG1),0,MainWnd);
    return 
0;


Последний раз редактировалось ntldr; 31.03.2010 в 09:26..