CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

初级窗口问题,小弟刚刚接触windows编程

楼主wwwdufei(浪狼)2004-09-03 21:45:26 在 VC/MFC / 基础类 提问

//   窗口programe.cpp   :   Defines   the   entry   point   for   the   application.  
  //  
   
  #include"stdafx.h"  
  LRESULT   CALLBACK   WndProc   (   HWND,   UINT,   WPARAM,   LPARAM   );  
   
  int   APIENTRY   WinMain(   HINSTANCE   hInstance,  
                                              HINSTANCE   hPrevInstance,  
                                              LPSTR           lpCmdLine,  
                                              int               nCmdShow   )  
  {  
    //   TODO:   Place   code   here.  
  HWND   hwnd;  
  MSG   Msg;  
  WNDCLASS   wndclass;  
  char   lpszClassName[]   =   "窗口";  
  char   lpszTitle[]   =   "My-windows";  
   
  //窗口类的定义  
  wndclass.style   =   0;  
  wndclass.lpfnWndProc   =   WndProc;  
  wndclass.cbClsExtra   =   0;  
  wndclass.cbWndExtra   =   0;  
  wndclass.hInstance   =   hInstance;  
  wndclass.hIcon   =   LoadIcon   (   NULL,   IDI_APPLICATION   );  
  wndclass.hCursor   =   LoadCursor   (   NULL,   IDC_ARROW   );  
  wndclass.hbrBackground   =   GetStockObject   (   WHITE_BRUSH   );  
  wndclass.lpszMenuName   =   NULL;  
  wndclass.lpszClassName   =   lpszClassName;  
   
  if   (   !   RegisterClass   (   &wndclass   )   )  
  {  
  MessageBeep   (   0   );  
  return   FALSE;  
  }  
   
  hwnd   =   CreateWindow   (   lpszClassName,  
      lpszTitle,  
      WS_OVERLAPPEDWINDOW,  
      CW_USEDEFAULT,  
      CW_USEDEFAULT,  
      CW_USEDEFAULT,  
      CW_USEDEFAULT,  
      NULL,  
      NULL,  
      hInstance,  
      NULL);  
   
  //显示窗口  
  ShowWindow   (   hwnd,   nCmdshow   );  
   
  //绘制用户区  
  UpdateWindow   (   hwnd   );  
   
  //消息循环  
  while   (   GetMessage   (   &Msg,   NULL,   0,   0   )   )  
  {  
  TranslateMessage   (   &Msg   );  
  DispatchMessage   (   &Msg   );  
  }  
  return   Msg.wParam;  
  }  
   
  //窗口函数  
  LRESULT   CALLBACK   WndProc   (   HWND   hwnd,  
        UINT   message,  
        WPARAM   wParam,  
        LPARAM   IParam   )  
  {  
  switch   (   message   )  
  {  
  case   WM_DESTROY:  
  PostQuitMessage   (   0   );  
  default:  
  return   DefWindowProc   (   hwnd,   message,   wParam,   lParam   );  
  }  
  return   (   0   );  
  }  
   
   
  不知道为什么通不过,他提示好像是因为头文件问题  
  初级问题,没办法才拿出来问的,谢谢各位 问题点数:0、回复次数:6Top

1 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-09-03 21:50:27 得分 0

你用的是SDK编程吧,头文件应该包含windows.h,最好不要用stdafx.hTop

2 楼wwwdufei(浪狼)回复于 2004-09-03 21:59:07 得分 0

我用的是vc6.0,打开后头文件就是stdafx.h  
   
  我也试着把头文件改成windows.h  
   
  可是错误没变Top

3 楼KyoUs(符号)回复于 2004-09-03 22:06:18 得分 0

把编译信息贴出来吧。这样看很累Top

4 楼titilima(李马 - www.titilima.cn)回复于 2004-09-03 22:07:41 得分 0

