您好,欢迎光临本网站![请登录][注册会员]  
文件名称: easysize.h
  所属分类: C++
  开发工具:
  文件大小: 6kb
  下载次数: 0
  上传时间: 2013-12-26
  提 供 者: dingdingxi**********
 详细说明: EasySize类 MFC中改变窗口中各个控件的大小 EasySize类范例程序(EasySize_demo,EasySize_src) 下载地址http://www.codeproject.com/KB/dialog/easysize.aspx 使用说明 步骤一 a将#include EasySize.h加载入stdafx.h b或者将#include EasySize.h加载入TestCurveDlg.h中,即直接放入需要使用的窗口文件 实际应用时,采用b方式,否则会出现编译错误 步骤二 将DECLARE_EASYSIZE添加到任何一处类声明中(TestCurveDlg.h) class CTestCurveDlg : public CDialog { DECLARE_EASYSIZE 步骤三 创建OnInitDialog(如果程序中不存在的话,不程序中原本就有),将"INIT_EASYSIZE;"添加进去(TestCurveDlg.cpp) BOOL CTestCurveDlg::OnInitDialog() { CDialog::OnInitDialog(); ... ... I NIT_EASYSIZE; return TRUE; // return TRUE unless you set the focus to a control } 步骤四 创建OnSize,将UPDATE_EASYSIZE添加进去(TestCurveDlg.cpp) void CTestCurveDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); UPDATE_EASYSIZE; //更新窗口大小 必须加入 CRect rect; GetWindowRect(rect); ScreenToClient(rect); CRect ctrrect; CWnd* pWnd ; pWnd = GetDlgItem(IDC_STATIC_CURVE); //更新画图框大小 if(pWnd) { if (m_pCurveCtrl) { m_pCurveCtrl->GetWindowRect(ctrrect); ScreenToClient(ctrrect); CRect newrect(ctrrect.left, ctrrect.top, rect.right-120, rect.bottom); m_pCurveCtrl->MoveWindow(newrect); } } 步骤五 如果需要用户设置的最小化功能,可以创建OnSizing,添加EASYSIZE_MINSIZE(具体可参照EasySize_demo) void CEasySizeDemoDlg::OnSizing(UINT fwSide, LPRECT pRect) { CDialog::OnSizing(fwSide, pRect); EASYSIZE_MINSIZE(280,250,fwSide,pRect); } //(in this example, 280 is the minimum width and 250 the minimum height we want our dialog to have) 步骤六(核心部分) 创建一个"EasySize Map",功能:设置放大/缩小窗口时的显示效果,可以放在类的任何位置。 BEGIN_EASYSIZE_MAP(class_name) ... EASYSIZE(control,left,top,right,bottom,options) ... END_EASYSIZE_MAP 本程序中如下:TestCurveDlg.cpp中 BEGIN_EASYSIZE_MAP(CTestCurveDlg) //放大窗口 EASYSIZE(IDC_STATIC,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel0, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel1, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel2, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel3, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel4, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel5, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel6, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel7, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel8, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel9, ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel10,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel11,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel12,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel13,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel14,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_CHECK_Channel15,ES_KEEPSIZE,ES_BORDER,ES_BORDER,ES_KEEPSIZE,0) EASYSIZE(IDC_BUTTON_OpenFile,ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,ES_BORDER,0) EASYSIZE(IDC_BUTTON_ZoomOut, ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,ES_BORDER,0) EASYSIZE(IDC_BUTTON_Resort, ES_KEEPSIZE,ES_KEEPSIZE,ES_BORDER,ES_BORDER,0) EASYSIZE(IDC_STATIC_CURVE,ES_BORDER,ES_BORDER,IDC_STATIC,IDC_BUTTON_ZoomOut,0) END_EASYSIZE_MAP ... 注释 EASYSIZE(control,left,top,right,bottom,options) Control---控件的ID,需要设置的控件 left top right bottom---矩形框的位置,可以设置的参数:ES_BORDER、ES_KEEPSIZE、其他control的ID。 ES_BORDER代表控件与边框的距离保持不变 ES_KEEPSIZE代表控件的宽度和高度保持不变,left/right只能设置其中一个为ES_KEEPSIZE,top/bottom亦然。 Control ID代表以另一个空间为参照 具体注释如下,待设置控件记为ID1,参照控件记为ID2 i left=ID2 ID1左边到ID2右边的距离保持不变(不管ID2如何变化) ii right=ID2 ID1右边到ID2左边的距离保持不变(不管ID2如何变化) iii top=ID2 ID1上边到ID2下边的距离保持不变(不管ID2如何变化) iv bottom=ID2 ID1下边到ID2上边的距离保持不变(不管ID2如何变化) options---特别操作ES_HCENTER, ES_VCENTER and 0的结合。 0代表没有任何操作; ES_HCENTER代表控件在left/right之间水平居中,此时left/right都不能设置成ES_KEEPSIZE,控件的宽度保持不变; ES_VCENTER同理ES_HCENTER ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: MFC 改变控件大小
 输入关键字,在本站1000多万海量源码库中尽情搜索: