问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MFC 如何用2个按钮分别实现 编辑框中的光标向上移动一行和向下移动一行

发布网友 发布时间:2022-04-26 20:28

我来回答

3个回答

热心网友 时间:2023-10-29 15:32

你是否可以用键盘,如果可以的话,可以直接模拟方向键的消息让光标移动。
否则就要用SetSel设置光标位置,前提是先计算出光标位置。
下面给出键盘的方法。如果要SetSel的方法,请追问。
假设你已经关联变量CEdit m_edit;
m_edit.SendMessage(WM_KEYDOWN, VK_UP, 0);
m_edit.SendMessage(WM_KEYUP, VK_UP, 0);//向上移动

m_edit.SendMessage(WM_KEYDOWN, VK_DOWN, 0);
m_edit.SendMessage(WM_KEYUP, VK_DOWN, 0);;//向下移动

热心网友 时间:2023-10-29 15:32

void CMyTest14Dlg::OnEnKillfocusEdit1()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.GetSel(m_i4LastSeat,m_i4LastSeat);
}
void CMyTest14Dlg::OnBnClickedButtonUp()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.SetFocus();
m_edit.SetSel(m_i4LastSeat,m_i4LastSeat,FALSE);
::SendMessage(m_edit.m_hWnd,WM_KEYDOWN,38,NULL);
}
void CMyTest14Dlg::OnBnClickedButtonDown()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.SetFocus();
m_edit.SetSel(m_i4LastSeat,m_i4LastSeat,FALSE);
int i4lines = m_edit.GetLineCount();
int i4Curr = m_edit.LineFromChar();
if (i4Curr + 1 < i4lines)
{
::SendMessage(m_edit.m_hWnd,WM_KEYDOWN,40,NULL);
}
}

热心网友 时间:2023-10-29 15:32

模拟键盘消息可以实现。

热心网友 时间:2023-10-29 15:32

你是否可以用键盘,如果可以的话,可以直接模拟方向键的消息让光标移动。
否则就要用SetSel设置光标位置,前提是先计算出光标位置。
下面给出键盘的方法。如果要SetSel的方法,请追问。
假设你已经关联变量CEdit m_edit;
m_edit.SendMessage(WM_KEYDOWN, VK_UP, 0);
m_edit.SendMessage(WM_KEYUP, VK_UP, 0);//向上移动

m_edit.SendMessage(WM_KEYDOWN, VK_DOWN, 0);
m_edit.SendMessage(WM_KEYUP, VK_DOWN, 0);;//向下移动

热心网友 时间:2023-10-29 15:32

void CMyTest14Dlg::OnEnKillfocusEdit1()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.GetSel(m_i4LastSeat,m_i4LastSeat);
}
void CMyTest14Dlg::OnBnClickedButtonUp()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.SetFocus();
m_edit.SetSel(m_i4LastSeat,m_i4LastSeat,FALSE);
::SendMessage(m_edit.m_hWnd,WM_KEYDOWN,38,NULL);
}
void CMyTest14Dlg::OnBnClickedButtonDown()
{
// TODO: 在此添加控件通知处理程序代码
m_edit.SetFocus();
m_edit.SetSel(m_i4LastSeat,m_i4LastSeat,FALSE);
int i4lines = m_edit.GetLineCount();
int i4Curr = m_edit.LineFromChar();
if (i4Curr + 1 < i4lines)
{
::SendMessage(m_edit.m_hWnd,WM_KEYDOWN,40,NULL);
}
}

热心网友 时间:2023-10-29 15:33

模拟键盘消息可以实现。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
艾芙洛洗发水为什么不在商场销售商 艾芙洛洗发水是英国的吗 毕业生刚刚签了三方协议,想毁,怎么办 适合夫妻干的生意有哪些 新生蜜蜂多久出巢试飞 新生蜜蜂什么时候进行首次试飞? 蜜蜂几月几日出生外貌和颜色? 当脚模一定要脚趾修长吗 脚长成这样,能当脚膜吗 固话遇忙记存呼叫业务有什么特点? 什么是固话遇忙记存呼叫业务? vc++ mfc如何在文本框内容改变之前移动光标位置? vc6.0mfc怎么让编辑框里默认显示光标 mfc 编辑框 光标 MFC编辑框中光标问题 mfc中如何用SetDlgItemText函数在编辑框内添加一个回车? MFC Edit控件内响应回车键的问题 基于VS2010的MFC中,我想在编辑框中实现enter换行(这个容易)和‘q’+enter作为结束并发送消息。 MFC怎样实现按回车键相当于点击指定按钮 MFC编辑框:回车得到输入的数据. MFC中在编辑框中按下回车键是什么事件? MFC中编辑框中输入内容,然后怎么样实现按下回车键结束输入,并将输入的内容保存到 数组中, vcMFC基本对话框 的编辑框如何实现换行?(编辑框属性已经为多行显示... MFC中如何让字符在编辑框中回车 苹果电脑用什么做表格 电脑中怎样把表格样式设置为浅色网格 哪种菌菇最适合煲汤,滋补养生延年益寿? 苹果电脑表格怎么调格式 用多种菌类怎样煲汤好喝 求助!MacBook版的PowerPoint没有网格线选项 Mac 中如何使网格间距统一? MFC怎么实现光标移动到某一区域,改变光标形态? MFC静态编辑框输出如何换行? MFC里的文本编辑框,怎么把光标始终定位到字符串最后??? MFC中如何给编辑框设置文本内容? mfc串口收发数据。编辑框希望每接收一次就换行。怎么实现。我的换行结果不对 水银温度计不想要了,想把它扔了!我该扔哪里最好! 体温计掉到地上是放到真空玻璃瓶还是塑料袋里? 温度计碎了后,但水银没有掉出来,要扔哪里啊? 水银温度计可以直接扔掉吗 不用的体温计如何处理? 温度计扔垃圾桶违法吗 买了一个水银的体温计,总感觉它会掉到地上打碎中毒,怎样把它处理掉?是送人好还是丢到垃圾箱里好, 想把水银温度计扔掉装在什么容器里扔掉比较安全? 打破的体温计该扔到哪 要做阳光房那玻璃怎么清洗才干净呢? 最新汽车玻璃电动拆卸工具??大丰源汽车玻璃拆卸工具? 公司如何自己缴纳社保? 企业办理给个人社保都需要什么证明文件 自己公司给自己交社保怎么办理 党参、丹参、炒山楂、柴胡、麦冬一起泡水喝有什么功效?