没有合适的资源?快使用搜索试试~ 我知道了~
首页提升VC++开发效率:从基础到高级技巧
提升VC++开发效率:从基础到高级技巧
需积分: 6 1 下载量 28 浏览量
更新于2024-07-22
收藏 302KB PDF 举报
本资源是一份详细的VC++基础教程,主要针对初学者和有一定经验的开发者提供学习指导。教程首先强调了良好的C/C++基础知识对于掌握VC++的重要性,建议从字符界面程序入手,通过实践提升对语言的理解,熟悉常见错误和C++特性。接着,教程着重介绍了Windows消息机制,这是Windows应用程序的核心,包括消息的构成(如消息名称和参数),以及理解窗口句柄和GUI句柄的含义。 对于初级VC++开发者,推荐选择内容全面且逻辑清晰的教材,特别是翻译版,因为它们易于理解和阅读。书中应包含详细步骤和示例,避免使用不便的教材影响学习热情。同时,鼓励阅读者主动查阅在线帮助文档,培养独立解决问题的能力,并学习阅读他人代码,这有助于提升编程技巧。 对于已有一定VC++基础的开发者,教程建议深入理解系统原理和技术要点,选择讲解透彻且技术应用明确的书籍,以便掌握新技术。在购买书籍时,应注重书的质量而非数量,选择精简的示范代码书籍,同时考虑搭配一些辅助性读物,如设计模式或架构相关的书籍,以拓宽知识面。 最后,教程提醒读者充分利用闲暇时间进行学习,如阅读参考书籍,并推荐定期访问作者的主页获取更多资源和支持。这份教程旨在提供一个有计划、系统的学习路径,帮助读者在VC++开发的道路上稳步前行。
资源详情
资源推荐
last backslash.
DT_EXPANDTABS Expands tab characters. The default number of characters per tab is eight.
DT_EXTERNALLEADING Includes the font 抯 external leading in the line height. Normally,
external leading is not included in the height of a line of text.
DT_LEFT 左对齐 Aligns text flush-left.
DT_MODIFYSTRING Modifies the given string to match the displayed text. This flag has no
effect unless the DT_END_ELLIPSIS or DT_PATH_ELLIPSIS flag is specified.
Note Some uFormat flag combinations can cause the passed string to be modified. Using
DT_MODIFYSTRING with either DT_END_ELLIPSIS or DT_PATH_ELLIPSIS may cause the
string to be modified, causing an assertion in the CString override.
DT_NOCLIP Draws without clipping. DrawText is somewhat faster when DT_NOCLIP is
used.
DT_NOPREFIX 禁止使用&前缀 Turns off processing of prefix characters. Normally,
DrawText interprets the ampersand (&) mnemonic-prefix character as a directive to underscore the
character that follows, and the two-ampersand (&&) mnemonic-prefix characters as a directive to
print a single ampersand. By specifying DT_NOPREFIX, this processing is turned off.
DT_PATH_ELLIPSIS
DT_RIGHT 右对齐 Aligns text flush-right.
DT_SINGLELINE 单行输出 Specifies single line only. Carriage returns and linefeeds do not
break the line.
DT_TABSTOP 设置 TAB 字符所占宽度 Sets tab stops. The high-order byte of nFormat is the
number of characters for each tab. The default number of characters per tab is eight.
DT_TOP 定部对齐 Specifies top-justified text (single line only).
DT_VCENTER 中部对齐 Specifies vertically centered text (single line only).
DT_WORDBREAK 每行只在单词间被折行 Specifies word-breaking. Lines are
automatically broken between words if a word would extend past the edge of the rectangle
specified by lpRect. A carriage return 杔 inefeed sequence will also break the line.
在输出文字时如果希望改变文字的颜色,你可以利用 CDC::SetTextColor( COLORREF
crColor )进行设置,如果你希望改变背景色就利用 CDC::SetBkColor( COLORREF crColor ),
很多时候你可能需要透明的背景色你可以利用 CDC::SetBkMode( int nBkMode )设置,可接
受的参数有
OPAQUE Background is filled with the current background color before the text, hatched
brush, or pen is drawn. This is the default background mode.
TRANSPARENT Background is not changed before drawing.
接下来讲讲如何创建字体,你可以创建的字体有两种:库存字体 CDC::CreateStockObject( int
nIndex )和自定义字体。
在创建非库存字体时需要填充一个 LOGFONT 结构并使用 CFont::CreateFontIndirect(const
LOGFONT* lpLogFont )(可以参考文章在同一系统中显示 GB 字符和 BIG5 字符),或使用
CFont::CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight,
BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision,
BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename )其中
的参数和 LOGFONT 中的分量有一定的对应关系。下面分别讲解参数的意义:
nHeight 字体高度(逻辑单位)等于零为缺省高度,否则取绝对值并和可用的字体高度进行
匹配。
nWidth 宽度(逻辑单位)如果为零则使用可用的横纵比进行匹配。
nEscapement 出口矢量与 X 轴间的角度
nOrientation 字体基线与 X 轴间的角度
nWeight 字体粗细,可取以下值
Constant Value
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_BLACK 900
FW_HEAVY 900
bItalic 是否为斜体
bUnderline 是否有下划线
cStrikeOut 是否带删除线
nCharSet 指定字符集合,可取以下值
Constant Value
ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
OEM_CHARSET 255
nOutPrecision 输出精度
OUT_CHARACTER_PRECIS OUT_STRING_PRECIS
OUT_DEFAULT_PRECIS OUT_STROKE_PRECIS
OUT_DEVICE_PRECIS OUT_TT_PRECIS
OUT_RASTER_PRECIS
nClipPrecision 剪辑精度,可取以下值
CLIP_CHARACTER_PRECIS CLIP_MASK
CLIP_DEFAULT_PRECIS CLIP_STROKE_PRECIS
CLIP_ENCAPSULATE CLIP_TT_ALWAYS
CLIP_LH_ANGLES
nQuality 输出质量,可取以下值
DEFAULT_QUALITY Appearance of the font does not matter.
DRAFT_QUALITY Appearance of the font is less important than when PROOF_QUALITY is
used. For GDI raster fonts, scaling is enabled. Bold, italic, underline, and strikeout fonts are
剩余40页未读,继续阅读
qq_20225029
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功