求解,windows高级编程

问题描述

求解,windows高级编程

求解,windows高级编程,win32项目,文本输出那块儿,在使用创建的自定义字体后怎么再使用默认字体?

解决方案

GetStockObject(17)可以直接获取默认字体的句柄。
要设置设备上下文DC(GDI文字输出)的字体: SelectObject(DC句柄,GetStockObject(17));
要设置一个控件的字体:
SendMessage(要设置字体的窗口或控件句柄,?WM_SETFONT,?(WPARAM)GetStockObject(17),?0);
另外不用时记得把之前的字体销毁掉,否则会内存泄露

解决方案二:

 HGDIOBJ hFont = GetStockObject(SYSTEM_FONT);
CFont font;
font.Attach(hFont);
SetFont(&font);

[解决办法]
GetTextMetrics
EnumFontFamiliesEx
看看.这两个应该可以.

解决方案三:

windows高级编程
windows下shellcode高级编程
Windows高级编程之进程

解决方案四:

你使用新的字体时,要保存原字体。在不用新字体时,要恢复原字体。

OldFont=pDC->SeleteObject(NewFont);
...

SeleteObject(OldFont);

解决方案五:

 pOldFont=pDC->SelectObject(&NewFont);

pDC->TextOut(int(x), int(y), str);

pDC->SelectObject(pOldFont);
时间: 2024-10-18 16:24:08

求解,windows高级编程的相关文章

《windows应用高级编程-C#编程篇》书中程序的小问题及改进

window|编程|程序|高级|问题 清华大学出版社<windows应用高级编程-C#编程篇>,2003年1月第1版,Benny Johansen & Matthew Reynolds等著,张哲峰译,在第八章文件操作中的一个记事本小程序,有三个小问题,其中两个同性质问题问题一:StreamReader streamReader=new StreamReader(fileStream); 当打开的文件是中文字符时,会出现乱码.当打开文件的同时,将读取的文件内容转化为StreamReade

092_《Delphi6高级编程》

<Delphi6高级编程> Delphi 教程 系列书籍 (092) <Delphi6高级编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: 下载 作者: 飞思科技产品研发中心 丛书名: 开发专家之Delphi 出版社:电子工业出版社 ISBN:7505373609 上架时间:2002-2-7 出版日期:2002 年1月 页码:646 版次:1-1 内容简介 本书属于<开发专家之DelPhi>系列.Delphi 6是Borland公司推出的

018_《Delphi下深入Windows核心编程》

<Delphi下深入Windows核心编程> Delphi 教程 系列书籍 (018) <Delphi下深入Windows核心编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3     书名: Delphi下深入Windows核心编程 作者: 飞思科技产品研发中心 出版社: 电子工业出版社 书号: 7505384023 出版日期:2003年1月 开本: 787*1092 1/16 页码: 525 版次: 2003年1

096_《Delphi5高级编程丛书之二:GUI编程》

<Delphi5高级编程丛书之二:GUI编程> Delphi 教程 系列书籍 (096) <Delphi5高级编程丛书之二:GUI编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 Part4 作者: 徐新华 出版社: 人民邮电出版社 书号: 出版日期:2000年4月 开本: 787*1092 1/16 页码: 496 版次: 2000年4月第一版第一次印刷 内容简介 本书全面深入地介绍了如何运用 Delphi 5进

[原创/讨论][windows核心编程一外传]关于访问虚拟地址0的方法。

接上一篇 Windows 核心编程研究系列之一(改变进程 PTE) 内容 上一篇观赏地址 :http://community.csdn.net/Expert/topic/5124/5124747.xml?temp=.2832453 当然系统保证不让访问地址0出于一种保护的目的,是防止未初始化的指针读取数据.我说的访问地址0只是出于一种纯实现的目的,也不提倡大家这样做.说白了只是好玩罢了. 大家都知道在 windows 中读取/写入地址0的指令肯定会出错: // 写 0 地址的内容xor edx,

类型转化-Windows 系统编程:cannot convert from &amp;amp;#39;LPTSTR []&amp;amp;#39; to &amp;amp;#39;LPCTSTR *&amp;amp;#39;

问题描述 Windows 系统编程:cannot convert from 'LPTSTR []' to 'LPCTSTR *' 小弟在学习系统编程(所用书籍Windows系统编程,第四版WIN7VS2010),在运行书上给的样板程序时出现了这个问题. int _tmain (int argc LPTSTR argv[]){...iFirstFile = Options (argc argv _T(""s"") &dashS NULL);...}其中:DWO

Windows界面编程(2) 半透明窗体

上一篇<Windows界面编程第一篇 位图背景与位图画刷>介绍了通过WM_CTLCOLORDLG消息来来设置对话框的背景以及位图画刷的使用.本篇将介绍动态调节窗体透明度的方法. 调节窗体透明度可以先使用SetWindowLong为窗体加上WS_EX_LAYERED属性,再使用来SetLayeredWindowAttributes指定窗体的透明度.这样就可以在程序运行时动态的调节窗体的透明度了. 下面先介绍下SetWindowLong和SetLayeredWindowAttributes函数.

Windows界面编程(1) 位图背景与位图画刷

可以通过WM_CTLCOLORDLG消息来设置对话框的背景,MSDN上对这个消息的说明如下: The WM_CTLCOLORDLG message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors using the specified display

UNIX环境高级编程:线程同步之互斥锁、读写锁和条件变量

一.使用互斥锁 1.初始化互斥量 pthread_mutex_t mutex =PTHREAD_MUTEX_INITIALIZER;//静态初始化互斥量 int pthread_mutex_init(pthread_mutex_t*mutex,pthread_mutexattr_t*attr);//动态初始化互斥量 int pthread_mutex_destory(pthread_mutex_t*mutex);//撤销互斥量 不能拷贝互斥量变量,但可以拷贝指向互斥量的指针,这样就可以使多个函数