数学建模社区-数学中国

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

作者: 小卢    时间: 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;  //窗口处理函数为WndProc2 ^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/ gLRESULT 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. AUpdate 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