0

我开始为一个新项目开发一系列自定义 ATL ActiveX 控件,并且正在使用 ATL 项目向导。展望未来,我想确保控件可以在 C# 和 VC++ 中使用。

我遇到了一个问题,我可以创建一个 C# 项目,将我的控件放在表单上并更改字体属性。渲染的文本会立即以新选择的字体重新绘制。

但是,当我在 VC++ 中创建基于 MFC 的项目时,将控件放在对话框上并更改字体属性。渲染的文本不会以新选择的字体重绘。如果我在对话框上移动控件,则测试确实会正确重绘

是什么赋予了?两个应用程序框架都托管在相同的 MSVS 2010 环境中,并使用相同的工具箱,但行为不同。我已经搜索了几个小时的答案,但无济于事。

4

1 回答 1

0

可能只是 MFC 对话框设计器与 WinForms 设计器相比有点古老,因此其中存在一些错误。最好在运行时测试,在这两种情况下立即更改 Font 属性更新。MFC 对话框设计器可能根本没有在正确的时间触发正确的消息——或者可能没有在适当的时刻重新绘制。

于 2012-03-14T15:07:26.650 回答