数学建模社区-数学中国
标题:
请大神帮助。
[打印本页]
作者:
小卢
时间:
2012-9-21 18:41
标题:
请大神帮助。
我的C++程序 的错误时error C2065: 'lpszClassName' : undeclared identifier,请大家帮我看看错在哪儿。代码在下面:
% ~0 L) }: O; p; l' |
#include<windows.h>
+ Y8 A4 |9 Z8 z6 ]- o) O+ j# Y: b0 A. r
#include<iostream.h>
# H1 O$ E8 d" u/ `
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数的说明
# i7 l) k. U$ m4 E q
' b Z: M" N' t% o& G
//-------------------以下为初始化窗口类
. y' w2 a8 _6 v( {: `% _6 s
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
. ~" |/ u; D( j' b
{
5 H! W* ^" f/ U. E
HWND hwnd;
' Z H3 z# H: t6 x- i
MSG Msg;
& x8 t$ M. j$ o- [: {9 L: t* I& y
WNDCLASS wndclass;
4 B2 P- l* q; M$ R
char lpszCLASSName[]="窗口";//窗口类名
0 ^' k6 ]# L" j# ~
char lpszTitle[]="My_Windows";//窗口标题名
# L0 Y: z7 W, b2 \, {1 S, d
//窗口类的定义
$ H; x2 w( f. H; p( m( T" O5 {7 X
wndclass.style=0; //窗口类型为默认类型
7 o: ]( s, S, Z8 ^: Q/ y! a! _% g
wndclass.lpfnWndProc=WndProc; //窗口处理函数为WndProc
, g; K5 I5 Y9 w8 E5 s
wndclass.cbClsExtra=0; //窗口类无扩展
d9 @( Q1 h- K
wndclass.cbWndExtra=0; //窗口实例无扩展
5 i$ q; {$ v/ Q. w$ ^; x
wndclass.hInstance=hInstance; //当前实例句柄
" P6 L- X5 j8 U5 k- L/ d
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为默认图标
3 W, o) w$ M1 A U
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); //窗口采用箭头光标
) i# m0 ^; L* E- b( m( s
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色
& D5 W' z+ o1 B: x6 W" Q
wndclass.lpszMenuName=NULL; //窗口中无菜单
$ I9 }& Y# B4 l" ^7 }
wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
+ Y3 \7 |0 [0 D
; p- L# E) O) P$ e8 t
4 D% _: ]9 V3 N4 w9 @ O6 I4 {
//-------------------------以下进行窗口类的注册---------
' b! k0 @. \* q# [! h
if(!RegisterClass(&wndclass))
2 L0 T9 d7 U7 f3 M
{
* T* O# m7 i) b& |& P* U
MessageBeep(0); //如果注册失败则发出警告声音
1 `8 A( l9 e# e& I
return FALSE;
6 a1 b s7 H7 {: Z, L- [
}
% z' w9 N# s, @" g8 K- U7 ~
hwnd=CreateWindow(
7 p) L7 _: @2 w$ ^+ Y/ W
lpszClassName, //窗口类名
/ n% K2 X p& `" Q" \' P4 [
lpszTitle, //窗口实例的标题名
1 i n+ n4 n5 s+ [0 a
WS_OVERLAPPEDWINDOW, //窗口的风格
3 z# R/ ^# X0 p3 w& s7 u
CW_USEDEFAULT,
2 ^; S9 u$ v+ W1 b# _; R
CW_USEDEFAULT, //窗口左上角坐标为默认值
6 y% j+ }: \6 C. Z4 V- m
CW_USEDEFAULT,
( ~4 Q; p$ Q( A/ K
CW_USEDEFAULT, //窗口的高和宽为默认值
8 x S$ D! O: u! T/ J9 B
NULL, //此窗口无父窗口
$ [/ I% b2 b* i. r$ u" \9 I7 e
NULL, //此窗口无主菜单
' o9 D! r, g" M2 J+ W8 E/ s- ^
hInstance, //创建此窗口应用程序的当前句柄
P) D0 P$ Y/ F( W8 t8 \
NULL //不使用该值
% f& ^/ T' D8 R* u8 y- z& i
);
" p' K/ g; U3 c% K) l
Show Window(hwnd,nCmdShow); //显示窗口
L$ O% X$ {, o- i$ S
Update Window(hwnd); //绘制用户区
% V1 W. p5 f" X. |$ o: D
while(GetMessage(&Msg,NULL,0,0)) //消息循环
+ h; x7 y' k, ^2 l5 V
{
) Q8 k& X) m$ m2 B- T
TranslateMessage(&Msg);
$ n# g4 Y( `& w5 x1 m8 S" x
DispatchMessage(&Msg);
) {; E( E9 A' }* D# H) q/ N/ x
}
: q k. k" {9 m& i3 D
return Msg.wParam; //程序终止时将消息退回系统
9 a0 M( ^% B! q, ]+ @
}
1 }% ~! f( T: N2 q* j$ {" c! ?# u
# |" _( H$ Z+ N9 G6 v
//窗口函数
" D# l1 h3 c+ X2 `! e6 s, `
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
5 O% [4 Y# X7 U! E& x+ T, b
{
; F/ F7 L g" p% o4 d( T; j
switch(message)
1 v/ G" V/ z# B; U
{
5 u) U p3 I* m* }7 E
case WM_DESTROY;
& {- |( O5 q) A
PostQuitMessage(0); //调用PostQuitMessage发出WM_QUIT消息
( z& c0 J. t( E
default: //默认时采用系统消息默认处理函数
2 O2 X( F% w, P% _
return DefWindowProc(hwnd,message,wParam,lParam);
; \ S- }1 `- i4 I
}
( J/ Y6 p' n: |, N1 ]* n5 B6 F
return (0);
l, ^! U4 @9 P* Y; G8 O
}
( `* v% S* U3 e* h! ?
! `& g7 T2 H! a$ d2 W
. G. o% W8 e M6 D+ }+ I" j
; r% }7 l( t4 W5 @! r0 g
1 y: M* [9 Q2 F ~8 d3 F S
/ E" d" P: v% i( B# `) w
: X, ~, I0 p/ I% M8 \$ ^, B
1 D( i, |* q" l! z! g
- {" t" V$ ]" _
' p+ `. L/ M- e3 Y
, U# y7 M6 H7 b
9 x" `' v4 x- i0 \: x
: S6 `7 }4 B5 Q! x/ j% A0 |
3 G; a' ^: ~9 _: m. Y% _
! Y _# l/ p+ v% X) e$ D
4 G3 u& K7 `$ ^& C ~% ~7 `0 u
) L7 Z1 ]. }8 Y/ Y
7 s) X0 @8 B4 ?0 d% T
作者:
噶及
时间:
2012-10-9 12:58
把 wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
! U0 ^. K% m4 g1 {4 F7 U7 m
改为 wndclass.lpszClassName=lpszCLASSName;//窗口类名为“窗口实例”
! b" V- _% p6 n1 s0 c; D u {0 Q
把hwnd=CreateWindow(
: ?. J D, V f" N" \
lpszClassName, //窗口类名
/ e5 h+ j1 k! r3 L+ Q" e5 h
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
; `1 M. t0 [# l/ c) r
WS_OVERLAPPEDWINDOW, //窗口的风格
2 `' k9 x+ M! a m2 ?
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
) u1 H6 a A. l, o
CW_USEDEFAULT, //窗口左上角坐标为默认值
& e# |+ _" D4 k
CW_USEDEFAULT,
3 G0 y5 y1 x& L: E2 ~$ J4 S) Z
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
/ U, ^3 z ^6 U" {2 E k& F
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
b- B1 M* h/ b. n; x
NULL, //此窗口无主菜单
3 u9 a j. M6 P2 {+ f
hInstance, //创建此窗口应用程序的当前句柄
( u1 U$ v8 k" s
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
% }* u( \( x- I' W% i* e: }
);
" `( K8 w; h5 ?* b" w5 I2 v; |
改为:hwnd=CreateWindow(
4 o: \7 p2 T( h1 N
lpszCLASSName, //窗口类名
7 o' O4 V9 f+ O- r2 T7 B
lpszTitle, //窗口实例的标题名 & B1 c1 ]" g- l- H9 I$ l7 d7 ]
2 G) ?9 l8 f" P
WS_OVERLAPPEDWINDOW, //窗口的风格
) a, o- B$ v* r( E7 ?3 g
CW_USEDEFAULT, Z" @7 Q- u/ d. B! ]& y5 Q( v
4 o7 v( V( C" m7 g, Z& l5 q
CW_USEDEFAULT, //窗口左上角坐标为默认值
' p; B" d; d4 I* l( M9 u! t
CW_USEDEFAULT,
# F$ `9 i) ?8 r2 {: @: Q, R
CW_USEDEFAULT, //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
; @8 ~0 g1 r% a( f$ C) L3 Y5 E6 _' b
NULL, //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
$ j% W. m/ n* J t( ]7 f
NULL, //此窗口无主菜单
, C6 r9 w5 H* k4 j& T" F5 M/ f ~
hInstance, //创建此窗口应用程序的当前句柄
. e1 K0 Z$ c5 I9 P
NULL //不使用该值 i/ C. W0 [9 J9 i- E% g
- H# e$ R& h9 l8 _
);
+ i* `3 i0 c3 _
, F$ i! _+ G: V, Q2 P
Show Window中间空格去掉
" U8 z }$ ^, G, C% m/ g
Update Window中间空格去掉
) Z$ l5 G9 {% R
case WM_DESTROY;的分号改为冒号
. e! k6 G1 @: V6 I# ]0 ]
应该就行了
作者:
小卢
时间:
2012-10-14 19:00
谢谢了。。。。。。。
作者:
ottiou
时间:
2012-12-9 17:47
。。。。zhege1这个我好想看不懂啊
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5