ZKX's LAB

mfc 编辑框 行号 MFC文本框,有多行文本,我想得到:当鼠标点击到第几行的时候,能在另一个文本框中显示此时光标所在的行号

2020-10-04知识12

MFC中编辑框edit的用法,上边我们介绍了按钮的用法,下边我们来介绍编辑框的用法(前边介绍的按钮的用法和类向导的用法这里我就直接说了,不再累述了)

MFC 创建了一个对话框(有状态栏和编辑框) 如何在对话框底部的状态栏中显示编辑框中的行号和列号 从CStatusBar派生一个类CMyStatusBar,然后响应WM_ERASEBKAND消息。然后自绘背景。MyStatusBar.h-pragma onceinclude\"afxext.hclass CMyStatusBar:public CStatusBar{public:CMyStatusBar(void);CMyStatusBar(void);DECLARE_MESSAGE_MAP()afx_msg BOOL OnEraseBkgnd(CDC*pDC);};MyStatusBar.cpp-include\"StdAfx.hinclude\"MyStatusBar.hCMyStatusBar:CMyStatusBar(void){}CMyStatusBar:~CMyStatusBar(void){}BEGIN_MESSAGE_MAP(CMyStatusBar,CStatusBar)ON_WM_ERASEBKGND()END_MESSAGE_MAP()BOOL CMyStatusBar:OnEraseBkgnd(CDC*pDC){TODO:在此添加消息处理程序代码和/或调用默认值CBrush backBrush(RGB(255,0,0));CBrush*pOldBrush=pDC->;SelectObject(&backBrush);CRect rect;pDC->;GetClipBox(&rect);pDC->;PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);pDC->;SelectObject(pOldBrush);return TRUE;return CStatusBar:OnEraseBkgnd(pDC);}你使用的那个类=public:CMyStatusBar m_wndStatusBar;之后使用也一样的。这个跟UNICODE无关吧,UNICODE是每个字符使用2个字节存储的。程序里的字符串前面要加上 L

MFC文本框,有多行文本,我想得到:当鼠标点击到第几行的时候,能在另一个文本框中显示此时光标所在的行号 从CEdit派生一个类,并处理WM_LBUTTONDOWN消息(或在父窗口的PreTranslateMessage中捕获)。在该消息中可以通过EM_CHARFROMPOS或者EM_GETSEL得到当前字符的索引号,然后用EM_LINEFROMCHAR即可得到所在的行号。(注意,字符索引号及行号均以0开始编号)

#rect#科技新闻#mfc

随机阅读

qrcode
访问手机版