char *facename; }setFont; int CALLBACK FontCallback(LOGFONT *lf,TEXTMETRIC *tm,DWORD type,LPARAM structSetFont) HFONT hfont; setFont *value=(setFont*) structSetFont; if(strstr(lf->lfFaceName,(char *)value->facename)) hfont=CreateFontIndirect(lf); SendMessage(value->hwnd,WM_SETFONT,(WPARAM)hfont,(LPARAM)MAKELONG(TRUE,TRUE)); return FALSE; return TRUE; LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) static HWND hedit; setFont sf; switch(msg) case WM_CREATE: hedit=CreateWindow("static","hello",WS_CHILD | WS_VISIBLE,10,10,100,100,hwnd,NULL,((CREATESTRUCT *)lParam)->hInstance,NULL); sf.hwnd=hedit; sf.facename="Impact"; EnumFonts(GetDC(hedit),NULL,(FONTENUMPROC)FontCallback,(LPARAM)&sf); break; case WM_DESTROY: PostQuitMessage(0); break; return DefWindowProc(hwnd,msg,wParam,lParam); int WINAPI WinMain(HINSTANCE hi,HINSTANCE hpi,LPSTR cmdLine,int nCmdShow) MSG msg; HWND hwnd; WNDCLASS wcls; ZeroMemory(&wcls,sizeof wcls); wcls.hInstance=hi; wcls.lpfnWndProc=WndProc; wcls.lpszClassName="fontDemo"; wcls.hCursor=LoadCursor(NULL,IDC_ARROW); wcls.hbrBackground=(HBRUSH)(COLOR_3DSHADOW); RegisterClass(&wcls); hwnd=CreateWindow("fontDemo","FontStyleChange",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hi,NULL); ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); while(GetMessage(&msg,NULL,0,0)) TranslateMessage(&msg); DispatchMessage(&msg); return msg.wParam; }源代码出自: ORBIT TrueType 字体 TrueType 字体 ,中文名称全真 字体 ,是由Apple公司和Microsoft公司联合提出的一种采用新型数学字形描述技术的计算机 字体 。它用数学函数描述 字体 轮廓外形,含有字形构造、颜色填充、数字描述函数、流程条件控制、栅格处理控制、附加提示控制等指令。TrueType 字体 与PostScript 字体 、OpenType 字体 是主要的三种计算机矢量 字体 (又称轮廓 字体 、描边 字体 )。 首先要将控件设置为可以自画,例如:要自画一个按钮,在窗口的WM_CREATE中创建类名为“BUTTON”的子窗口, 风格 必须包含BS_OWNERDRAW。然后在父窗口的WM_DRAWITEM中编写自画按钮的样式,可以包含 字体 ,背景,文本颜色等。由查询MSDN中WM_DRAWITEM可知,该消息包含两个参数:控件id以及自画信息,自画信息为一个自画结构体,该结构体包含自画需要的各种信息,通过强制转换l... Windows 系统中经常 使用 GDI进行文本输出从某种意义上来说图形和文本并没有本质上的界限很多时候 windows 把文本也当作图形对待。在 windows 编程中文本操作首先要获得文本句柄此外还要设置 字体 字符大小字符颜色等有关属性并将它们选入设备环境。设置文本的设备环境1.自定义 字体 可以 使用 函数CreateFont自定义... //----------------------在处理WM_CREATE期间,先画控件然后 使用 自定义 字体 hdc = GetDC(hwnd); logFont.lfHeight = MulDiv... 我们将在第十七章`详细讨论 字体 ,但那些都不能代替通用对话框函数来选择 字体 。在WM_CREATE消息处理期间,POPFONT.C中的POPPAD呼叫PopFontInitialize。这个函数取得一个依据系统 字体 建立的LOGFONT结构,由此建立一种 字体 ,并向编辑控件发送一个WM_SETFONT消息来设定一种新的 字体 (内定编辑控件 字体 是系统 字体 ,而PopFontInitialize为编辑控件建立一种... #define WIN API _stdcall 可以发现CALLBACK也是这样定义的 _stdcall规定了编译时的一些选项WIN API 是一个宏,所代表的符号是__stdcall, 函数名前加上这个符号表示这个函数的调用约定是标准调用约定, windows API 函数采用这种调用约定。 http://ask.csdn.net/questions/153821 DWORD WIN API 函数名: 这个是 Windows 编程中要了解的,首先DWORD是数据类型,在这里是返回值,WIN API 是函数的调用形式,最终就是_stdcall形式,就被调用函数来清理栈中的参数,这种形式是不能实现可变参数的。 windows api = windows application pro... 线程的常见,线程,创建一个最简单的线程,线程状态,线程常见 API ,线程与时间戳,线程同步问题,方式一: 原子操作,方式二:临界区,方式三:互斥体,事件处理线程同步,方式五:信号量 DWORD WIN API ClientThread(LPVOID lpParameter)以前我只学过类似:int swap(int x,int y)这样的函数,而这个函数看起来就很诡异,如何理解这个函数呢?DWORD是数据类型,在这里是返回值,返回32位数据。在visual studio中WIN API 转到定义可以看到:#define WIN API __stdcall也就是说WIN API 是一个宏,...