40.字体选择 CHOOSEFONT结构体、LOGFONT、HFONT、ChooseFont、CreateFontIndirect

本文介绍了如何使用CHOOSEFONT结构体配合ChooseFont函数在Windows中进行字体选择,以及如何通过LOGFONT结构体和CreateFontIndirect函数创建逻辑字体。通过设置对话框标志和处理WM_LBUTTONDBLCLK消息,实现字体选择和窗口双击功能。
摘要由CSDN通过智能技术生成

字体选择
CHOOSEFONT结构体,用于ChooseFont函数选择字体的返回值

typedef struct tagCHOOSEFONTA {
   DWORD           lStructSize; //CHOOSE结构体的大小,sizeof(CHOOSEFONT)个字节大小
   HWND            hwndOwner;          //指向所有者的对话框句柄,如果对话框没有所有者,可以设置为NULL
   HDC             hDC;                // 绘图上下文环境
   LPLOGFONTA      lpLogFont;          // 选中的字体的返回值 LOGFONT struct ,字体是逻辑字体
   INT             iPointSize;         // 选中的字体的大小
   DWORD           Flags;              // 字体位标记,用于初始化对话框
   COLORREF        rgbColors;          // 字体的颜色
   LPARAM          lCustData;          // 自定义数据
   LPCFHOOKPROC    lpfnHook;           //钩子程序用的回调函数
   LPCSTR          lpTemplateName;     // 指向一个以空字符结束的字符串,字符串是对话框模板资源的名字,资源保存在能被hInstance成员识别的模块中
   HINSTANCE       hInstance;          // 实例句柄
                                       //   contains cust. dlg. template
   LPSTR           lpszStyle;          // 字体风格
                                       // must be LF_FACESIZE or bigger
   WORD            nFontType;          // 字体类型
                                       //   call back with the extra FONTTYPE_
                                       //   bits added
   WORD            ___MISSING_ALIGNMENT__;
   INT             nSizeMin;           // 字体允许的最小尺寸
   INT             nSizeMax;           // 字体允许的最大尺寸
                                       //   只有在CF_LIMITSIZE 标记被使用时,才会生效
} CHOOSEFONTA;
typedef struct tagCHOOSEFONTW {
   DWORD           lStructSize;
   HWND            hwndOwner;          // caller's window handle
   HDC             hDC;                // printer DC/IC or NULL
   LPLOGFONTW      lpLogFont;          // ptr. to a LOGFONT struct
   INT             iPointSize;         // 10 * size in points of selected font
   DWORD           Flags;              // enum. type flags
   COLORREF        rgbColors;          // returned text color
   LPARAM          lCustData;          // data passed to hook fn.
   LPCFHOOKPROC    lpfnHook;           /
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值