MFC 小知识总结五

1 移动无标题对话框

  响应WM_NCHITTEST 消息


[cpp]  view plain copy
  1. LRESULT CTimeJishiDlg::OnNcHitTest(CPoint point)  
  2. {  
  3.     // TODO: 在此添加消息处理程序代码和/或调用默认值  
  4.   
  5.   
  6.     LRESULT res=CDialogEx::OnNcHitTest (point);  
  7.   
  8.     if (res==HTCLIENT)        //HTclient  落在客户区  
  9.     {  
  10.         res=HTCAPTION;    //返回标题栏资源  
  11.     }  
  12.   
  13.     return res;  
  14.   
  15.     //return CDialogEx::OnNcHitTest(point);  
  16. }  


2 动态创建CButton 

[cpp]  view plain copy
  1. m_pButtonCheckBox = new CButton();  
  2. m_pButtonCheckBox ->Create(_T(""), WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX, CRect(4,3,19,18), this, CHECK_BOX_BUTTON);  


3 给父窗口发送消息

[cpp]  view plain copy
  1. ::PostMessage(::GetParent(this->m_hWnd),UM_SELECT_ALL_CHECKBOX,0,0);  

4 CString 换行符

[cpp]  view plain copy
  1.         m_banjiInfoStr.Format (  
  2.                 _T("本班共有:%d个学生\r\n\  
  3. 其中男生:%d \r\n\  
  4.         女生:%d \r\n"),  
  5.                 count,  
  6.                 boyCount,  
  7.                 count-boyCount);  

5 获得系统高亮颜色

[cpp]  view plain copy
  1. pDC->FillSolidRect(&rcTemp, GetSysColor(COLOR_HIGHLIGHT)) ;  
  2. pDC->SetTextColor(GetSysColor(COLOR_HIGHLIGHTTEXT)) ;  

获得缺省字体

[cpp]  view plain copy
  1. pDC->SelectObject(GetStockObject(DEFAULT_GUI_FONT));  

获得行数

[cpp]  view plain copy
  1. //得到行数 使得垂直居中  
  2. CString itemStr=lpBuffer;  
  3.     int iStrline=0;  
  4.   
  5.     int nStart=0;  
  6.     while(nStart!=-1){  
  7.         nStart=itemStr.Find(L"\n",nStart+1);  
  8.         iStrline++;  
  9.     }  

7 MoveWindow(x,y,cx,cy/)

   起始点 x,y

   宽度 cx

   高度 cy


8 响应右上角的关闭消息(X消息)

  X也是一个button他的ID是IDCANCEL 他向主窗口发送消息WM_CLOSE


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值