数学建模社区-数学中国
标题:
请大神帮助。
[打印本页]
作者:
小卢
时间:
2012-9-21 18:41
标题:
请大神帮助。
我的C++程序 的错误时error C2065: 'lpszClassName' : undeclared identifier,请大家帮我看看错在哪儿。代码在下面:
- @! D, w9 |% R, R( x# h& r5 Y
#include<windows.h>
, A- D- s% |& Z; n; [
#include<iostream.h>
. C4 U2 D. ?- e) J- f
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数的说明
2 B& C, w* l' ?% e
/ x( Z" N. t8 x' d9 m6 b
//-------------------以下为初始化窗口类
- L2 O+ N) M& P" Z/ a
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
3 i* R [ t- q, ?
{
! ^* m& z* K# n
HWND hwnd;
8 f- @; ?" B0 [- J- V
MSG Msg;
* _8 _7 D$ z& D3 R9 z3 M6 R
WNDCLASS wndclass;
4 \, Q, _4 o4 W( s9 U/ u" j5 s; m w8 ]
char lpszCLASSName[]="窗口";//窗口类名
( n2 p9 t7 a, C' P4 y
char lpszTitle[]="My_Windows";//窗口标题名
4 X# i* U; }$ }# _) o2 |- K; Z
//窗口类的定义
( i$ [0 Y$ C4 X! m+ L. W6 p3 Y: u
wndclass.style=0; //窗口类型为默认类型
! r" a: j6 B* o0 H
wndclass.lpfnWndProc=WndProc; //窗口处理函数为WndProc
2 ^7 y: N" K$ z: G
wndclass.cbClsExtra=0; //窗口类无扩展
( I* I* X: w0 k( r" \0 K$ R
wndclass.cbWndExtra=0; //窗口实例无扩展
5 L: a7 T& g0 X. w" p
wndclass.hInstance=hInstance; //当前实例句柄
+ _/ ?" d Q% ?* g7 t
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为默认图标
# U/ S, M0 S) H2 r( h' p
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口采用箭头光标
- d+ b# \/ H1 |" t
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
$ D6 V7 D6 a5 ~8 l1 L. ?8 ?4 X
wndclass.lpszMenuName=NULL; //窗口中无菜单
5 A, {; k% }$ X
wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
6 B9 L- h% O% _% l/ \
3 [1 z" }1 e ?" {% A. J. ~% D; D8 I
$ z! B6 X+ K3 g
//-------------------------以下进行窗口类的注册---------
" n' b$ j: B8 G. X- F! n- t$ @
if(!RegisterClass(&wndclass))
: `" }. x" {3 m4 X/ h& K7 z: `! ~
{
7 Z+ J7 Z1 J' o* E& a$ t& f% |: o/ X
MessageBeep(0); //如果注册失败则发出警告声音
7 k4 o N, U$ X* R4 O
return FALSE;
' J% Q" P+ h* R7 v
}
& L* D' _4 U6 h4 y, ?# S
hwnd=CreateWindow(
" T+ P3 ~" G+ e; [1 r& D9 s1 N
lpszClassName, //窗口类名
- ]4 B: x" i9 n$ r+ o& k! h9 d
lpszTitle, //窗口实例的标题名
9 n' H* V. z, F% y; A O
WS_OVERLAPPEDWINDOW, //窗口的风格
4 p! X. t) g0 M& b( g5 Z+ Q
CW_USEDEFAULT,
' X. s& \$ H2 K& B' Y* `7 o1 ]
CW_USEDEFAULT, //窗口左上角坐标为默认值
" z8 c2 T7 k( P8 J" b
CW_USEDEFAULT,
+ Q. i! C! u% O% r/ k
CW_USEDEFAULT, //窗口的高和宽为默认值
+ `4 @. p' t4 f
NULL, //此窗口无父窗口
+ W4 d4 o# J! q( S8 ~% C5 r
NULL, //此窗口无主菜单
' W' t$ D( x3 Q& K/ M$ m" m8 E" |
hInstance, //创建此窗口应用程序的当前句柄
& F$ I( B8 [: ] A
NULL //不使用该值
5 u h7 [1 J6 L1 v
);
/ H9 m& `* B0 r: F0 _2 r: y
Show Window(hwnd,nCmdShow); //显示窗口
& v" c9 {6 p. y( F' ]
Update Window(hwnd); //绘制用户区
+ }- Q' Z. }* U( y, Q8 L2 n3 `
while(GetMessage(&Msg,NULL,0,0)) //消息循环
0 z" M0 P7 {/ ]- h' w( ?8 \
{
! {: O$ ~& I& @4 d, o; h
TranslateMessage(&Msg);
) ~6 Y5 T0 M# L* o, A0 {& L f, K4 b
DispatchMessage(&Msg);
7 P/ J* S4 T% ~
}
1 [( j- P* Z, a7 Q( x8 Z2 c( O) _
return Msg.wParam; //程序终止时将消息退回系统
: d1 F) X9 `3 l, G9 x- |: R" Z
}
! b% t+ ]2 C# M ~* z
, L# t( Z& Y! a
//窗口函数
4 k: {5 e& ]* w/ g
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
& d# Q6 S, |4 u# N2 R
{
f. T m% P! Z, i) m2 {
switch(message)
6 g! s2 Q) W3 B; G7 k
{
- B, e V: @+ f! t9 t. c0 i
case WM_DESTROY;
* Q# ?9 E5 a* }9 }. F* _
PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
" q* N# A: C3 j6 b, f& z
default: //默认时采用系统消息默认处理函数
3 z3 K) Q" \* I0 A
return DefWindowProc(hwnd,message,wParam,lParam);
4 w! L, r3 l S9 \" y0 G* [
}
; A m8 n; p! O7 D# H
return (0);
. R' J k1 c- l2 ]5 e: w
}
2 K# i! ?7 h2 O, M8 j
: P) g' h" I3 R2 ^# H5 y
/ z$ n. ^- [' D4 I" X Z: n1 @' l
# r: Q% {* n+ s3 @- K
3 V; q5 j. x# |# w! U N
" `+ z z" J: H
- `/ \- \5 b! V3 N
# k: [- ^1 E' W. ^8 c5 }; r
& h) _. ~$ |' | C
: n! W2 Y6 A; b/ s5 }" d; k
. \8 x* H) n! H. U5 X0 a) Y; Z
# I) J- j8 z' ~3 L& X* @
' q( ~3 R5 _ n# R' k- Y: o/ i* Q
1 H' `5 r7 V- V' n; Y
, c0 g1 P9 k6 |0 q, i. |3 }
2 q7 e& n$ \" a4 S* U% R
' I4 o% }) E0 t s1 z* X( e
6 D0 v& I; n5 ~2 f0 K2 V2 `
作者:
噶及
时间:
2012-10-9 12:58
把 wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
( Z( k. I& V }( L
改为 wndclass.lpszClassName=lpszCLASSName;//窗口类名为“窗口实例”
! f$ l, E9 ]4 O( u
把hwnd=CreateWindow(
+ U% B# N) [- b/ Z
lpszClassName, //窗口类名
# K1 ~4 {, `$ E( w" Q( O2 J
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
: ]2 E. [* B- _; ]- h: H# p
WS_OVERLAPPEDWINDOW, //窗口的风格
# O9 g2 M: c/ S @7 ?9 c
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
. j, Q( q- Y, V
CW_USEDEFAULT, //窗口左上角坐标为默认值
' H( ~! i; t( i
CW_USEDEFAULT,
* D' G/ L2 }/ A' x
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
/ i% @, i; I7 s4 q
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
- S2 W7 U6 q6 X& x, V! C( ^# a' j
NULL, //此窗口无主菜单
( a. n* Z% l6 i n6 T5 I5 F" I
hInstance, //创建此窗口应用程序的当前句柄
- G& _4 P6 Y% |; @' a% a, |
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
# ]$ ^! j& z4 w' l6 `: x
);
( t4 U9 a9 L0 r7 x. I% i
改为:hwnd=CreateWindow(
. X3 e+ g2 F* A7 ~
lpszCLASSName, //窗口类名
) b$ A# E' ~; A) R
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
9 F# t6 _& B0 K2 I, P
WS_OVERLAPPEDWINDOW, //窗口的风格
4 S; N" H5 a" V4 h. K: x, Z2 b
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
' h: S/ C! G2 C0 W. _$ m
CW_USEDEFAULT, //窗口左上角坐标为默认值
8 z s) n+ h9 [7 j* b' C
CW_USEDEFAULT,
( ]! m7 h4 y' d8 H/ x. T. P
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
# L: m6 ^1 v1 i$ }) W( v
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
/ X$ S9 F- e! E- o
NULL, //此窗口无主菜单
; n, n7 K6 G7 l% K* v5 |0 Z' Y
hInstance, //创建此窗口应用程序的当前句柄
8 P2 t9 A& e6 P( _# X$ `
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
* O4 B* f. }0 n: ^' Z
);
1 d! S3 }1 Q4 w' [( s* m3 k/ T0 d3 d" Z- D
& Z% ^! K& E- b
Show Window中间空格去掉
% L6 ~4 W9 \( C8 [/ I. A
Update Window中间空格去掉
+ O1 v9 ^$ r% |; `+ N! R6 [7 R
case WM_DESTROY;的分号改为冒号
1 {; v4 D! I: X* |/ ]: z
应该就行了
作者:
小卢
时间:
2012-10-14 19:00
谢谢了。。。。。。。
作者:
ottiou
时间:
2012-12-9 17:47
。。。。zhege1这个我好想看不懂啊
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5