Windows Mobile 6.1 - .NET CF状态栏控件 - 嵌入图标

3

在.NET CF 3.5上,是否可以在StatusBar控件上嵌入图标?

1个回答

3
紧凑框架StatusBar控件非常基础且功能受限。它不支持添加图像甚至多个面板。这部分是由于CF团队的懒惰(在我看来),也部分是由于操作系统的限制。
操作系统状态栏公共控件支持最多255个面板。CF团队只允许一个。这纯粹是懒惰,但至少你可以通过子类化并发送SB_SETPARTS消息来解决它。这需要相当数量的P/Invoke才能使其正常工作,因此除非你真的需要它,否则我建议避免使用它。
然而,原生控件甚至不支持图像。可能你可以子类化它,然后自己处理WM_PAINT并绘制图标。我没有尝试过,但这似乎是一个合理的方法。这将需要大量丑陋的本地调用来处理所有的GDI内容。这有可能导致内存泄漏或访问冲突,因此除非你真的需要它并且熟悉旧式的Win32绘画,否则在决定采取这种方法之前,你可能要尝试找到替代方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接