怎么在编辑框Edit control中,随心所欲的插入图片呢?
我使用了一个它的扩展类,下载地址:http://download.csdn.net/detail/leighton_52/6216413
但是,出现了一个问题,就是在我的对话框初始化的时候,插入到该控件中的图片,总是处于被选中状态,很是难看。
相关代码,如下:
BOOL CTQquestionShowDlg::OnInitDialog()
{
CResizableDialog::OnInitDialog();
// TODO: Add extra initialization here
if (m_hbmp != NULL)
{
m_RichEditQues.InsertBitmap(m_hbmp);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
在解决问题的过程中,我发现,如果我不删除对话框自带的OK,Cancel按钮,对话框初始化时,焦点自动在OK按钮上,就不会出现上面的情况,难道是
在删除按钮后,焦点自动的锁定在了Edit控件上?
我通过捕捉焦点if(::GetFocus() == m_RichEditQues.m_hwnd),发现事实并不是我想的那样,焦点并没有锁定在此控件上,那为什么呢?
到问题解决,我都不明白原理是什么,不过问题终归解决了,下面是解决代码
BOOL CTQquestionShowDlg::OnInitDialog()
{
CResizableDialog::OnInitDialog();
// TODO: Add extra initialization here
if (m_hbmp != NULL)
{
m_RichEditQues.InsertBitmap(m_hbmp);
}
GetDlgItem(IDC_RICHEDIT_QUES)->SetFocus();
return FALSE; //我添加了这两行语句,至于为什么,呵呵,我也不太清楚,希望有人能解答
//return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
本文详细介绍了在使用扩展类处理对话框初始化时,如何避免插入图片后控件自动被选中的问题,并提供了解决代码。包括了通过设置对话框控件焦点来解决焦点锁定问题的技巧。

1678

被折叠的 条评论
为什么被折叠?



