《VC++深入详解》学习笔记 第五章 文本编程
(重云观止次径渊)
插入符Caret
那个文本光标叫什么: 闪烁光标称之为插入符
插入符如何创建: 利用CreateSolidCaret函数完成,参数为光标宽、高
插入符不显示: 创建完成的插入符通过ShowCaret();进行显示
插入符的尺寸如何修改(根据文本大小): 文本字体变量TEXTMETRIC 中tmAveCharWidth和tmHeight分别为字体宽和高,通常插入符宽度为字体宽度1/8,通过GetTextMetrics可以获取字体信息
位图插入符有什么用: 应该没什么用吧,直接用位图进行插入符的创建,然后插入符就变成位图了???
插入符移动到鼠标位置: 通过左键单击消息,移动插入符(光标)到单击处 移动光标函数函数SetCarePos(POINT)
窗口重绘
窗口刷新文本没有了怎么办: 窗口重绘帮你解忧
窗口重绘怎么做: 重绘动作调用WM_PAINT消息响应函数OnDraw(自动配置),其中负责内容重载
怎么往窗口写东西: 获取窗口文本类对象指针 CTextDoc ,指向当前文本GetDocument函数,然后输出pDC->TextOut(坐标x,坐标y,文本内容)
字符串资源问题: CString类中LoadString函数可以调动本地字符串资源,通过ID
字符串形状尺寸怎么确定: GetTextExtent函数返回值为CSize类对象,结构中cy和cx分别表示高度和宽度
路径层有什么用: 和裁剪区域配合进行特殊构图,比如路径层区域不绘图等等
路径层怎么配置: 通过BeginPath打开路径层,通过图形接口绘制路径层样式,通过EndPath关闭路径层
字符输入问题: 监测键盘输入通过WM-CHAR消息、 字符宽度不一,可采用字符串方式、
字符串操作: 清空字符串str.Empty 删除最后一个字符str.Left(str.GetLength()-1)
字体: CreatePointFont()字体配置初始化,完成配置后导入设备描述表 MFC中提供CEditView和CRichEditView两个类实现文字处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具