2017.5.13插入符
来源:互联网 发布:zeroclipboard.js下载 编辑:程序博客网 时间:2024/06/05 10:47
我们知道打开TXT文本后有一个光标闪烁,意味着你可以从这里输入文本。现在我们利用MFC创建这个光标(字符光标和位图光标)。
首先在View窗口下创建一个WM_CREATE消息事件
int CTextView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here return 0;}
然后利用CreateSolidCaret(int nWidth ,int nHeight)函数来创建插入符。第一个参数是指定插入符的宽度,第二个参数是指定插入符的高度。当这两个参数为零时,系统默认的插入符的宽度和高度为系统窗口边界的宽度和高度。而系统窗口边界的宽度和高度可以通过GetSystemMetrics函数获得。
要注意的是插入符一旦被创建就立即隐藏了,需要调用ShowCaret函数来显示这个插入符。
int CTextView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here /****************wjl************************ <*字处理程序中的插入符*> CClientDC dc(this); TEXTMETRIC tm; dc.GetTextMetrics(&tm); CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight); ShowCaret(); *****************wjl***********************/ return 0;}
TEXTMETRIC是一个结构体,里面包含了文本的一些属性,比如字体的两个高度 升序 tmAscent 和降序tmDescent,平均高度之类的。
为了使插入符能随着字体的大小改变。我们首先要获得字体的大小,这时需要一个函数GetTextMetrics,参数是一个结构体的指针。这里将TEXTMETRIC结构体的对象tm传递进去。
接下来是创建位图插入符,就是用一个位图来代表光标,一闪一闪的(不理解为啥要这样。。。)
这里的bitmap要放在CTextView中,作为全局变量。
class CTextView : public CView...private: CBitmap bitmap;
首先要创建一个位图,再通过bitmap.LoadBitmap(IDB_BITMAP1);调用位图。
int CTextView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here /****************wjl************************ <*位图的插入符*> *****************wjl***********************/ CClientDC dc(this); bitmap.LoadBitmap(IDB_BITMAP1); CreateCaret(&bitmap); ShowCaret(); return 0;}
函数CreateCaret可以创建位图的插入符,参数是一个位图指针。
0 0
- 2017.5.13插入符
- 插入符
- 插入符
- 13 插入数据
- 输入插入光标符
- CreateSolidCaret 插入符
- 【VC++】004插入符
- MFC中的插入符
- oracle 插入 & 变量符!
- 插入、
- 插入
- 插入
- 在文字处理中插入符处于插入的位置
- 13周。。项目一插入
- [VBA][EXCEL]插入分页符
- Word中插入特殊符
- oracle插入回车换行符
- MFC的插入符应用
- CF
- 【C】模仿 qsort 的功能实现一个通用的冒泡排序
- Java —— 多对多映射综合
- 均值问题and BN
- Linux使用sshfs通过ssh挂载远端机器
- 2017.5.13插入符
- SAP HANA获取时间中的小时
- POJ 1146 ID Codes 笔记
- Android的创建复合控件
- The Apache Tomcat installation at this directory is version 8.5.14. A Tomcat 8.0installation is expe
- [Java web]Servlet入门
- poj2019(二维线段树)
- 转载一发,树链剖分
- Ubuntu16.04安装tensorflow