初级窗口问题,小弟刚刚接触windows编程
// 窗口programe.cpp : Defines the entry point for the application.
//
#include"stdafx.h"
LRESULT CALLBACK WndProc ( HWND, UINT, WPARAM, LPARAM );
int APIENTRY WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
// TODO: Place code here.
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[] = "窗口";
char lpszTitle[] = "My-windows";
//窗口类的定义
wndclass.style = 0;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon ( NULL, IDI_APPLICATION );
wndclass.hCursor = LoadCursor ( NULL, IDC_ARROW );
wndclass.hbrBackground = GetStockObject ( WHITE_BRUSH );
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = lpszClassName;
if ( ! RegisterClass ( &wndclass ) )
{
MessageBeep ( 0 );
return FALSE;
}
hwnd = CreateWindow ( lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
//显示窗口
ShowWindow ( hwnd, nCmdshow );
//绘制用户区
UpdateWindow ( hwnd );
//消息循环
while ( GetMessage ( &Msg, NULL, 0, 0 ) )
{
TranslateMessage ( &Msg );
DispatchMessage ( &Msg );
}
return Msg.wParam;
}
//窗口函数
LRESULT CALLBACK WndProc ( HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM IParam )
{
switch ( message )
{
case WM_DESTROY:
PostQuitMessage ( 0 );
default:
return DefWindowProc ( hwnd, message, wParam, lParam );
}
return ( 0 );
}
不知道为什么通不过,他提示好像是因为头文件问题
初级问题,没办法才拿出来问的,谢谢各位
问题点数:0、回复次数:6Top
1 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-09-03 21:50:27 得分 0
你用的是SDK编程吧,头文件应该包含windows.h,最好不要用stdafx.hTop
2 楼wwwdufei(浪狼)回复于 2004-09-03 21:59:07 得分 0
我用的是vc6.0,打开后头文件就是stdafx.h
我也试着把头文件改成windows.h
可是错误没变Top
3 楼KyoUs(符号)回复于 2004-09-03 22:06:18 得分 0
把编译信息贴出来吧。这样看很累Top
4 楼titilima(李马 - www.titilima.cn)回复于 2004-09-03 22:07:41 得分 0
#include <windows.h>
LRESULT CALLBACK WndProc ( HWND, UINT, WPARAM, LPARAM );
int APIENTRY WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
// TODO: Place code here.
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[] = "窗口";
char lpszTitle[] = "My-windows";
//窗口类的定义
wndclass.style = 0;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon ( NULL, IDI_APPLICATION );
wndclass.hCursor = LoadCursor ( NULL, IDC_ARROW );
wndclass.hbrBackground = (HBRUSH)GetStockObject ( WHITE_BRUSH ); // C++对类型的检查较为严格,这里要强制转换
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = lpszClassName;
if ( ! RegisterClass ( &wndclass ) )
{
MessageBeep ( 0 );
return FALSE;
}
hwnd = CreateWindow ( lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
//显示窗口
ShowWindow ( hwnd, nCmdShow ); // 拼写要正确!
//绘制用户区
UpdateWindow ( hwnd );
//消息循环
while ( GetMessage ( &Msg, NULL, 0, 0 ) )
{
TranslateMessage ( &Msg );
DispatchMessage ( &Msg );
}
return Msg.wParam;
}
//窗口函数
LRESULT CALLBACK WndProc ( HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam ) // 拼写要正确!
{
switch ( message )
{
case WM_DESTROY:
PostQuitMessage ( 0 );
default:
return DefWindowProc ( hwnd, message, wParam, lParam );
}
return ( 0 );
}Top
5 楼888atao(阿涛)回复于 2004-09-04 11:21:55 得分 0
按 titilima(李马) 说的做
再把工程设置成WIN32的
应该有什么问题了Top
6 楼mintwlf(Programmer)回复于 2004-09-04 13:26:12 得分 0
把库设置完整了Top




