主题:[讨论]用MFC 创建windows窗体,并且显示它,想学东西的请进来!!!
进来的高手们,请耐心看完,主要是最后面运行结果,看你们见过这样的情况没有
这个程序是<<MFC Windows 应用程序设计>>上开始的入门程序.
我的编译环境是vc++6.0
#include <windows.h>//编写windows程序必须包含的头文件
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//声明窗口函数WndProc的原型
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE PreInstance,LPSTR lpCmdLine,int nShowCmd)//程序入口函数WinMain
{
HWND hwnd;//定义窗口句柄
MSG msg;//定义一个存储消息的变量
char lpszClassName[]="窗口";
WNDCLASS wc;//定义一个窗口类变量
wc.style=0;
wc.lpfnWndProc=WndProc;//wc.lpfnWndProc是窗口类的一个指针,它指向窗口函数WndProc
wc.cbWndExtra=0;//分配在窗口实例后的字节数count of byte...
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszClassName=lpszClassName;
RegisterClass(&wc);//注册窗口类
hwnd=CreateWindow( //创建窗口
lpszClassName, //窗口类名
"Windows",//窗口实例的标题
WS_OVERLAPPEDWINDOW,//WS_OVERLAPPEDWINDOW是一个窗口风格的实际值
120,50,800,600,//依次是窗口左上角的坐标值x,y,窗口的宽度,高度(它们都是int类型的)
NULL,//父窗口的句柄
NULL,//主菜单的句柄
hInstance,//应用程序实例句柄
NULL);
ShowWindow(hwnd,nShowCmd);//显示窗口
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))//消息循环
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.lParam;
}
//-----------------------------------------------------------------------------------------------------------
//处理消息的窗口函数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
{
MessageBeep(0);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
//-------------------------------
运行没有错,但是按照书上的指示,我按下F11功能键,单步运行这个程序.却出现了这样的信息:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\secur32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
我在网上搜索了一下原因,上面说的是:(如下多种说法)
Loaded 'C:\\WINDOWS\\system32\\kernel32.dll', no matching symbolic information found怎么会报这个错呢
--------------------------------------------------------------------------------
Reader_1 »
这不算什么错误,意思是说没找到匹配的调试符号信息。
--------------------------------------------------------------------------------
Reader_2 »
怎么让他找到呢
--------------------------------------------------------------------------------
Reader_3 »
装相应操作系统的调试信息包,好象微软的网站有下的,还是ddk里有,忘了。但对你来说,没什么用。
--------------------------------------------------------------------------------
Reader_4 »
这不是错误
找不到调试信息,说明这个dll里面没有调试信息
--------------------------------------------------------------------------------
Reader_5 »
安装调试浮就可以具体分析了,需要另外下载,挺大的.
这样的几种说法,我大概明白了一些,但是这个问题我还是没有彻底解决,因为我运行程序后,根本没有窗体的显示效果.我初学MFC 编程,
请求高手给我个明确的解答!小弟不胜感激!!![em18]
这个程序是<<MFC Windows 应用程序设计>>上开始的入门程序.
我的编译环境是vc++6.0
#include <windows.h>//编写windows程序必须包含的头文件
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//声明窗口函数WndProc的原型
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE PreInstance,LPSTR lpCmdLine,int nShowCmd)//程序入口函数WinMain
{
HWND hwnd;//定义窗口句柄
MSG msg;//定义一个存储消息的变量
char lpszClassName[]="窗口";
WNDCLASS wc;//定义一个窗口类变量
wc.style=0;
wc.lpfnWndProc=WndProc;//wc.lpfnWndProc是窗口类的一个指针,它指向窗口函数WndProc
wc.cbWndExtra=0;//分配在窗口实例后的字节数count of byte...
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszClassName=lpszClassName;
RegisterClass(&wc);//注册窗口类
hwnd=CreateWindow( //创建窗口
lpszClassName, //窗口类名
"Windows",//窗口实例的标题
WS_OVERLAPPEDWINDOW,//WS_OVERLAPPEDWINDOW是一个窗口风格的实际值
120,50,800,600,//依次是窗口左上角的坐标值x,y,窗口的宽度,高度(它们都是int类型的)
NULL,//父窗口的句柄
NULL,//主菜单的句柄
hInstance,//应用程序实例句柄
NULL);
ShowWindow(hwnd,nShowCmd);//显示窗口
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))//消息循环
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.lParam;
}
//-----------------------------------------------------------------------------------------------------------
//处理消息的窗口函数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
{
MessageBeep(0);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
//-------------------------------
运行没有错,但是按照书上的指示,我按下F11功能键,单步运行这个程序.却出现了这样的信息:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\secur32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
我在网上搜索了一下原因,上面说的是:(如下多种说法)
Loaded 'C:\\WINDOWS\\system32\\kernel32.dll', no matching symbolic information found怎么会报这个错呢
--------------------------------------------------------------------------------
Reader_1 »
这不算什么错误,意思是说没找到匹配的调试符号信息。
--------------------------------------------------------------------------------
Reader_2 »
怎么让他找到呢
--------------------------------------------------------------------------------
Reader_3 »
装相应操作系统的调试信息包,好象微软的网站有下的,还是ddk里有,忘了。但对你来说,没什么用。
--------------------------------------------------------------------------------
Reader_4 »
这不是错误
找不到调试信息,说明这个dll里面没有调试信息
--------------------------------------------------------------------------------
Reader_5 »
安装调试浮就可以具体分析了,需要另外下载,挺大的.
这样的几种说法,我大概明白了一些,但是这个问题我还是没有彻底解决,因为我运行程序后,根本没有窗体的显示效果.我初学MFC 编程,
请求高手给我个明确的解答!小弟不胜感激!!![em18]