数学建模社区-数学中国
标题:
请大神帮助。
[打印本页]
作者:
小卢
时间:
2012-9-21 18:41
标题:
请大神帮助。
我的C++程序 的错误时error C2065: 'lpszClassName' : undeclared identifier,请大家帮我看看错在哪儿。代码在下面:
) s& \/ u, ]3 n: D8 d) {$ @1 n' C
#include<windows.h>
% {+ D ~. L7 h8 E* Q- o0 L
#include<iostream.h>
I9 H$ h; q) v3 b; u
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数的说明
: ^- F, F8 X+ ?: ^9 p
# _5 m. T' h; ^4 E. A
//-------------------以下为初始化窗口类
: r$ H, ~) q& D* I9 S7 y' ?) R
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
- Q" j' a" c D/ i/ r3 s3 Y
{
: T( W6 f+ S" {+ {) d! H
HWND hwnd;
% F) b: y) x4 I$ E1 S) Q2 j
MSG Msg;
) ~8 g! O! Q/ M) H o
WNDCLASS wndclass;
) y ?: E2 @4 @; l
char lpszCLASSName[]="窗口";//窗口类名
* t. P5 A2 n# f; X2 @0 P
char lpszTitle[]="My_Windows";//窗口标题名
1 ]; m; Z% q$ q4 F
//窗口类的定义
. ~6 p! C) K. {2 C# D7 `; z
wndclass.style=0; //窗口类型为默认类型
2 H- j6 W" s+ `) W7 Y
wndclass.lpfnWndProc=WndProc; //窗口处理函数为WndProc
6 r# v+ L' Q4 R; _2 F% Z( J
wndclass.cbClsExtra=0; //窗口类无扩展
* A' S# L4 s- G o# D
wndclass.cbWndExtra=0; //窗口实例无扩展
% c& B" S1 j; a+ d* x& T6 J
wndclass.hInstance=hInstance; //当前实例句柄
; Y4 I. o( r9 U! \# a; N9 t
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为默认图标
* @3 l/ [/ N% U( q. r5 e, n
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口采用箭头光标
0 N* |/ L' M h# e, x1 ~8 f! h
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
8 J ^* f9 J0 k# R: \) J) s6 p% I
wndclass.lpszMenuName=NULL; //窗口中无菜单
, [1 \7 m! {* L" E
wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
: I2 F% ^8 s' V _
. j& c; R% t3 O+ C
0 \" I; r" L: b6 f5 C. P
//-------------------------以下进行窗口类的注册---------
! F6 [$ F/ U2 R. I8 x9 G% Z
if(!RegisterClass(&wndclass))
, z7 s5 m+ z! m* r' C9 D, X6 G
{
: ^* ^4 r2 C+ @$ U/ q- b
MessageBeep(0); //如果注册失败则发出警告声音
* o! e2 B8 I2 ?- j1 J/ z" I
return FALSE;
# e$ [; A1 }# x& A* n
}
* a, p }3 i% S& q9 ~
hwnd=CreateWindow(
6 b7 z1 ]* c" ?4 j4 @) M, d, G
lpszClassName, //窗口类名
2 j/ S. H1 z! g W" i6 E( O
lpszTitle, //窗口实例的标题名
* B/ ?+ g6 G' c" V
WS_OVERLAPPEDWINDOW, //窗口的风格
6 b0 N9 G% z+ ~) d1 Z2 Z8 u
CW_USEDEFAULT,
x" H/ m ]1 E: p6 I: A7 w9 `
CW_USEDEFAULT, //窗口左上角坐标为默认值
- u) t3 ?! Q, D$ g
CW_USEDEFAULT,
& D8 `( g1 k7 f" w8 S! m
CW_USEDEFAULT, //窗口的高和宽为默认值
6 `/ i/ Q8 W/ K5 _
NULL, //此窗口无父窗口
, u9 l0 `) M! d" G @
NULL, //此窗口无主菜单
8 d9 j. a. l" o- U8 s# h
hInstance, //创建此窗口应用程序的当前句柄
6 H" q2 r) \( B! _8 O; s- ?: E
NULL //不使用该值
* D) I5 s2 [5 m; Z5 _5 y( W
);
+ G1 }7 b% v( O) {. G
Show Window(hwnd,nCmdShow); //显示窗口
2 R+ Q& h+ e# m V! V$ k- e
Update Window(hwnd); //绘制用户区
) q5 |8 L ?5 b
while(GetMessage(&Msg,NULL,0,0)) //消息循环
" O4 I" |% Y. j$ C2 o3 _
{
) F' z$ l p2 _
TranslateMessage(&Msg);
6 R( N. M" Z( H; \
DispatchMessage(&Msg);
8 S* l$ ?; O; p8 `; a3 ~3 a6 h
}
% Z. A/ D: x1 \" `- }
return Msg.wParam; //程序终止时将消息退回系统
7 F$ e5 ]; D7 E% v6 x, u) g9 e3 D! R
}
: X/ n2 v! X+ f# |5 b
6 l. K/ d" f1 ~, `( }9 ]; n
//窗口函数
" T$ G7 |1 R9 m; d
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
+ O, T8 t& j" `# C4 x0 N0 i1 [
{
( m' f5 H7 G, o+ I/ w
switch(message)
% I2 W# L- z$ G% Y# o$ F# V
{
D3 g" v2 n& _
case WM_DESTROY;
5 ~ h# Y9 [- p0 v J: n; p
PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
! ^" S3 a5 ^8 e( w- U1 }6 a; w# k
default: //默认时采用系统消息默认处理函数
# n2 C; l% e$ h5 W( U9 ?
return DefWindowProc(hwnd,message,wParam,lParam);
0 {: O/ r. s% R$ q/ t/ _! c+ r
}
# D, g9 o7 F5 k+ x' Q
return (0);
- @1 B8 c+ C$ F- `
}
$ F3 ]8 O7 y. o) z, r
/ ?& W# H' v. e4 T4 {9 W. n* q
' F9 D5 y, ^" y+ Z" n3 V
( E- J: f% u& W. [1 \5 Q6 x
; t2 a7 F2 m9 [$ p9 W( D5 Z) F/ O
: `; m T8 `& Y$ {' F- K! G; |8 `, [
$ ~, j" G& K' {( c1 ~1 c
' ]" f$ P5 j0 s7 c8 a: @
: c" E1 U2 g. r' |
) S2 T& `2 X# R0 m% R0 y. J
7 T* V, H4 I1 H* ^
# C, y1 n" Q( V3 b. a6 H
5 H) _6 ?! D* B" l& z
; m J3 \/ r7 q- [1 i/ F4 |
/ J; |/ Z7 a# Y _- p4 ^
6 n5 n# x2 @3 i7 ?6 G9 k3 Q
! W3 G* e& c) K3 s; r( ?
0 }" v$ x( y) T1 N
作者:
噶及
时间:
2012-10-9 12:58
把 wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
6 K4 n! P2 Z& o+ W3 M |
改为 wndclass.lpszClassName=lpszCLASSName;//窗口类名为“窗口实例”
! |- \9 c/ Y$ M8 D( F# m
把hwnd=CreateWindow(
. l8 @* P0 W2 ]5 \
lpszClassName, //窗口类名
9 E% S9 A, @- B/ _3 [- J
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
" a/ F a! k# v9 X$ k. r
WS_OVERLAPPEDWINDOW, //窗口的风格
/ V0 X* I+ z; `3 b* r7 @. ?, p
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
8 I+ }+ y. a% L% P
CW_USEDEFAULT, //窗口左上角坐标为默认值
! x4 W: ^% D. B: O. v
CW_USEDEFAULT,
$ h, d. O: _& g
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
9 U" G0 V; y$ Q1 i0 x
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
! L4 H" o! y z+ o
NULL, //此窗口无主菜单
' P2 ~! a a# w4 j+ `
hInstance, //创建此窗口应用程序的当前句柄
8 y5 t+ n( m8 Z& L+ u
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
7 o+ K9 |* I! W- _9 X* ]0 V4 o
);
, x( S2 M" v7 z0 F% B$ {
改为:hwnd=CreateWindow(
4 `5 ~) p1 ?9 S9 Q
lpszCLASSName, //窗口类名
. `9 D3 n$ W7 \( F* f
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
( T! L# r$ X; E4 z3 a5 r% N$ k
WS_OVERLAPPEDWINDOW, //窗口的风格
( b# n( B2 B( i c# g
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
8 I3 {2 T) I7 w% t" f8 v' n8 Z8 G# }
CW_USEDEFAULT, //窗口左上角坐标为默认值
- C5 ?) a- ~- c4 B4 |- X2 ` G
CW_USEDEFAULT,
0 L9 g% n/ l! u+ X' F, C- }
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
' E* V9 m8 Q3 P# X; x. P' W, y
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
3 x$ V/ H% J# V( i( c
NULL, //此窗口无主菜单
: C2 m# c( v V& r- q1 c) `
hInstance, //创建此窗口应用程序的当前句柄
$ w: ~3 @/ O# @. [7 e3 E5 I) ?: r
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
6 O. J d) a2 S7 J
);
# s) S( |$ F3 J
6 w3 s0 D7 h* B9 l3 q* `
Show Window中间空格去掉
4 V7 p) M6 i2 V. } _7 q
Update Window中间空格去掉
4 o7 Z# v+ y# R: L! }. m! u
case WM_DESTROY;的分号改为冒号
/ G5 R$ I7 c& n+ p; U8 N0 Y4 f. D
应该就行了
作者:
小卢
时间:
2012-10-14 19:00
谢谢了。。。。。。。
作者:
ottiou
时间:
2012-12-9 17:47
。。。。zhege1这个我好想看不懂啊
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5