It cant solve it. My program code copy from a book. The win.cpp is same
as the book's code.
But I dont know what happening. How about Visual C++.net setting , .h
"Arman Sahakyan" <armancho_x@rambler.ru(donotspam)> ???g???l???s?D:59943006-C66D-4A7F-944B-E81DDAAD32DC@microsoft.com...
Try after CreateDialog
::ShowWindow(hDlgModeless, SW_SHOW);
--
======
Arman
"FlyR" wrote:
I design a program that include a menu and a dialog.
But It cant work. I dont know what happening.
Could u tell me how to solve it? My program is following:
resorce.rc
include a menu and dialog
win.cpp
#include <windows.h>
#include "commctrl.h"
#include "resource.h"
#include "Dlgs.h"
//#include <iostream>
//using namespace std;
HINSTANCE hInst;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
BOOL CALLBACK TestDlgProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR
szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]="MyApp";
HWND hWnd;
MSG msg;
WNDCLASSEX wndclass;
wndclass.cbSize=sizeof(wndclass);
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadCursor(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wndclass.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);
wndclass.lpszClassName=szAppName;
wndclass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
RegisterClassEx(&wndclass);
hInst=hInstance;
hWnd=CreateWindow(szAppName,"?Lc|!?DU?d",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,iCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,NULL,0,0))
{
if(hDlgModeless||!IsDialogMessage(hDlgModeless,&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,WPARAM wParam,LPARAM
lParam)
{
HDC hDC;
switch(iMsg)
{
case WM_CREATE:
return 0;
case WM_PAINT:
{
PAINTSTRUCT ps;
hDC=BeginPaint(hWnd,&ps);
EndPaint(hWnd,&ps);
}
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID__40001:
MessageBox(hWnd,"?Lc|!?i3aAI?i?XTR???DU?d","??U?O?Lk?H",MB_OK);
return 0;
case ID__40002:
DestroyWindow(hWnd);
return 0;
case ID_40007:
if(!hDlgModeless)
{
hDlgModeless=CreateDialog(hInst,"IDD_DIALOG1",hWnd,(DLGPROC)TestDlgProc);
}
//MessageBox(hWnd,"?Xo?D??MeRA?e?J","??U?O?Lk?H",MB_OK);
return 0;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,iMsg,wParam,lParam);
}
BOOL CALLBACK TestDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM
lParam)
{
switch(uMsg)
{
// case WM_INITDIALOG:
case WM_COMMAND:
case ID_OK:
DestroyWindow(hDlg);
return(TRUE);
case ID_CANCEL:
DestroyWindow(hDlg);
return(TRUE);
}
}