【问题标题】:Windows Mobile 6.1 - .NET CF StatusBar control - embedding iconWindows Mobile 6.1 - .NET CF StatusBar 控件 - 嵌入图标
【发布时间】:2023-03-26 07:07:01
【问题描述】:

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

【问题讨论】:

    标签: c# .net windows-mobile compact-framework mobile


    【解决方案1】:

    Compact Framework 的 StatusBar 控件非常、非常基础并且功能有限。它不支持添加图像甚至多个面板。这部分是由于 CF 团队 (IMO) 的懒惰,部分是由于操作系统的限制。

    操作系统状态栏通用控件最多支持 255 个面板。 CF 团队不允许超过一个。这纯粹是懒惰,但至少你可以通过子类化它并向它发送一个 SB_SETPARTS 消息来解决它。这需要相当多的 P/Invoking 才能让它全部工作,所以除非你真的需要,否则我会避免它。

    但是,本机控件甚至不支持图像。您可以将其子类化,然后自己处理 WM_PAINT 并绘制您的图标。我没有尝试过,但这似乎是一种合理的方法。这也需要对所有 GDI 内容进行一些丑陋的本机调用。这可能会导致内存泄漏或访问冲突,因此除非您真的需要它并且对旧的 Win32 绘画感到满意,否则您可能会在决定这条路线之前尝试提出替代解决方案。

    【讨论】:

      猜你喜欢
      • 2015-07-03
      • 2011-03-13
      • 2011-10-30
      • 2018-03-06
      • 2011-01-01
      • 2011-07-18
      • 2013-09-17
      • 1970-01-01
      • 2011-05-02
      相关资源
      最近更新 更多