数学建模社区-数学中国

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

作者: 小卢    时间: 2012-9-21 18:41
标题: 请大神帮助。
我的C++程序 的错误时error C2065: 'lpszClassName' : undeclared identifier,请大家帮我看看错在哪儿。代码在下面:: E. {! f. N- o2 y. H* h
#include<windows.h>4 @/ }  O2 ?. Q
#include<iostream.h>
" n( W/ `/ U! [( w$ ?! Y+ GLRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口函数的说明; F& T3 d( y* [$ w6 X1 k; u/ w% p
0 \$ S# z+ a; n+ y8 l. Y
//-------------------以下为初始化窗口类; u4 A& F* @) z- }7 f- @( ^
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
* T8 w! A( \1 d9 n) N% q{
* B% E: d4 T& I. Y# U        HWND hwnd;
' c+ ?4 T2 P$ [2 w        MSG Msg;
) h# a9 c# E% X2 ^) e$ b5 ]        WNDCLASS wndclass;
2 o9 V8 B3 S7 `' K; }        char lpszCLASSName[]="窗口";//窗口类名
7 Y: Q2 T7 C2 u( P2 E* d# J) x        char lpszTitle[]="My_Windows";//窗口标题名& i, z* H& p) }1 k- T3 Z9 U
        //窗口类的定义# \5 j% O, p' S1 G
        wndclass.style=0;              //窗口类型为默认类型
! ]8 v, Y' L  f& t9 ~+ U4 }7 F        wndclass.lpfnWndProc=WndProc;  //窗口处理函数为WndProc
5 F: Z: {) D& q7 c% N) I        wndclass.cbClsExtra=0;         //窗口类无扩展
2 n4 Q% T/ D3 u6 N# V$ f3 m" x* Y- I        wndclass.cbWndExtra=0;          //窗口实例无扩展
# G2 V. g6 S& w2 \7 U* K        wndclass.hInstance=hInstance;   //当前实例句柄* b3 M; x  ?9 H( h
        wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为默认图标
1 X% ]0 S2 B1 A4 Z9 k        wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);  //窗口采用箭头光标5 j6 p9 q$ z6 w6 _7 D
        wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色4 G& r! b$ e1 m
        wndclass.lpszMenuName=NULL;      //窗口中无菜单% B1 D( E; w' W% @% m* X1 g* H
        wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
, |$ _# c7 @2 F! E: k
2 i5 v1 k" N' S% u; M( K$ j7 Y6 s, s
        //-------------------------以下进行窗口类的注册---------. Q- S2 _6 n  B# Y2 F% q( b' \
        if(!RegisterClass(&wndclass))1 x7 f/ ]6 ?0 P  d. J( r% ?4 E
        {4 Z; G2 O, ^& c, o/ v( ]3 A, c
                MessageBeep(0);                   //如果注册失败则发出警告声音
. T' L' l; Y9 d5 [: Y                return FALSE;
; @+ }- v" `, z+ Q        }
# [/ r! |: P# u        hwnd=CreateWindow(
8 j! M! q7 y' C& _7 @& e        lpszClassName,                         //窗口类名: g4 A4 r2 f% M8 j
        lpszTitle,                             //窗口实例的标题名  
7 u5 i, x: t5 Y# {4 ?8 w        WS_OVERLAPPEDWINDOW,                   //窗口的风格
4 Y" q6 ^6 `) _7 `        CW_USEDEFAULT,                         ) ?2 i4 |1 s) C* A( a
        CW_USEDEFAULT,                          //窗口左上角坐标为默认值
/ _$ h' Q# S$ S) e        CW_USEDEFAULT,                     
1 V' V8 M- W3 S        CW_USEDEFAULT,                          //窗口的高和宽为默认值
& m9 }/ @4 J: b3 S: o7 V! Y        NULL,                                   //此窗口无父窗口2 \3 z$ j0 N( X! s3 E7 w6 L
        NULL,                                   //此窗口无主菜单
