每天UP一点点 - 15.12.15(输出文字)
来源:互联网 发布:吉他谱制谱软件 编辑:程序博客网 时间:2024/06/15 18:07
1.输出文字
1-1.设备内容(上下文)
1-1-1.取得设备内容句柄(方法一)
PAINTSTRUCT ps ;HDC hdc ;caseWM_PAINT: hdc = BeginPaint (hwnd, &ps) ; 使用GDI函数 EndPaint (hwnd, &ps) ; return 0 ;
1-1-2.绘图信息结构
typedef struct tagPAINTSTRUCT { HDC hdc ; //设备内容句柄 BOOL fErase ; //表示是否擦除背景 RECT rcPaint ; //表示无效区域的范围 BOOL fRestore ; BOOL fIncUpdate ; BYTE rgbReserved[32] ; } PAINTSTRUCT ;
1-1-3.取得设备内容句柄(方法二)
<span style="font-weight: normal;">PAINTSTRUCT ps ;HDC hdc ;caseWM_PAINT: hdc = GetDC (hwnd) ; 使用GDI函数 ReleaseDC (hwnd, hdc) ; return 0 ;</span>
1-1-4.区别
BeginPaint()会使无效区域变为有效,而GetDC不会,所以使用GetDC后若不使用ValidateRect()使其有效,windows会不停的发送WM_Paint消息,使窗口闪烁或卡死
BOOL ValidateRect(HWND hWnd, // 窗口的句柄CONST RECT *lpRect // 指向RECT结构的指针);
1-2.系统字体
1-2-1.字符结构
typedef struct tagTEXTMETRIC {<span style="color:#ff0000;"> LONG tmHeight; //字符高度</span><span style="color:#ff0000;"> LONG tmAscent; //字符上部高度(基线以上)</span><span style="color:#ff0000;"> LONG tmDescent; //字符下部高度(基线以下)</span> LONG tmInternalLeading; //由tmHeight定义的字符高度的顶部空间数目 LONG tmExternalLeading; //夹在两行之间的空间数目<span style="color:#ff0000;"> LONG tmAveCharWidth; //平均字符宽度</span><span style="color:#ff0000;"> LONG tmMaxCharWidth; //最宽字符的宽度</span> LONG tmWeight; //字体的粗细轻重程度 LONG tmOverhang; //加入某些拼接字体上的附加高度 LONG tmDigitizedAspectX; //字体设计所针对的设备水平方向 LONG tmDigitizedAspectY; //字体设计所针对的设备垂直方向 BCHAR tmFirstChar; //为字体定义的第一个字符 BCHAR tmLastChar; //为字体定义的最后一个字符 BCHAR tmDefaultChar; //字体中所没有字符的替代字符 BCHAR tmBreakChar; //用于拆字的字符 BYTE tmItalic; //字体为斜体时非零 BYTE tmUnderlined; //字体为下划线时非零 BYTE tmStruckOut; //字体被删去时非零 BYTE tmPitchAndFamily; //字体间距(低4位)和族(高4位) BYTE tmCharSet; //字体的字符集} TEXTMETRIC;
1-2-2.获取字符结构
TEXTMETRIC tm ;hdc = GetDC (hwnd) ; GetTextMetrics (hdc, &tm) ; ReleaseDC (hwnd, hdc) ;
1-2-3.输出字体
BOOL TextOut(HDC hdc, // 设备描述表句柄int nXStart, // 字符串的开始位置 x坐标int nYStart, // 字符串的开始位置 y坐标LPCTSTR lpString, // 字符串int cbString // 字符串中字符的个数)int DrawText(HDC hDC, // 设备描述表句柄LPCTSTR lpString, // 将要绘制的字符串int nCount, // 字符串的长度LPRECT lpRect, // 指向矩形结构RECT的指针UINT uFormat // 正文的绘制选项);
0 0
- 每天UP一点点 - 15.12.15(输出文字)
- 每天UP一点点 - 15.12.14 (创建窗口)
- 每天一点点
- 每天一点点
- 每天一点点
- java输入流输出流 每天学习一点点基础
- 每天总结一点点,每天进步一点点!
- 每天变好一点点【转】
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天进步一点点
- 每天收获一点点
- [LeetCode]Course Schedule
- Android里面主菜单里面设置菜单列表,单项选择,多项选择的实现
- R树空间索引
- HDOJ--2003
- String.Format格式说明
- 每天UP一点点 - 15.12.15(输出文字)
- LeetCode 107:Binary Tree Level Order Traversal II
- 友盟微信登录-切换账号重新拉起授权
- 在茫茫人海中发现相似的你——局部敏感哈希(LSH)
- 杭电2098 分拆素数和(数论)(思维)
- 随机取数---String方法比较不重复
- 头文件
- HDOJ--2004
- UIScrollView 实践经验