- 5
- 0
- 约1.66万字
- 约 64页
- 2017-03-22 发布于河南
- 举报
VC_07
第七章 资源在Windows编程中的应用 Huang Weitong 7.4 位图操作实例 【例7-2】位图操作示例。本例调用一幅图片,并在用户窗口区上显示 本例的资源文件如下: pic7_2 BITMAP pic7_2.bmp //定义位图资源 #include #include #include #include LRESULT CALLBACK WndProc HWND,UINT,WPARAM,LPARAM ; HDC hdc, hdcmem; //设备环境句柄和内存设备环境句柄 HBITMAP hBm; //位图句柄 BITMAP bm; //BITMAP结构 int WINAPI WinMain ……,……, HWND hwnd ; MSG Msg ; WNDCLASS wndclass ; char lpszClassName[] 位图; char lpszTitle[] Example_For_BitMap; wndclass.style 0; …… wndclass.lpszClassName lpszClassName; if !RegisterClass wndclass MessageBeep 0 ; return FALSE ; hwnd CreateWindow ……,……,…… ; hBm LoadBitmap hInstance,pic7_2 ; //加载位图 GetObject hBm,sizeof BITMAP , LPVOID bm ;//获取位图尺寸 ShowWindow hwnd, nCmdShow ; UpdateWindow hwnd ; while GetMessage Msg, NULL, 0, 0 TranslateMessage Msg ; DispatchMessage Msg ; return Msg.wParam; LRESULT CALLBACK WndProc ……,……,……,…… PAINTSTRUCT ps; switch message case WM_CREATE: hdc GetDC hwnd ; //获取设备环境 hdcmem CreateCompatibleDC hdc ; //获取内存设备环境 ReleaseDC hwnd,hdc ; //释放设备环境 break; case WM_PAINT: hdc BeginPaint hwnd,ps ; SelectObject hdcmem,hBm ; //将位图选入内存设备环境 //调用BitBlt将内存设备环境中的位图拷贝到设备环境中 BitBlt hdc,180,80,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY ; EndPaint hwnd,ps ; //释放设备环境句柄 break; case WM_DESTROY: DeleteObject hBm ; //释放位图 PostQuitMessage 0 ; break; default: return DefWindowProc hwnd,message,wParam,lParam ; return 0; 7.5 对话框资源及其应用 对话框资源通常有如下功能: 发送消息如警告消息、提示框消息 接收输入如用户输入的消息 提供消息如常见的“关于”对话框 一种弹出式窗口 对话框 模式对话框 非模式对话框 不允许用户在关闭对话框之前切换到应用程序的其他窗口 允许用户在该对话框与应用程序其他窗口之间的切换 7.5.1 模式对话框的编程方法 2. 显示对话框 3. 构造对话框消息处理函数 4. 关闭对话框 1. 定义对话框资源 模式对话框 的编程方法 创建对话框首先应在应用程序的资源描述文件中定义对话框 对话框名 DIALOG[载入特性选项]X,Y,Width,Height[设置选项] 对话框的控件定义 1.定义对话框资源 对话框样式可用组合样式,下列定义了含标题栏的弹出式对话框: STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION 与菜单资源相同 位置及外型尺寸 常用的有CAPTION 标题 和STYLE 样式 2. 显示对话框 在定义对话框资源后,可调用DialogBox函数在窗口中显示对话框 int DialogBox HINSTANCE hInstance, //当前应用程序的实例句柄 LPCTSTR lpszDialogName,//对话框资源的名称 HWND hwndParent, //拥有该对话框的窗口句柄 WNDP
原创力文档

文档评论(0)