| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:麻烦帮我看看这个程序(书上的例子)是怎么回事,编译总是通不过
取消只看楼主 加入收藏
yc0708
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-27
收藏
 问题点数:0 回复次数:1 
麻烦帮我看看这个程序(书上的例子)是怎么回事,编译总是通不过
麻烦哪位高手帮我看看,编译通不过呀。
#include<iostream.h>
LRESULT CALLBACK WndProc(HWND,UNIT,WPARAM,LPARAM);
char szClassName[]="windowclass";
char szAppTitle[]="API 建立窗口实例";
INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,INT nCmdShow)
{
     HWND hMainWnd;
     MSG msg;
     WNDCLASS winclass;
  if(!hPrevInstance)
      //判断是否已有应用程序的实例存在运行,给窗口结构体的数据成员赋值来规定所要建立的窗口的特征
  {
      winclass.style=CS_HREDRAW|CS_AVERDRAW;//窗口风格
      winclass.lpfnWndProc=WndProc;         //窗口的消息处理函数
      winclass.cbClsExtra=0;                //窗口类无扩展
      winclass.cbWndExtra=0;                //窗口实例无扩展
      winclass.hInstance=hInstance;         //当前应用程序实例句柄
      winclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口最小化图标为缺省图标
      winclass.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口采用箭头光标
      winclass.hbrBackground=(HBRUSH)GetStockObject(LTGRAY_BRUSH);//窗口背景色为浅灰色
      winclass.lpszMenuName=NULL;          //无窗口菜单
      winclass.lpszClassName=szClassName;  //给窗口结构体命名
      RegisterClass(&winclass);
  }
  //下面用CreateWindow()函数建立窗口,并返回所建立的窗口句柄
  hMainWnd=CreateWindow(
      szClassName,                        //窗口结构体名称
      szAppTitle,                         //窗口的标题
      WS_OVERLAPPEDWINDOW,                //窗口风格为可重叠窗口
      //下面4个参数代表窗口左上角x,y坐标和窗口的宽度以及高度,都使用缺省值
      CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
      //下面参数分别为父窗口句柄、窗口菜单句柄、应用程序实例句柄和附加参数
      NULL,NULL,hInstance,NULL);
  ShowWindow(hMainWnd,SW_SHOWNORMAL);
  UpdateWindow(hMainWnd);
  while(GetMessage(&msg,NULL,0,0))       //获取消息,填充msg结构体
  {
      TranslateMessage(&msg);            //翻译键盘消息
      DispatchMessage(&msg);             //向窗口函数发送消息,让窗口函数处理
  }
  return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hMainWnd,UNIT message,WPARAM wParam,LPARAM lParam)
//窗口函数的定义
{
    HDC hdc;                             //设备描述表
    PAINTSTRUCT ps;                      //刷新区域
    RECT rect;                           //矩形结构
    char messageleft[]="按下了鼠标左键!";
    char messageright[]="按下了鼠标右键!";
        switch(message)
        {
        case WM_PAINT:
            {
                hdc=BeginPaint(hMainWnd,&ps);
                GetClientRect(hMainWnd,&rect);
                DrawText(hdc,TEXT("使用API建立Windows窗口实例!"),-1,&rect,DT_SINGLELINE|
                    DT_CENTER|DT_Visual C++ENTER);
                EndPaint(hMainWnd,&ps);
                break;
            }
        case WM_RBUTTONDOWN:
            {
                MessageBox(GetFocus(),messageright,"API建立窗口实例!",MB_OK|MB_ICONINFORMATION);
                break;
            }
        case WM_LBUTTONDOWN:
            {
                MessageBox(GetFocus(),messageleft,"API建立窗口实例",MB_OK|MB_ICONINFORMATION);
                    break;
            }
        case WM_DESTROY:
            {
                PostQuitMessage(0);
                return 0;
            }
        default:
            break;
        }
        return DefWindowProc(hMainWnd,message,wParam,lParam);
}

[[it] 本帖最后由 yc0708 于 2008-11-30 18:36 编辑 [/it]]
搜索更多相关主题的帖子: 麻烦 编译 例子 
2008-11-30 18:35
yc0708
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-27
收藏
得分:0 
谢谢了呀!能加一下你的QQ吗?
2008-12-01 13:02
快速回复:麻烦帮我看看这个程序(书上的例子)是怎么回事,编译总是通不过
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012883 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved