相关疑难解决方法(0)

当Windows字体缩放大于100%时,如何使我的GUI表现良好

在Windows控制面板中选择大字体大小(如125%或150%)时,每次按像素设置某些内容时,VCL应用程序中都会出现问题.

拿走TStatusBar.Panel.我已经设置了它的宽度,使它只包含一个标签,现在使用大字体标签"溢出".与其他组件相同的问题.

戴尔的一些新笔记本电脑已经默认设置为125%,因此在过去这个问题非常罕见,现在非常重要.

可以做些什么来克服这个问题?

windows delphi windows-7

105
推荐指数
4
解决办法
5万
查看次数

DialogBoxIndirect创建比询问更大的对话框

对于我的应用程序,我需要创建一个不使用资源的对话框.我试图用DialogBoxInderect函数做到这一点.代码令人难以置信的丑陋,但不知怎的,我成功地做到了.

问题是,由于某种原因,对话框比我用更大的字体要求的要大得多.

如果我从资源加载它,对话框的样子如下: 在此输入图像描述

这是我调用DialogBoxInderect函数时指定的相同大小的对话框. 在此输入图像描述

以下是在代码中定义的方式:

HGLOBAL             hGlobal;
LPDLGTEMPLATE       wlsDialogTemplate;
LPDLGITEMTEMPLATE   wlsDialogItemTemplate;
LPWORD              nextItem;
LPWSTR              itemString;
int32_t             itemStringLength;

// Check for memory allocation errors
hGlobal = GlobalAlloc(GMEM_ZEROINIT, 1024);
if (!hGlobal) 
    return -1;

wlsDialogTemplate = (LPDLGTEMPLATE)GlobalLock(hGlobal);

// Define a dialog box.
wlsDialogTemplate->style    = WS_CAPTION;
wlsDialogTemplate->x        = 0;
wlsDialogTemplate->y        = 0;
wlsDialogTemplate->cx       = 320;
wlsDialogTemplate->cy       = 115;

GlobalUnlock(hGlobal);
retCode = DialogBoxIndirect(0, (LPDLGTEMPLATE)hGlobal, 0, ActivateWlsMsgDialog);
Run Code Online (Sandbox Code Playgroud)

以下是RC文件中的定义方式:

IDD_WLS_SMALL_MESSAGE_DLG DIALOGEX 0, 0, 320, 115
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP …
Run Code Online (Sandbox Code Playgroud)

c++ winapi dialog

5
推荐指数
1
解决办法
1923
查看次数

win32 - 在按钮中使用默认按钮字体

我正在用 C++ 创建一个小型 WinAPI 应用程序。我正在尝试使用以下代码在表单上创建一个按钮:

HWND hwndButton = CreateWindow(
    TEXT("BUTTON"),   
    TEXT("Click Here"),       
    WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,  // Styles 
    10,         
    10,         
    100,        
    30,        
    hwnd,     
    NULL,       
    (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),
    NULL);     
Run Code Online (Sandbox Code Playgroud)

此代码基于 MSDN 示例。我的问题是它在按钮上使用粗体字体,如下所示:

在此输入图像描述

当我想使用这样的标准字体时:

在此输入图像描述

我的文件顶部已经有预处理器指令来启用视觉样式。

#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
Run Code Online (Sandbox Code Playgroud)

我应该采取哪些步骤来使用标准系统宽字体?

谢谢

c++ winapi fonts

4
推荐指数
1
解决办法
5213
查看次数

如何在win api中设置整个应用程序的字体?

可能重复:
如何为Win32应用程序中的所有窗口设置默认字体?
哪个字体是MFC对话框控件的默认值?

我讨厌默认的Windows Api Window字体(我认为它是默认的系统字体).我知道如何更改单个孩子的字体,比如一个按钮.但是,有没有办法改变整个应用程序的字体,以便我不必在程序中的每个小部件上使用SendMessage(... WM_SETFONT)

代码示例受到欢迎.(我使用的是C++)

c++ winapi fonts

0
推荐指数
1
解决办法
6408
查看次数

标签 统计

c++ ×3

winapi ×3

fonts ×2

delphi ×1

dialog ×1

windows ×1

windows-7 ×1