edit contrl控件如何得到光标在该控件中的位置,显示行列的值. 我第一次做C,能给个具体的代码吗,功能是分别在两个LABEL中显示行和列的坐标.PosFromChar GetSel() GetCaretPos()方法虽然知道但是不知道该怎么用.代码怎么写. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GetRichEditCtrl().GetSel(lStartChar, lEndChar); //行取得 iRow = GetRichEditCtrl().LineFromChar(lStartChar); //列取得 iCol = lStartChar-GetRichEditCtrl().LineIndex(iRow); 初始定义:int iRow = 0; int iCol = 0; long lStartChar = 0; long lEndChar = 0; GetRichEditCtrl()的地方可以用你那个edit控件的句柄代替 CPoint p = ((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->PosFromChar(0);无论光标在哪都得到的都是1,1; 用我那个方法就行拉用((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))代替我那里面的GetRichEditCtrl()就可以了 int iRow = 0; int iCol = 0; long lStartChar = 0; long lEndChar = 0; ((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).GetSel(lStartChar, lEndChar); //行取得 iRow = ((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).LineFromChar(lStartChar); //列取得 iCol = lStartChar-((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).LineIndex(iRow);是这样吗,编译都不过说是左侧的构造体共用体什么的不存在. 如果是((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->的错误,那么CPoint p = ((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->PosFromChar(0);也应该有错误,可是没错 那把那个控件定义成变量!~ int nStart = 0; int nEnd = 0; int iRow = 0; int iCol = 0; m_editTest.GetSel(nStart,nEnd); // Focusの行を取得 iRow = m_editTest.LineFromChar(nStart); // Focusの桁を取得 iCol = nStart - m_editTest.LineIndex(iRow);在我机器上运行成功,m_editTest为那个控件 对了,((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))这个是个指针当然不行了,要变成((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->LineFromChar(lStartChar);其他点的地方也要这么写 谢谢已经成功了,我想问一下((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->GetSel(lStartChar, lEndChar);的意思尤其是那两个参数是什么意思. 对不起还有一个问题,LineIndex(iRow)是什么意思. Retrieves the character index of a line within a multiple-line edit control. 单文档中加载控件,如何随着窗口的变化使控件变化 真心求解答,关于研发与测试 菜单栏消息的消息响应问题!! 请问CxImage类中的如何对位图进行切割 今年刚毕业,写一些工作感受 如何让程序中的flash能连续播放啊!? 怎样在VC的对话框程序中实现动态改变 CStatic 、CEdit控件的显示文本? 急问关于BYTE *、char *的转化问题,谢谢! 如何控制URL的跳转? 请问怎么样调整控件在窗口中的显示顺序?就是我想让一个控件挡住另一个,在程序中和vc的编辑器里调整都可以 把图片指定颜色给透明,以显示背景图,请指教。 如何高亮显示字符并把光标定位在字符处
//行取得
iRow = GetRichEditCtrl().LineFromChar(lStartChar);
//列取得
iCol = lStartChar-GetRichEditCtrl().LineIndex(iRow);
int iRow = 0;
int iCol = 0;
long lStartChar = 0;
long lEndChar = 0;
无论光标在哪都得到的都是1,1;
用((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))代替我那里面的GetRichEditCtrl()就可以了
int iCol = 0;
long lStartChar = 0;
long lEndChar = 0;
((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).GetSel(lStartChar, lEndChar);
//行取得
iRow = ((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).LineFromChar(lStartChar);
//列取得
iCol = lStartChar-((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG)).LineIndex(iRow);
是这样吗,编译都不过
说是左侧的构造体共用体什么的不存在.
int nStart = 0;
int nEnd = 0;
int iRow = 0;
int iCol = 0;
m_editTest.GetSel(nStart,nEnd);
// Focusの行を取得
iRow = m_editTest.LineFromChar(nStart);
// Focusの桁を取得
iCol = nStart - m_editTest.LineIndex(iRow);
在我机器上运行成功,m_editTest为那个控件
((CEdit*)GetDlgItem(IDC_EDIT_EDITMSG))->LineFromChar(lStartChar);
其他点的地方也要这么写