CEditView中为何不能用TextOut显示出字来?等... CEditView中调用TextOut却显示不出字来,为什么?该用什么呢?还有个问题,如何获得当前光标所在行?急~~~望各位高手指点~!不胜感激! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在CEditView::OnPaint()中要进行重绘.GetCursorPos()可以得到鼠标位置,光标有点不好弄.需要计算.等待更好的. POINT pt = pEditCtrl->GetCaretPos();int n = pEditCtrl->->CharFromPos(pt);int nLineIndex = HIWORD(n);int nCharIndex = LOWORD(n); CDC::FromHandle(::GetDC(this->m_hWnd))->TextOut(xxxxxx) CEditView中有一个Edit控件,把视窗口给挡住了,用TextOut输出当然不行了。 用OnPaint的话,若我在EditVeiw中打个字,原来TextOut的字就消失了,有办法保持吗? 有办法保存,就是要用List之类的东西保存你画过的对象。每次onpaint的时候再重画。 还有就是,当我将光标用SetCaretPos()定位到非左上角的某一位置时,我打第一个字,字却是从左上角出来的,能改变吗? CharFromPos为什么在CEditView中不能调用啊,出错信息是D:\Edit\EditView.cpp(167) : error C2065: 'CharFromPos' : undeclared identifier就指示这句有误 int n = CharFromPos( pt );可是在CEdit中确有CharFromPos()这个函数啊! up一问不用回了,up的up有人知道吗? CharFromPos是CEdit的函数,在CEditView中调用应该是:CEdit *pEditCtrl = GetEditCtrl();POINT pt = pEditCtrl->GetCaretPos();int n = pEditCtrl->->CharFromPos(pt);int nLineIndex = HIWORD(n);int nCharIndex = LOWORD(n);至于设置CEdit的光标,用SetCaretPos是不行的。比如设到第5个字符的位置,你可以试试用pEditCtrl->SetSel(5, 5);如果不行可以试试pEditCtrl->SendMessage(WM_LBUTTONDOWN, 0, MAKELPARAM(pt.x,pt.y));pEditCtrl->SendMessage(WM_LBUTTONUP, 0, MAKELPARAM(pt.x,pt.y)); 请问ORACLE base目录在哪? GetOpenFileName-多文件选择的问题 最近本人比较浮躁 怎样在Dlg下加一状态栏一项为bitmap?? 辞职了,散分 关于msgbox的一些原理... 急求!!!MFC添加控件问题!! bho and hook问题 vector VARIANT出错 程序如何实现图片羽化功能 在线等待的问题 关于消息的继承。
GetCursorPos()可以得到鼠标位置,光标有点不好弄.需要计算.等待更好的.
int n = pEditCtrl->->CharFromPos(pt);
int nLineIndex = HIWORD(n);
int nCharIndex = LOWORD(n);
每次onpaint的时候再重画。
D:\Edit\EditView.cpp(167) : error C2065: 'CharFromPos' : undeclared identifier
就指示这句有误
int n = CharFromPos( pt );
可是在CEdit中确有CharFromPos()这个函数啊!
int n = pEditCtrl->->CharFromPos(pt);
int nLineIndex = HIWORD(n);
int nCharIndex = LOWORD(n);至于设置CEdit的光标,用SetCaretPos是不行的。比如设到第5个字符的位置,你可以试试用
pEditCtrl->SetSel(5, 5);
如果不行可以试试
pEditCtrl->SendMessage(WM_LBUTTONDOWN, 0, MAKELPARAM(pt.x,pt.y));
pEditCtrl->SendMessage(WM_LBUTTONUP, 0, MAKELPARAM(pt.x,pt.y));