Delphi 避免在Windows Vista对话框中包装复选框标题

Delphi 避免在Windows Vista对话框中包装复选框标题,delphi,Delphi,对于软件项目,我需要在MicrosoftWindowsVista对话框中对齐两个额外的个性化复选框。我学习了如何在delphi中的CustomizeInterface上使用可视组件和可视组添加复选框 我的问题:我需要如何处理这些复选框的标题以避免它们被包装 第一种解决方案(逐个显示复选框): Dialog.QueryInterface(IFileDialogCustomize、lCustomizeInterface); 如果getCheckBox1Caption为“”,则 lCustomizeI

对于软件项目,我需要在MicrosoftWindowsVista对话框中对齐两个额外的个性化复选框。我学习了如何在delphi中的CustomizeInterface上使用可视组件和可视组添加复选框

我的问题:我需要如何处理这些复选框的标题以避免它们被包装

第一种解决方案(逐个显示复选框):

Dialog.QueryInterface(IFileDialogCustomize、lCustomizeInterface);
如果getCheckBox1Caption为“”,则
lCustomizeInterface.AddCheckButton(DWORD(CheckBox1ID)、pWideChar(getCheckBox1Caption)、Checked1);
如果getCheckBox2Caption为“”,则
lCustomizeInterface.AddCheckButton(DWORD(CheckBox2ID)、pWideChar(getCheckBox2Caption)、Checked2);

第二种解决方案(在另一个下面显示复选框):

Dialog.QueryInterface(IFileDialogCustomize、lCustomizeInterface);
lCustomizeInterface.StartVisualGroup(DWORD(1005),pWideChar('Test');
如果getCheckBox1Caption为“”,则
lCustomizeInterface.AddCheckButton(DWORD(CheckBox1ID)、pWideChar(getCheckBox1Caption)、Checked1);
如果getCheckBox2Caption为“”,则
lCustomizeInterface.AddCheckButton(DWORD(CheckBox2ID)、pWideChar(getCheckBox2Caption)、Checked2);
lCustomizeInterface.EndVisualGroup;

你无法避免它们被包装。
IFileDialogCustomize
界面不提供控制布局的功能。控件执行所有这些操作

如果希望避免换行,最好使用较短的标题。或者添加一些额外的空格,以避免令人讨厌的中间分词。例如,如果使用此文本
“生成可展开/可折叠的Excel导出”
,则结果是:

Dialog.QueryInterface(IFileDialogCustomize, lCustomizeInterface);
if getCheckBox1Caption <> '' then
  lCustomizeInterface.AddCheckButton(DWORD(CheckBox1ID), pWideChar(getCheckBox1Caption), Checked1);
if getCheckBox2Caption <> '' then
  lCustomizeInterface.AddCheckButton(DWORD(CheckBox2ID), pWideChar(getCheckBox2Caption), Checked2);
Dialog.QueryInterface(IFileDialogCustomize, lCustomizeInterface);
lCustomizeInterface.StartVisualGroup(DWORD(1005), pWideChar('Test'));
if getCheckBox1Caption <> '' then
  lCustomizeInterface.AddCheckButton(DWORD(CheckBox1ID), pWideChar(getCheckBox1Caption), Checked1);
if getCheckBox2Caption <> '' then
  lCustomizeInterface.AddCheckButton(DWORD(CheckBox2ID), pWideChar(getCheckBox2Caption), Checked2);
lCustomizeInterface.EndVisualGroup;