数学建模社区-数学中国

标题: 请大神帮助。 [打印本页]

作者: 小卢    时间: 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; uLRESULT 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' ?) Rint 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+ C0 \" 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 H5 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( v8 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, S3 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% g6 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 qUpdate Window中间空格去掉
4 o7 Z# v+ y# R: L! }. m! ucase 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