none
如何控制程序中各对话框、拖拽窗口字体? RRS feed

  • 问题

  • 程序中没有对各对话框、字体等进行设置。但发现有的窗口是粗体,有的不是,大小也不完全一样。

    现在想要美化一下界面,但是不是很明白Windows怎么设置缺省字体。

    程序中有FormView/Dialog,此类窗口中的字体缺省是根据什么设置的?

    拖拽窗口中的CListCtrl, 这个很奇怪,不同的拖拽窗口,相同的实现方式。但是字体居然不一样,有个是粗字体,有的不是。不知道是根据什么控制的?

    想要把字体、背景、前景色等设置到xml配置文件中,请问如何做对应关系?想最少的调整几个缺省的系统字体,然后各个类别的窗口随着改变。不想每个窗口都单独设置字体。

    2016年11月28日 6:00

全部回复

  • Hi BruceLiu_sh,

    感谢在MSDN论坛发帖。

    >>拖拽窗口中的CListCtrl, 这个很奇怪,不同的拖拽窗口,相同的实现方式。但是字体居然不一样,有个是粗字体,有的不是。不知道是根据什么控制的?

    想要把字体、背景、前景色等设置到xml配置文件中,请问如何做对应关系?想最少的调整几个缺省的系统字体,然后各个类别的窗口随着改变。不想每个窗口都单独设置字体。

    你可以使用CFont::CreateFont创建一个全局的Font对象,并使用CWnd::SetFont函数发送WM_SETFONT消息到窗口,设置具体的字体。

    Windows默认字体就是System font (SYSTEM_FONT),可以使用GetStockObject函数检索。

    这里有篇类似的帖子,你可以参考一下。

    http://stackoverflow.com/questions/6057239/which-font-is-the-default-for-mfc-dialog-controls

    希望可以帮助到你。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    • 已编辑 Baron Bi 2016年11月28日 7:53
    2016年11月28日 7:53
  • MFC程序一般是将这些字体设置放置在资源文件中,当然也可以自己创建xml存储来设置。

    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年11月28日 8:00