三个小编辑框不再适合同一列
Three small edit-boxes no longer fit on the same columns
最近office更新后,我发现以前在功能区中完全适合的3个编辑框彼此重叠,不再适合,并且excel插入一个空的space而不是第三个,并将第三个推到下一列。
这是发生的情况的打印屏幕:
这是我的色带 XML 部分:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="MyAddInInitialize">
<ribbon >
<tabs >
<tab id="tabIqvia" getLabel="onGetLabel" getVisible="GetVisible" >
<group id="grpInfo" getLabel="onGetLabel" getVisible="GetVisible" getImage = "onGetImage" getSupertip="onGetSupertip" >
<editBox id="edbInfo1" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<editBox id="edbInfo2" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<editBox id="edbInfo3" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<separator id="sepInfo3" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
还有其他人遇到这个问题吗?
我有完全相同的行为,它似乎必须处理您正在使用的 Office 版本或 Windows 版本。
我将 3 个相同长度的编辑框分组在一个框项中。 (请参阅下面的完整功能区 XML 代码)
这是一个 Word 加载项,其中 xml 文件嵌入在 .dotm 文件中。
我在两台不同的机器上测试过它:
机器A
OS: Windows 7,
MS Office版本:365,
Word版本:“1811(Build 11029.20108点击-运行)”
Ribbon on Machine A shows nicely
机器 B
OS: Windows 10,
MS Office版本:365,
Word 版本:“1811(内部版本 11029.20079 Microsoft Store)”
Ribbon on Machine B shows the third textbox aside
XML代码:
<ribbon>
<tabs>
<tab id="tab_myMacro" label="myMacro" insertAfterMso="TabHome">
<group id="group_myMacro_Dates" label="Date Calculations" imageMso="DateAndTimeInsert">
<box id="box_myMacro_Dates_Toogles" boxStyle="vertical">
<toggleButton id="toogleButton_myMacro_Dates_CalculateStart" label="Calculate Start" showLabel="false" imageMso="CDAudioStartTime" onAction="ribDatesCalculateStart"/>
<toggleButton id="toogleButton_myMacro_Dates_CalculateFinish" label="Calculate Finish" showLabel="false" imageMso="CDAudioStopTime" onAction="ribDatesCalculateStart"/>
<toggleButton id="toogleButton_myMacro_Dates_CalculateDuration" label="Calculate Duration" showLabel="false" imageMso="StartAfterPrevious" onAction="ribDatesCalculateStart"/>
</box>
<box id="box_myMacro_Dates_Labels" boxStyle="vertical">
<labelControl id="labelControl_myMacro_Dates_CalculateStart" label=" Start:"/>
<labelControl id="labelControl_myMacro_Dates_CalculateFinish" label=" Finish:"/>
<labelControl id="labelControl_myMacro_Dates_CalculateDuration" label=" F-S+1 ="/>
</box>
<box id="box_myMacro_Dates_Editboxes" boxStyle="vertical">
<editBox id="editbox_myMacro_Dates_Start" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesStartChanged"/>
<editBox id="editbox_myMacro_Dates_Finish" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesFinishChanged"/>
<editBox id="editbox_myMacro_Dates_Duration" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesDurationChanged"/>
</box>
<box id="box_myMacro_Dates_DatePopUps" boxStyle="vertical">
<button id="labelControl_myMacro_Dates_StartPopUp" showLabel="false" showImage="true" imageMso="DateAndTimeInsert"/>
<button id="labelControl_myMacro_Dates_FinishPopUp" showLabel="false" showImage="true" imageMso="DateAndTimeInsert"/>
</box>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
我想我找到了答案,它是如此愚蠢,你不会相信。你知道 Windows 是如何做到 "Change the size of text, apps and other items?" 的。将其设置为 125%,您的按钮将不再适合 Windows 7。我真的希望他们在 Windows 10 上解决了这个问题,因为测试人员错过那个按钮真是太愚蠢了。
最近处理了 WinForms 上的 HDPI 渲染,我也偶然弄清楚了功能区是怎么回事:它在 96 DPI/100% 缩放比例下显示时适合 3 个文本框。在 125% 及以上的分辨率缩放设置下,功能区仅适合两个文本框。
在您自己的回答中,您提到了 OS 版本。这与 OS 本身无关: OS 仅向应用程序提供环境设置,例如每个屏幕的 DPI 缩放。
它是关于 (i) 应用程序本身如何根据环境设置决定行为的(所谓的 DPI 模式,例如 DPI 不感知、系统感知或感知每显示器),以及 (ii) 在高 DPI 环境下如何重绘色带形式。
事实上,我现在使用 Surface 4 Pro(HDPI 屏幕/200% 缩放比例/Windows 10)设计我的 winforms,我将其设置为 100% 缩放比例。我还将分辨率设置为 1920x1200,否则它变得难以管理。这是为了保持与旧表单、同事在低 DPI 机器上设计的表单以及 recommendations 的一致性。请注意,分辨率 不会 改变行为,只有缩放会改变。
一些有趣的阅读:
最近office更新后,我发现以前在功能区中完全适合的3个编辑框彼此重叠,不再适合,并且excel插入一个空的space而不是第三个,并将第三个推到下一列。
这是发生的情况的打印屏幕:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="MyAddInInitialize">
<ribbon >
<tabs >
<tab id="tabIqvia" getLabel="onGetLabel" getVisible="GetVisible" >
<group id="grpInfo" getLabel="onGetLabel" getVisible="GetVisible" getImage = "onGetImage" getSupertip="onGetSupertip" >
<editBox id="edbInfo1" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<editBox id="edbInfo2" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<editBox id="edbInfo3" getLabel="onGetLabel" getText="onGetText" sizeString="FALSE" getEnabled = "onGetEnabled"
getScreentip="onGetScreentip" getSupertip="onGetSupertip" />
<separator id="sepInfo3" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
还有其他人遇到这个问题吗?
我有完全相同的行为,它似乎必须处理您正在使用的 Office 版本或 Windows 版本。
我将 3 个相同长度的编辑框分组在一个框项中。 (请参阅下面的完整功能区 XML 代码)
这是一个 Word 加载项,其中 xml 文件嵌入在 .dotm 文件中。 我在两台不同的机器上测试过它:
机器A
OS: Windows 7, MS Office版本:365, Word版本:“1811(Build 11029.20108点击-运行)”
Ribbon on Machine A shows nicely
机器 B
OS: Windows 10, MS Office版本:365, Word 版本:“1811(内部版本 11029.20079 Microsoft Store)”
Ribbon on Machine B shows the third textbox aside
XML代码:
<ribbon>
<tabs>
<tab id="tab_myMacro" label="myMacro" insertAfterMso="TabHome">
<group id="group_myMacro_Dates" label="Date Calculations" imageMso="DateAndTimeInsert">
<box id="box_myMacro_Dates_Toogles" boxStyle="vertical">
<toggleButton id="toogleButton_myMacro_Dates_CalculateStart" label="Calculate Start" showLabel="false" imageMso="CDAudioStartTime" onAction="ribDatesCalculateStart"/>
<toggleButton id="toogleButton_myMacro_Dates_CalculateFinish" label="Calculate Finish" showLabel="false" imageMso="CDAudioStopTime" onAction="ribDatesCalculateStart"/>
<toggleButton id="toogleButton_myMacro_Dates_CalculateDuration" label="Calculate Duration" showLabel="false" imageMso="StartAfterPrevious" onAction="ribDatesCalculateStart"/>
</box>
<box id="box_myMacro_Dates_Labels" boxStyle="vertical">
<labelControl id="labelControl_myMacro_Dates_CalculateStart" label=" Start:"/>
<labelControl id="labelControl_myMacro_Dates_CalculateFinish" label=" Finish:"/>
<labelControl id="labelControl_myMacro_Dates_CalculateDuration" label=" F-S+1 ="/>
</box>
<box id="box_myMacro_Dates_Editboxes" boxStyle="vertical">
<editBox id="editbox_myMacro_Dates_Start" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesStartChanged"/>
<editBox id="editbox_myMacro_Dates_Finish" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesFinishChanged"/>
<editBox id="editbox_myMacro_Dates_Duration" showLabel="false" showImage="false" sizeString="_01_Jan_2010_" onChange="ribDatesDurationChanged"/>
</box>
<box id="box_myMacro_Dates_DatePopUps" boxStyle="vertical">
<button id="labelControl_myMacro_Dates_StartPopUp" showLabel="false" showImage="true" imageMso="DateAndTimeInsert"/>
<button id="labelControl_myMacro_Dates_FinishPopUp" showLabel="false" showImage="true" imageMso="DateAndTimeInsert"/>
</box>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
我想我找到了答案,它是如此愚蠢,你不会相信。你知道 Windows 是如何做到 "Change the size of text, apps and other items?" 的。将其设置为 125%,您的按钮将不再适合 Windows 7。我真的希望他们在 Windows 10 上解决了这个问题,因为测试人员错过那个按钮真是太愚蠢了。
最近处理了 WinForms 上的 HDPI 渲染,我也偶然弄清楚了功能区是怎么回事:它在 96 DPI/100% 缩放比例下显示时适合 3 个文本框。在 125% 及以上的分辨率缩放设置下,功能区仅适合两个文本框。
在您自己的回答中,您提到了 OS 版本。这与 OS 本身无关: OS 仅向应用程序提供环境设置,例如每个屏幕的 DPI 缩放。
它是关于 (i) 应用程序本身如何根据环境设置决定行为的(所谓的 DPI 模式,例如 DPI 不感知、系统感知或感知每显示器),以及 (ii) 在高 DPI 环境下如何重绘色带形式。
事实上,我现在使用 Surface 4 Pro(HDPI 屏幕/200% 缩放比例/Windows 10)设计我的 winforms,我将其设置为 100% 缩放比例。我还将分辨率设置为 1920x1200,否则它变得难以管理。这是为了保持与旧表单、同事在低 DPI 机器上设计的表单以及 recommendations 的一致性。请注意,分辨率 不会 改变行为,只有缩放会改变。
一些有趣的阅读: