属性表显示太大

问题描述 投票:0回答:1

我有一个运输软件,它使用属性表的ToolsOptions。对于我的几乎所有客户来说,一切都很完美,但是对于2到3个客户来说,属性表看起来好像对话框单元太大了。字体、编辑框和所有的控件都有13个过大,但原点是一样的0,0。即便如此,包含的对话框大小也没有变化,所以结果是右边和底部的一些控件要么被剪掉,要么根本看不到。

我们只在两个地方使用属性表,对于有这个问题的客户,两个实例都会受到相同的影响。这种情况只发生在属性表上,而不是普通对话框。

资源的定义是在 .rc 文件一样。

[DLG_PREF7 DIALOG  10, 91, 300, 179
STYLE DS_ABSALIGN | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Font"
FONT 8, "MS Sans Serif"
BEGIN
    LTEXT           "Fixed-width font",79,7,7,119,12,SS_CENTERIMAGE
    COMBOBOX        80,131,7,126,300,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Proportional font",87,7,25,119,12,SS_CENTERIMAGE
    COMBOBOX        88,131,25,126,300,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP
    LTEXT           "Font size",-1,7,43,119,12,SS_CENTERIMAGE
    EDITTEXT        705,131,43,20,12,ES_RIGHT | ES_NUMBER | WS_GROUP | WS_TABSTOP 
END][1]

一张图片胜过千言万语 但我不确定我的图片是否 "拍 "出来了。如果没有,试想一下,如果你能用ctrlmouse-wheel来增加仅仅这个对话框内容的大小。

我很疑惑。有人知道可能发生了什么吗?

c++ winapi
1个回答
1
投票

谢谢你的意见。现在问题已经解决了。事实证明,问题是我明确使用的字体 "MS Sans Serif"。显然,有些国外系统不包含这种字体,当出现这种情况时,Windows会用系统字体代替,而系统字体的字体特性不一样,不符合对话框的定义大小。

解决方法是用 "Microsoft Sans Serif "代替,现在一切都好了。

© www.soinside.com 2019 - 2024. All rights reserved.