7 ?, B' z9 O# K( v        hInstance,                               //创建此窗口应用程序的当前句柄+ c) G5 C5 z" P
        NULL                                     //不使用该值3 R( z' u% e+ u8 O0 \- D9 o' Z
        );( M- f; j7 O+ d( A
        Show Window(hwnd,nCmdShow);              //显示窗口
5 i! F- X2 x$ @        Update Window(hwnd);                     //绘制用户区% z" C# x# N' j
        while(GetMessage(&Msg,NULL,0,0))          //消息循环
% z4 n8 N/ G2 @        {3 v; z: Z/ F) X3 ]6 M  x
                TranslateMessage(&Msg);& b# Q( z6 l; K
                DispatchMessage(&Msg);; e6 w6 J( ?5 `( B* O+ P
        }) Q) v+ D1 K: v4 W
        return Msg.wParam;                       //程序终止时将消息退回系统  `' J  U+ A5 }! O3 Y" o
}
3 q5 M# }# ^! H& Q0 [' s/ r- T" F9 m" p" |) t
//窗口函数( }) I% |% ^; z
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
1 s. x! U; j1 Z{! w! r& q3 Y( Y+ F" L% D0 s
        switch(message), U4 s+ l' @+ o1 ~. D
        {
- Q+ w4 w9 ]4 y% U6 X3 J                case WM_DESTROY;9 d9 N" ^8 }: R" K5 Y2 F
                        PostQuitMessage(0);                      //调用PostQuitMessage发出WM_QUIT消息! `8 j# U$ B) T* x) _
        default:                                         //默认时采用系统消息默认处理函数8 G$ E9 H4 F; }4 k5 f
                return DefWindowProc(hwnd,message,wParam,lParam);- |# u# O% R4 F/ @& m7 i; p# D5 q
        }
5 Q0 T( c* [/ s2 U        return (0);
9 G' Q: F: |9 u0 T+ I' r! s, k& y}8 S# ^  Q7 A' r

) w2 L4 ?9 T# }2 A5 n* ~4 G/ ]* `4 [1 ?7 z+ f! s4 I
8 z4 _  k# l* `& ]
! _! N. S3 i4 A0 ^" g/ H
. B2 q* w, p8 x' Y7 d) p
6 ]7 s; o3 A) o  {
5 T' {* ?, F  b9 l0 {' g: h" h
1 x$ ~- x) ^& k7 Q; [5 E
+ B3 I3 o; P; |4 t' n0 q7 y
' p0 a4 W% W. r, c# k: o6 {: ]

; X0 u% ]3 ?7 [$ L! F6 s
" u" r( ^8 M4 Q8 k# _' b        2 ?; w# e8 q9 ^
- Z+ C$ |4 j+ e
* ?' v9 ?3 H" f; P7 d6 G3 O: @/ t  |

* @& `, A3 S. `5 N2 U
9 \8 j/ l0 l% ]: Q3 R& J
作者: 噶及    时间: 2012-10-9 12:58
把 wndclass.lpszClassName=lpszClassName;//窗口类名为“窗口实例”
' ?0 g0 `# h+ U+ e改为  wndclass.lpszClassName=lpszCLASSName;//窗口类名为“窗口实例”
" L4 B: j1 @. b5 K6 G把hwnd=CreateWindow(& C! X( c  O) s" B; R2 K9 X
         lpszClassName,                         //窗口类名
1 T2 _3 u" [6 J7 k  l+ U  C         lpszTitle,                             //窗口实例的标题名  & B1 c1 ]" g- l- H9 I$ l7 d7 ]
1 f' Y8 D& s  }5 d         WS_OVERLAPPEDWINDOW,                   //窗口的风格
1 e( T, u! L3 _         CW_USEDEFAULT,                           Z" @7 Q- u/ d. B! ]& y5 Q( v
4 p; x' q& s: C         CW_USEDEFAULT,                          //窗口左上角坐标为默认值) t$ E6 Y/ |( Y' m% K1 ^0 G% S
         CW_USEDEFAULT,                      ; o% F. U6 \3 Y4 h0 N. Q# A
        CW_USEDEFAULT,                          //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d
) ~9 F; ?7 n* z& [. e. ]         NULL,                                   //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S1 ~. R# p" P( b- A# v) m) t8 T
         NULL,                                   //此窗口无主菜单- I6 E7 ?; H  T( q& s* G
         hInstance,                               //创建此窗口应用程序的当前句柄/ C2 q5 t% R6 Z& J, `, K$ d
         NULL                                     //不使用该值  i/ C. W0 [9 J9 i- E% g: M0 I% M+ ^$ J7 a( s- e8 u
         );
" H+ z% M  s9 H& _; M$ B) o改为:hwnd=CreateWindow(
/ ?$ Y( h1 Y  s0 O' B         lpszCLASSName,                         //窗口类名: e" A( A% f0 i; e( Z% T- }
         lpszTitle,                             //窗口实例的标题名  & B1 c1 ]" g- l- H9 I$ l7 d7 ]7 s  A* j: {' f" y
         WS_OVERLAPPEDWINDOW,                   //窗口的风格
8 p& Y$ \! f4 h; [+ N         CW_USEDEFAULT,                           Z" @7 Q- u/ d. B! ]& y5 Q( v
( w) w- D: F4 {6 [! g         CW_USEDEFAULT,                          //窗口左上角坐标为默认值5 u- [% F1 Z' V. W+ g
         CW_USEDEFAULT,                     
: v5 ~9 Y& r4 ?        CW_USEDEFAULT,                          //窗口的高和宽为默认值3 S: F. [1 P: W7 T' |) q# @" d: J) E9 G9 U* D. u) I0 Q
         NULL,                                   //此窗口无父窗口$ P4 M% \: l/ x6 r. n, S
2 S0 r: L, S. M% v: w& [4 |8 y) v         NULL,                                   //此窗口无主菜单# ]5 ]' Y1 w* J3 S* }+ r
         hInstance,                               //创建此窗口应用程序的当前句柄$ A8 x# j4 N6 E5 \. _* p& Z
         NULL                                     //不使用该值  i/ C. W0 [9 J9 i- E% g
+ ~+ Y+ n5 m: O" B& Q         );4 D$ O0 l5 i+ h) z' w  b, i0 c
( ?# D- `" V$ b( J, Q' X  P
   Show Window中间空格去掉- H# G( U4 K3 A+ A/ e8 y
Update Window中间空格去掉0 m1 N5 M- u  U( I+ t  k
case WM_DESTROY;的分号改为冒号
& L. h8 @  s4 `) f/ l应该就行了
作者: 小卢    时间: 2012-10-14 19:00
谢谢了。。。。。。。
作者: ottiou    时间: 2012-12-9 17:47
。。。。zhege1这个我好想看不懂啊




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5