我已经在Compact Framework的MainMenu控件上搜索了更改背景颜色的解决方案,我找到的唯一答案就是你需要创建一个自定义控件。有没有人有这方面的示例代码?
答案 0 :(得分:2)
我做了一些模糊相似的事情,我想处理WM_EXITMENULOOP消息,这个消息在.NETCF中不可用作事件。
解决方案是“子类化”主菜单,一个旧的MFC技巧,你用你自己的WndProc函数替换,处理任何Windows消息(在我的情况下是WM_EXITMENULOOP),并为其他一切调用基类WndProc。
Alex Yakhnin博客上提供了一些示例代码,介绍了如何对控件进行子类化: Example of subclassing a window in .NETCF
在你的情况下,你实际上是继承MainMenu所在的Form的子类,我认为WM_DRAWITEM将是你想要自己处理的Windows消息。 我没有尝试过自己改变背景颜色,所以不能完全确定它会起作用,但是子类化将是我开始的地方。
答案 1 :(得分:0)
没有办法这样做。
你的权利,你可能需要创建自己的控件。
这是我正在考虑做的事情,以使应用程序在Windows CE和Windows Mobile上运行
当应用程序需要同时使用菜单时添加菜单的问题是菜单会在Windows CE的屏幕顶部显示,并涵盖可能存在的任何控件。
从长远来看,只要做出新的控制就不那么麻烦了。
答案 2 :(得分:0)
我曾尝试做类似的事情,发现你必须自己编写菜单;从头开始。我放弃了,因为我正在研究的项目付不起费用。我还发现OpenNETCF有一个非常棒的菜单控件。我不知道它是否包含在他们的免费软件中,但它可能值得研究。