中易网

C++如何实现显示输入焦点

答案:2  悬赏:60  
解决时间 2021-03-14 01:10
就是点击某处可以出现可输入区域,类似于excel的效果,点击某处就能输入字符,并且可以保持。
最佳答案
1、这是在讨论MFC吗?
2、通过在继承自CWnd或者CFrameWnd的类中重写以下两个函数可以达到效果
 afx_msg void OnSetFocus(CWnd* pOldWnd);
 afx_msg void OnKillFocus(CWnd* pNewWnd);注意,它们是一个windows消息,应该放到消息循环中
BEGIN_MESSAGE_MAP(MainFrame,CFrameWnd)//用CFrameWnd举例
 ON_WM_SETFOCUS()
 ON_WM_KILLFOCUS()
END_MESSAGE_MAP()3、实现如下:里面的参数是摘自我自己的一个程序的,按需自行修改。
void MainFrame::OnSetFocus(CWnd* pOldWnd)
{
 CreateSolidCaret(2,m_nCharSize);//设置输入光标的大小
 SetCaretPos(CPoint(m_nCaretPos.x+3,m_nCaretPos.y+3));//设置输入光标的位置
 ShowCaret();
}
void MainFrame::OnKillFocus(CWnd* pNewWnd)
{
 HideCaret();
 m_nCaretPos = GetCaretPos();//保存输入光标的位置
 ::DestroyCaret();
}
全部回答
请在cedit控件里,捕获en_setfocus和en_killfocus这两个消息,如果是en_setfocus就清除内容,如果是en_killfocus就代表失去焦点,可以显示你的信息了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我的眼睛可以出cos吗
柯悦昕名字评测怎样样?
霍北村地址在哪,我要去那里办事
简述常见的书法形式有哪几种
对于商品多的库存应该怎么作表
有没有什么简单有趣、参与性强的游戏可以在班
华为P6 受保护的应用
普桑电阻如果换了还没有一二三当时
案子到了法院半个月了,怎么还不开庭,一般多
我有时候喜欢那种悲伤的感觉,沉浸其中感觉很
百度百科上写第一首点击破百万的vocaloid中文
装修中会遇到的问题常见的有哪些
IE收藏栏里收藏的网址都变成了灰色,怎么回事
寻常疑问的确固执的反义词各是什么
宏达食品综合商店地址有知道的么?有点事想过
推荐资讯
广东龙岗马山茶业股份有限公司怎么去啊,有知
安然韩慕雨哪篇小说里的主人公
帕萨特车速达到120一140马车身抖怎么回事
双旺饺子馆我想知道这个在什么地方
如果一个人不喜欢说话,不喜欢笑,别人就会觉
春风650哪里有卖
在蜂窝数据那里找不到下载的app 就是下载的那
金牛地暖新乡旗舰店在哪里啊,我有事要去这个
铜川铝业怎么去啊,有知道地址的么
融科·海阔天空地址在哪,我要去那里办事
枯竹林梁子这个地址在什么地方,我要处理点事
临漳县胜轲汽车检测有限公司我想知道这个在什
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?