语言设置为日语时自定义 MFC 控件的大小问题

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

我负责 DeepSkyStacker 应用程序。

如果系统语言设置为英语,则 DeepSkyStacker 将自己的语言设置为英语,并且其“处理”面板(右侧)正确显示:

如果系统语言设置为日语,则 DeepSkyStacker 将自己的语言设置为英语,因为没有完成日语翻译,其“处理”面板将显示不正确:

具体来说,“渐变”滑块控件的显示高度为 51 像素,而当语言设置为英语时,它们仅显示 46 像素高:

有人知道是什么原因造成的吗?

对话框定义如下:

IDD_RGB DIALOGEX 0, 0, 164, 126
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION
CAPTION "RGB/K Levels"
FONT 8, "MS Shell Dlg 2", 0, 0, 0x1
BEGIN
    CONTROL         "Gradient",IDC_REDGRADIENT,"MFCGradientCtrl",WS_TABSTOP,16,3,148,30,WS_EX_CLIENTEDGE
    CONTROL         "Gradient",IDC_GREENGRADIENT,"MFCGradientCtrl",WS_TABSTOP,16,35,148,30,WS_EX_CLIENTEDGE
    CONTROL         "Gradient",IDC_BLUEGRADIENT,"MFCGradientCtrl",WS_TABSTOP,16,67,148,30,WS_EX_CLIENTEDGE
    PUSHBUTTON      "Reset",IDC_RESET,116,112,48,14
    PUSHBUTTON      "Apply",IDC_PROCESS,0,112,48,14
    CONTROL         "Linked settings",IDC_LINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,100,63,10
    PUSHBUTTON      "",IDC_UNDO,57,112,16,12
    PUSHBUTTON      "",IDC_REDO,95,112,16,12
    PUSHBUTTON      "",IDC_SETTINGS,76,112,16,12
    PUSHBUTTON      "",IDC_RED_HAT,2,5,14,27
    PUSHBUTTON      "",IDC_GREEN_HAT,2,37,14,27
    PUSHBUTTON      "",IDC_BLUE_HAT,2,69,14,27
END

大卫

mfc cjk
1个回答
0
投票

我按照建议更改了 dlg 定义,如下所示:

IDD_RGB DIALOGEX 0, 0, 164, 126
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | DS_SHELLFONT
CAPTION "RGB/K Levels"
FONT 8, "MS Shell Dlg 2", 0, 0, 0x1
BEGIN

但这并没有解决问题。我也尝试过:

IDD_RGB DIALOGEX 0, 0, 164, 126
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | DS_SHELLFONT
CAPTION "RGB/K Levels"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN

但这也不起作用。

谢谢大卫

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