1
7
是的,你做错了什么。:) 基于窗口的控件的某些方面要求将该控件放在其容器窗口上。这通常反映了底层窗口类本身的一些需求(不是VCL类,而是表示控件的MS Windows窗口对象)。 在这种情况下,只需移动Parent属性的赋值,使其在尝试更改字体之前发生。样式:
我不知道是否可以用这种方式成功地将字体设置为斜体,但这至少应该解决您的例外情况。 更新: 我已经确认字体可以用这种方式斜体,只要你先设置了控件父级。(我使用了Delphi2009,但如果它在Delphi5中不起作用,我会很惊讶) 我愿意 强烈地 为“canvas”面板控件推荐不同的名称选择。 附录:------- 这是给 使rect()无效 在 CMfOnTunCe() 需要窗口句柄的消息处理程序(而窗口句柄又要求控件具有父级)。 如果你绝对需要能够设置 起源 之后 修改 字体 ,您可以从 t日期时间选取器 并对 CMfOnTunCe() 禁止继承行为的消息,除非控件是父级的:
请注意 AdTraceTyt() 程序复制自 私有的 方法 t日期时间选取器 . 如果你只是改变 字体风格 您可能不需要重新生成此代码并可以删除它和对它的调用,但如果您更改了 字体 这样可以确保控件大小正确。 当你打电话 继承 私人 AdTraceTyt() 机制被调用,因此在这种情况下不需要调用该过程的本地副本。 |