#include   <windows.h>  
  LRESULT   CALLBACK   WndProc   (   HWND,   UINT,   WPARAM,   LPARAM   );  
   
  int   APIENTRY   WinMain(   HINSTANCE   hInstance,  
                                            HINSTANCE   hPrevInstance,  
                                            LPSTR           lpCmdLine,  
                                            int               nCmdShow   )  
  {  
    //   TODO:   Place   code   here.  
      HWND   hwnd;  
      MSG   Msg;  
      WNDCLASS   wndclass;  
      char   lpszClassName[]   =   "窗口";  
      char   lpszTitle[]   =   "My-windows";  
       
      //窗口类的定义  
      wndclass.style   =   0;  
      wndclass.lpfnWndProc   =   WndProc;  
      wndclass.cbClsExtra   =   0;  
      wndclass.cbWndExtra   =   0;  
      wndclass.hInstance   =   hInstance;  
      wndclass.hIcon   =   LoadIcon   (   NULL,   IDI_APPLICATION   );  
      wndclass.hCursor   =   LoadCursor   (   NULL,   IDC_ARROW   );  
      wndclass.hbrBackground   =   (HBRUSH)GetStockObject   (   WHITE_BRUSH   );   //   C++对类型的检查较为严格,这里要强制转换  
      wndclass.lpszMenuName   =   NULL;  
      wndclass.lpszClassName   =   lpszClassName;  
       
      if   (   !   RegisterClass   (   &wndclass   )   )  
      {  
          MessageBeep   (   0   );  
          return   FALSE;  
      }  
       
      hwnd   =   CreateWindow   (   lpszClassName,  
          lpszTitle,  
          WS_OVERLAPPEDWINDOW,  
          CW_USEDEFAULT,  
          CW_USEDEFAULT,  
          CW_USEDEFAULT,  
          CW_USEDEFAULT,  
          NULL,  
          NULL,  
          hInstance,  
          NULL);  
       
      //显示窗口  
      ShowWindow   (   hwnd,   nCmdShow   );   //   拼写要正确!  
       
      //绘制用户区  
      UpdateWindow   (   hwnd   );  
       
      //消息循环  
      while   (   GetMessage   (   &Msg,   NULL,   0,   0   )   )  
      {  
          TranslateMessage   (   &Msg   );  
          DispatchMessage   (   &Msg   );  
      }  
      return   Msg.wParam;  
  }  
   
  //窗口函数  
  LRESULT   CALLBACK   WndProc   (   HWND   hwnd,  
                                                      UINT   message,  
                                                      WPARAM   wParam,  
                                                      LPARAM   lParam   )   //   拼写要正确!  
  {  
      switch   (   message   )  
      {  
  case   WM_DESTROY:  
              PostQuitMessage   (   0   );  
          default:  
              return   DefWindowProc   (   hwnd,   message,   wParam,   lParam   );  
      }  
      return   (   0   );  
  }Top

5 楼888atao(阿涛)回复于 2004-09-04 11:21:55 得分 0

按   titilima(李马)   说的做  
  再把工程设置成WIN32的  
  应该有什么问题了Top

6 楼mintwlf(Programmer)回复于 2004-09-04 13:26:12 得分 0

把库设置完整了Top

相关问题

  • windows编程初级问题,请指教
  • 初学用WINDOWS SDK编程,请教一个初级问题!
  • 初级Socket编程错误?
  • 刚开始接触windows编程,用什么最棒~~~
  • 网络编程初级问题。
  • socket编程的初级问题。
  • 关于Delphi编程 初级问题 3
  • 初级的SDK编程问题!
  • winsock编程的初级问题:)
  • MFC的WinSocket编程初级问题

关键词

  • application
  • null
  • wndclass
  • lpszclassname
  • hinstance
  • lpsztitle
  • hwnd
  • wndproc
  • cw
  • wparam

得分解答快速导航

  • 帖主:wwwdufei

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo