分享

VC Edit 换行与背景色问题

 MyBear 2010-04-11
 

一 VC中Edit换行

          要使得VC中的Edit能换行,需进行以下设置(缺一不可):
  • 将Edit的Styles属性页中的Multiline复选框勾上;
  •  对于要显示的字符串中的换行符"\n""\r\n"替代,如:"Hello\r\nWorld";  

二 VC中Edit背景色

方法一

         利用向导映射CParentDlg的WM_CTLCOLOR消息,产生函数:HBRUSH CParentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);pDC是AboutDlg的设备上下文,pWnd是CParentDlg中发送该消息的control指针,nCtlColor市Control的类型编码。对其进行如下修改:

HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 

{

   if ((pWnd->GetDlgCtrlID() == IDC_EDIT1) && (nCtlColor == CTLCOLOR_EDIT))

   {

      COLORREF clr = RGB(255,0,0);

      pDC->SetTextColor(clr);   //设置红色的文本

      clr = RGB(0,0,0);

      pDC->SetBkColor(clr);     //设置黑色的背景

      m_brMine = ::CreateSolidBrush(clr);

      return m_brMine;  //返回的是背景色对应的刷子句柄

   }

   else

   {

      HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

      return hbr;

   }

}

方法二

   自定义一个CColorEdit类,该类从CEdit派生,重写该类的OnCtlColor消息(如方法一),对使用背景色的Edit控件,将其声明为CColorEdit的类,则该Edit控件就能定制背景色和前景色了。
 
 
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多