mfc 一个关于焦点的问题

代码如下:但主要是m_richedit.GetFocus()==(CWnd*)m_richedit.m_hWnd这一句判断,我的焦点已经定位在RichEdit中了,但是这... 代码如下:
但主要是 m_richedit.GetFocus() == (CWnd*)m_richedit.m_hWnd 这一句判断,
我的焦点已经定位在RichEdit中了,但是这句返回的还是false请问谁知道呢?
是因为我在单击Button2时焦点已经改变了吗?但是这样我在下面的函数前加了
m_richedit.setfocus(),结果还是一样,请问为什么呢?
void Cmian2Dlg::OnBnClickedButton2()
{
if(m_richedit.GetFocus() == (CWnd*)m_richedit.m_hWnd)
{
CString str;
str = m_richedit.GetSelText();
long int start = 0, end = 0;
m_richedit.GetSel(start, end);
if(start != end)
{
this->MessageBoxW(_T("你所选择的是:") + str);
long int start = 0, end = 0;
m_richedit.GetSel(start, end);
m_richedit.SetFocus();
m_richedit.SetSel(start,end);
}
else
{
int y = (m_richedit.GetCaretPos()).y;
int x = (m_richedit.GetCaretPos()).x;
str.Format(_T("%d,%d"),x, y);
this->MessageBoxW(str);
m_richedit.SetFocus();
m_richedit.SetCaretPos(CPoint(x,y));
m_richedit.ShowCaret();
}
}
else
{
this->MessageBoxW(_T("焦点不在RichEdit内。"));
}
// TODO: 在此添加控件通知处理程序代码
}
展开
 我来答
gamespy1991
2010-09-17 · TA获得超过1262个赞
知道小有建树答主
回答量:1636
采纳率:0%
帮助的人:1216万
展开全部
m_hWnd是句柄,不是CWnd指针。
直接m_richedit.GetFocus() == (CWnd*)m_richedit就行了
lihuijuan
2010-09-17 · TA获得超过420个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:181万
展开全部
????
高深!不懂!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式