首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

网下一片控件自适应的伪代码//最一句代码声明代码没有,能否补全

2013-01-11 
网上一片控件自适应的伪代码//最一句代码声明代码没有,能否补全? CRect m_ClientRectthis-GetClientRect

网上一片控件自适应的伪代码//最一句代码声明代码没有,能否补全?


 CRect m_ClientRect;  
 this->GetClientRect(&m_ClientRect);  
 CSize m_Forsize;  
 m_Forsize = GetTotalSize();
//在资源编辑器中定好大小后,程序运行时大小(不管最大化和最小化,该大小均为同一个值),客户区大于或等于显示的大小   
 double m_x = (double)m_ClientRect.Width() / m_Forsize.cx;
         //宽度方向发大倍数   
 double m_y = (double)m_ClientRect.Height() / m_Forsize.cy;
         //高度方向发大倍数   
 //调整控件的大小   
 CWnd *pWnd = NULL;   
 pWnd = GetWindow(GW_CHILD);  
 while(pWnd)
          //判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建   
 {  
  CRect rect;   
          //获取控件变化前大小   
  pWnd->GetWindowRect(&rect);  
  ScreenToClient(&rect);
          //将控件大小转换为在对话框中的区域坐标   
  m_ControlRect.insert(pair<int, CRect>(pWnd->GetDlgCtrlID(), rect));
          //保存控件的初始大小,以便在OnSize函数中继续使用   

[解决办法]
pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。

make_pair和pair目的相同,就是写法不同
[解决办法]
pair是一个模板类。
搜索 “stl pair”

热点排行