如何使对话框标题 right/left 对齐
How to make a dialog title right/left aligned
借助 CWnd::SetWindowText
方法,我能够为基于 dailog 的应用程序设置所需的标题。我怎样才能使它 left/right 对齐?
很少有像 WS_EX_RIGHT
这样的扩展 window 样式可以做到这一点。
这是一个示例:
int CTestAlignDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialogEx::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_LAYOUTRTL | WS_EX_RTLREADING);
return 0;
}
要right-align对话框标题,需要在资源编辑器中为该Dialog设置"Right Align Text"(对应的扩展样式为WS_EX_RIGHT)。
WS_EX_LAYOUTRT 样式实际上翻转了对话框,因此所有控件都从 right-to-left 开始布局。标题确实向右移动,但关闭按钮向左移动。不是原始问题中提出的问题。
借助 CWnd::SetWindowText
方法,我能够为基于 dailog 的应用程序设置所需的标题。我怎样才能使它 left/right 对齐?
很少有像 WS_EX_RIGHT
这样的扩展 window 样式可以做到这一点。
这是一个示例:
int CTestAlignDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialogEx::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_LAYOUTRTL | WS_EX_RTLREADING);
return 0;
}
要right-align对话框标题,需要在资源编辑器中为该Dialog设置"Right Align Text"(对应的扩展样式为WS_EX_RIGHT)。
WS_EX_LAYOUTRT 样式实际上翻转了对话框,因此所有控件都从 right-to-left 开始布局。标题确实向右移动,但关闭按钮向左移动。不是原始问题中提出的问题。