如何创建Windows Mobile 6.5.x手指友好库存控件?

时间:2010-10-25 07:00:54

标签: winforms .net-3.5 windows-mobile compact-framework

我正在使用.NET Compact Framework 3.5在C#中开发Windows Mobile应用程序。我的WM目标版本是6.5.x.我的印象是微软已经更新了这个版本的操作系统中的库存控件,以便更友好(更大的字体,列表框中行之间的空间更大等)但是当我创建一个ListBox控件时,它看起来和之前版本的操作系统(手写笔友好)相同。

我是否需要更新控件的样式才能利用这些新的手指友好的库存控件?但是,我似乎无法找到任何相关的文档。或者我误解了它;也许WM 6.5.x中没有新的控件?

1 个答案:

答案 0 :(得分:2)

您可以通过向列表视图发送LVM_SETEXTENDEDLISTVIEWSTYLE消息,同时将掩码和样式设置为LVS_EX_THEME来获取“新”列表视图项呈现:

var mask = (IntPtr)LVS_EX_THEME;
var style = (IntPtr)LVS_EX_THEME;

SendMessage(this.listView.Handle, LVM_SETEXTENDEDLISTVIEWSTYLE, mask, style);

您将以某种方式需要这些声明:

[DllImport("coredll.dll", SetLastError = true)]
public static extern Int32 SendMessage(IntPtr hWnd,
                                       Int32 msg,
                                       IntPtr wParam,
                                       IntPtr lParam);

public const Int32
    LVM_FIRST = 0x1000,
    LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;

public const Int32
    LVS_EX_THEME = 0x02000000;