CWnd.GetWindowRect 参照坐标系:屏幕坐标系,原点为屏幕左上角(0,0)的位置 功能:取得调用窗口CWnd在屏幕坐标系下的RECT坐标 CWnd.GetClientRect 参照坐标系:CWnd窗口的客户区坐标系,原点为客户区左上角(0,0)的位置 功能:取得窗口在自己的客户区(不包括非客户区)坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置 CWnd.ScreenToClient() 参照坐标系:CWnd窗口的客户区坐标系,原点为客户区左上角(0,0)的位置…
[出处:blog.csdn.net/lanmanck] 一般变控件位置和大小在OnSize()消息中处理,不外乎几个函数: GetClientRect(),GetClientRect(),ScreenToClient(),MoveWindow().今天说下这几个函数用法. 假设有一个窗体,Dialog1,上面有一个Edit和一个Button,我们希望窗口大小改变时,Edit大小跟着变,最好铺满整个窗口,除了Button:而Button大小不变,但是位置要变. GetWindowRect() 得到…
GetClientRect()   是得到客户区坐标系下客户区的RECT GetWindowRect()是得到屏幕坐标系下整个窗口的RECT GetSystemMetrics()是获得屏幕分辨率大小 根据不同参数: int width = GetSystemMetrics ( SM_CXSCREEN );  int height= GetSystemMetrics ( SM_CYSCREEN ); 分别获得屏幕的宽和高. int width = GetSystemMetrics ( SM_CXV…
1.MFC对话框显示BMP图片我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基于对话框的工程,名为Ttest. 对话框类为CTestDlg (一)    非动态载入图片. 方法1.先从最简单的开始,用picture 控件来实现. 步骤: 先在资源里Import一张图片,ID为IDB_BITMAP2 然后在对话框上添加一个picture控件,右键点…
//************************************ // 方法说明:    显示JPG和GIF.BMP图片 // 参数说明:    CDC * pDC           设备环境对象 // 参数说明:    CString strPath     要显示的图片路径 // 参数说明:    int x               要显示的X位置 // 参数说明:    int y               要显示的Y位置 // 返回值:      BOOL      …
在dlg类头文件中声明CPoint Old; 在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()声明一个映射:ON_WM_SIZE() 这样以后就可以在M_SIZE事件的时候调用这个函数了. 然后定义: void CmyDlg::OnSize(UINT nType, int cx, int cy){ CDialog::OnSize(nType, cx, cy); if(nType==SIZE_RESTORED||nType==SIZE_MAXIMIZED)//窗体大小发…
本文主要针对MFC的dialog,实现控件随窗口大小变化. 原理:首先获取dialog的初始大小,当窗口发送变动时,调用OnSize事件和方法,计算缩放比例,然后对界面中的所有控件进行缩放和布局. 实现: 创建一个CMFCDemoDlg的dialog对话框: // CMFCDemoDlg 对话框 class CMFCDemoDlg : public CDialogEx { // 构造 public: CMFCDemoDlg(CWnd* pParent = NULL); // 标准构造函数 //…
GetWindowRect计算窗口大小 MoveWindow 设置窗口大小 SetMapMode 该函数设置指定设备环境的映射方式 MM_LOMETRIC:每个逻辑单位转换为0.1毫米,X正方向向右,Y正方向向上. GetMapMode 得到当前映射模式 LoadImage加载位图文件 LoadIcon加载图标文件 CreateCompatibleDC 创建兼容DC DeleteDC释放内存DC CreateDC 该函数通过使用指定的名字为一个设备创建设备上下文环境 BitBlt 贴图把内存DC…
我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基于对话框的工程,名为Ttest. 对话框类为CTestDlg (一) 非动态载入图片. 方法1.先从最简单的开始,用picture 控件来实现. 步骤: 先在资源里Import一张图片,ID为IDB_BITMAP2 然后在对话框上添加一个picture控件,右键点击打开属性, 将type下拉框选择B…
不用splitter控件  简单实现对mfc对话框的分割的方法 直接贴上源代码主要部分吧 这个是基于对话框的工程 进行对话框的分割实现 只是相应了三个消息函数,看一下就会明白的 我空间资源里边有现成的工程代码可以下载运行 .cpp 文件 // spliteDlg.cpp : implementation file // #include "stdafx.h" #include "splite.h" #include "spliteDlg.h" #…