MFC 小知识总结五

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC 小知识总结五相关的知识,希望对你有一定的参考价值。

1 移动无标题对话框

  响应WM_NCHITTEST 消息


  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 

  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 给父窗体发送消息

  1. ::PostMessage(::GetParent(this->m_hWnd),UM_SELECT_ALL_CHECKBOX,0,0);  

4 CString 换行符

  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 获得系统高亮颜色

  1. pDC->FillSolidRect(&rcTemp, GetSysColor(COLOR_HIGHLIGHT)) ;  
  2. pDC->SetTextColor(GetSysColor(COLOR_HIGHLIGHTTEXT)) ;  

获得缺省字体

  1. pDC->SelectObject(GetStockObject(DEFAULT_GUI_FONT));  

获得行数

  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

















以上是关于MFC 小知识总结五的主要内容,如果未能解决你的问题,请参考以下文章

android小知识点代码片段

MFC小知识一:将对话框设置为无边框无标题栏初始最大化样式

UE4基础知识总结(五)

微信小程序超详细知识点总结

安装包设计-------打包(MFC)---------知识总结

线程学习知识点总结