继承CRichEditCtrl类得到CAutoReSizeEdit类;
该类中
主要添加如下:
void CAutoReSizeEdit::OnEnRequestresize(NMHDR *pNMHDR, LRESULT *pResult)//重写的EN_REQUESTRESIZE消息
{
REQRESIZE *pReqResize = reinterpret_cast(pNMHDR);
//添加
MoveWindow(&pReqResize->rc);
//添加结束
*pResult = 0;
}
在Dlg的.h头文件中声明如下:
CAutoReSizeEdit m_ctrledit;
在Dlg的cpp文件的OnInitDialog中创建并设置如下:
m_ctrledit.Create(WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL|ES_AUTOHSCROLL,rect,this,1003);
m_ctrledit.SetEventMask(ENM_REQUESTRESIZE);
遇到如下问题:
当我在编辑框中输入的时候:
1、直接输入空格;
2、在末尾输入空格;
OnEnRequestresize方法都没有响应,但输入其他字符或在前面和中间输入空格的时候却能正常计算出大小并调整大小!!!
另外有测试创建m_ctrledit的时候不要ES_MULTILINE属性,则没有上述问题,但这时候却无法实现多行输入!!!
请问哪位大神指导如何既不出现上述的问题,又能多行显示吗???
小弟在此现行谢过啦!!!!!!