gpt4 book ai didi

c++ - 如何在 CDateTimeCtrl 中居中对齐文本?

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:29 25 4
gpt4 key购买 nike

我在我的对话框应用程序中使用 CDateTimeCtrl。现在我们已经与客户就CDateTimeCtrl 的大小达成一致。第一个问题是,默认情况下它是左对齐的,并且非常靠近左边框。第二个问题是它在控件的右侧留下了非常宽的空间。因此,解决这两个问题的方法是将文本居中对齐。

不幸的是,在“属性”窗口中,没有对齐属性(“右对齐”除外,当我尝试切换它时没有任何变化)。

现在,我尝试在 OnInitDialog() 事件中调用 CWnd::ModifyStyle。另外,运气不好。

对于实际代码,

auto timePicker = (CDateTimeCtrl*)GetDlgItem(IDC_TIME_PICKER);
timePicker->ModifyStyle(0, SS_CENTER);

return TRUE; // this function is the OnInitDialog()

调用此函数不会使 CDateTimeCtrl 的文本居中,我可能遗漏了什么?

最佳答案

您不能使用适合静态控件的样式并在日期时间控件中使用该样式。

列出了所有可用样式 here .

控件本身也没有子控件。它自己绘制值。也许有机会子类化控件并覆盖 WM_PAINT 消息并自己进行一种所有者绘图。

我不使用日期时间选择器,我承认:我一点也不喜欢它。我自己写了一个更加灵活的完整控件。

关于c++ - 如何在 CDateTimeCtrl 中居中对齐文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54412668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com