数学建模社区-数学中国

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

作者: 小卢    时间: 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 b9 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( v4 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/ gUpdate Window中间空格去掉
) Z$ l5 G9 {% Rcase 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