2

我的应用程序中有编辑控件和富编辑控件,它们是只读的。但最重要的是,我想做它,所以我不能选择文本,甚至不能用它做任何事情,只能显示。我没有让它成为静态的,因为当我第一次制作我的应用程序时,我并没有更好的了解。我想解决它的方法是禁用它。问题是如果我禁用它们,它们会变灰。除了更换它们还有什么好的选择吗?此外,由于某种原因,“无隐藏选择”根本不起作用。当我选择某些东西然后取消焦点时,它会保持选中状态......

信息:IDE:Visual Studio 2010 - Ultimate / Border:对话框框架

感谢您的关注

4

1 回答 1

2

对于编辑控件:不能直接禁用编辑控件而不使其变灰。这是一个选项: http: //www.codeguru.com/forum/archive/index.php/t-210552.html

见 Simon666 的代码回复。您需要禁用编辑控件并覆盖对话框的 OnCtlColor(),然后在 OnCtlColor 中将编辑控件绘制为白色。

每当对话框开始绘制它的控件时,就会调用 OnCtlColor() 函数。因此,您覆盖它,允许它以正常方式(第一行)绘制,然后以您的方式绘制所需的控件。

于 2011-12-10T11:34:33.263 回答