我已经在Compact Framework的MainMenu控件上搜索了更改背景颜色的解决方案,我找到的唯一答案就是你需要创建一个自定义控件。有没有人有这方面的示例代码?

有帮助吗?

解决方案

无法做到这一点。
你的权利,你可能需要创建自己的控件。

这是我正在考虑做的事情,以使应用程序在Windows CE和Windows Mobile上运行 当应用程序需要同时使用菜单时添加菜单的问题是菜单会在Windows CE上显示在屏幕顶部,并涵盖可能存在的任何控件。
从长远来看,只要做出新的控制就不那么麻烦了。

其他提示

我做了一些模糊相似的事情,我想处理WM_EXITMENULOOP消息,这个消息在.NETCF中不可用作事件。

解决方案是“子类化”。主菜单,一个旧的MFC技巧,你用你自己的WndProc函数替换它,处理任何Windows消息(在我的例子中是WM_EXITMENULOOP),并为其他一切调用基类WndProc。

Alex Yakhnin博客上提供了一些示例代码,介绍了如何对控件进行子类化: 在.NETCF中继承窗口的示例

在你的情况下,你实际上是继承MainMenu所在的Form的子类,我认为WM_DRAWITEM将是你想要自己处理的Windows消息。 我没有尝试过自己改变背景颜色,所以不能完全确定它会起作用,但是子类化将是我开始的地方。

我曾尝试做类似的事情,发现你必须自己编写菜单;从头开始。我放弃了,因为我正在研究的项目付不起费用。我还发现 OpenNETCF 有一个非常棒的菜单控件。我不知道它是否包含在他们的免费软件中,但它可能值得研究。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top