我正在使用.NET Compact Framework 3.5在C#中开发Windows Mobile应用程序。我的WM目标版本是6.5.x.我的印象是微软已经更新了这个版本的操作系统中的库存控件,以便更友好(更大的字体,列表框中行之间的空间更大等)但是当我创建一个ListBox控件时,它看起来和之前版本的操作系统(手写笔友好)相同。
我是否需要更新控件的样式才能利用这些新的手指友好的库存控件?但是,我似乎无法找到任何相关的文档。或者我误解了它;也许WM 6.5.x中没有新的控件?
答案 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;