第7章资源在windows编程中的应用(编辑修改稿)内容摘要:

nableMenuItem(hmenu,IDM_DELMENU,MF_GRAYED)。 DrawMenuBar(hwnd)。 //重新显示窗口菜单 break。 case IDM_EXIT: SendMessage(hwnd,WM_DESTROY,0,0)。 break。 } break。 case WM_DESTROY: PostQuitMessage(0)。 break。 default: return DefWindowProc(hwnd,message,wParam,lParam)。 } return 0。 } 24 本例程的头文件如下: define IDM_ADDMENU 15 define IDM_DELMENU 16 define IDM_EXIT 17 define IDM_HELP 22 define IDM_qiuhe 23 define IDM_fangcha 24 define IDM_pinjunzhi 25 define IDM_junfanggen 26 25 本例程用到的资源文件源代码如下: include c:\prog_book\7_1\ include MENU MENU DISCARDABLE BEGIN POPUP 文件 (amp。 F) BEGIN MENUITEM 创建统计计算菜单项 (amp。 P)\t Ctrl+P, IDM_ADDMENU MENUITEM 删除统计计算菜单项 (amp。 D)\t Ctrl+D, IDM_DELMENU, GRAYED MENUITEM SEPARATOR MENUITEM 退出 (amp。 X), IDM_EXIT END MENUITEM 帮助 (amp。 H), IDM_HELP END MENU ACCELERATORS MOVEABLE PURE BEGIN ^P, IDM_ADDMENU, ASCII ^D, IDM_DELMENU, ASCII END 26 位图资源及其应用 27 位图概念 位图是一种数字化的图形表示形式 , 位图中的每个像素点由位图文件中的一位或多位数据表示。 整个位图的信息被细化为每个像素点的属性值。 位图数据量一般较大 , 为了提高显示刷新速度 , 位图操作须在内存中进行。 28 位图的操作过程 位图操作过程: • 定义位图句柄: HBITMAP hBm。 • 加载 或 创建 hBm=LoadBitmap(hInstance, lpszName) hBm=CreateCompatibleBitmap(hdc,nWidth,nHeight) • 选入内存设备环境 SelectObject(hdcmem,hBm)。 • 输出 BOOL BitBlt ( HDC hdcDest, //目的设备环境句柄 int XDest,int YDest, int nWidth, int nHeitght, //位图基点及高宽 HDC hdcSrc, int nXSrc,int nYsrc, //源设备环境句柄及位图基点 DWORD dwRop //标识位图显示方式 ) 29 在输出位图之前 , 经常需调用函数 GetObject获取位图的尺寸: GetObject (hBitmap, //为位图句柄 sizeof(BITMAP), //BITMAP结构的大小 (LPVOID)amp。 bm //BITMAP结构的地址 ) 应用程序调用函数 GetObject后 , 将指定位图的信息写入 BITMAP结构中 ( 结构见教材 ) 30 位图操作实例 【 例 72】 本例调用一幅坦克的图片,并在用户窗口区上显示 LRESULT CALLBACK WndProc(……) { PAINTSTRUCT ps。 switch(message) {case WM_CREATE: hdc=GetDC(hwnd)。 //获取设备环境句柄 hdcmem=CreateCompatibleDC(hdc)。 //内存设备环境句柄 ReleaseDC(hwnd,hdc)。 //释放设备环境句柄 case WM_PAINT: hdc=BeginPaint(hwnd,amp。 ps)。 SelectObject(hdcmem,hBm)。 //将位图选入内存设备环境 31 //将内存设备环境中的位图拷贝到设备环境中 BitBlt(hdc,180,80,hdcmem,0,0,SRCCOPY)。 EndPaint(hwnd,amp。 ps)。 //释放设备环境句柄 break。 case WM_DESTROY: DeleteObject(hBm)。 //释放位图 PostQuitMessage(0)。 break。 default: return DefWindowProc(hwnd,message,wParam,lParam)。 } return 0。 } 本例的资源文件如下: pic7 BITMAP //定义位图资源 32 对话框资源及其应用 对话框是一个弹出式窗口,它一般用于用户输入或与用户进行交互活动的场合 对 话 框 模式 非模式 允许 用户在该对话框与应用程序其他窗口之间的切换,非模式对话框从 WinMain函数的消息循环中接收输入 不允许 用户在关闭对话框之前切换到应用程序的其他窗口 33 模式对话框的编程方法 1.定义对话框资源 一般的形式为: 对话框名 DIALOG [载入特性选项 ] X, Y, Width, Height [设置选项 ] { 对话框的控件定义 } 样式选项决定了对话框的外型特点,样式见表 76 CHECKBOX、 ICON、 COMBOBOX LISTBOX、 DEFPUSHBUTTON、 PUSHBUTTON、 RADIOBUTTON、 GROUPBOX、 EDIT、 SCROLLBAR 静态文本控。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。