我有一个运输软件,它使用属性表的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来增加仅仅这个对话框内容的大小。
我很疑惑。有人知道可能发生了什么吗?
谢谢你的意见。现在问题已经解决了。事实证明,问题是我明确使用的字体 "MS Sans Serif"。显然,有些国外系统不包含这种字体,当出现这种情况时,Windows会用系统字体代替,而系统字体的字体特性不一样,不符合对话框的定义大小。
解决方法是用 "Microsoft Sans Serif "代替,现在一切都好了。