如何在Windows Mobile中动态更改所有者绘制列表框的高度?

时间:2010-02-10 13:11:17

标签: c++ winapi listbox windows-mobile ownerdrawn

我正在尝试在Windows Mobile 6.1上创建所有者绘制列表框我在创建列表框控件时指定了LBS_OWNERDRAWFIXED样式。我正在相应地处理WM_MEASUREITEMWM_DRAWITEM

我希望在字体更改时更改列表框项的高度(我在创建控件后使用WM_SETFONT更改它)。问题是WM_MEASUREITEM消息只发送一次。我需要一种方法再次生成WM_MEASUREITEM消息,以便我可以将项目的高度设置为字体的高度。我已经看过文章http://www.codeguru.com/Cpp/controls/listview/advanced/article.php/c1013/,但它使用MFC,而我正在使用WINAPI直接开发此控件。有些文章提到调整控件的大小会再次生成WM_MEASUREITEM消息。但是,我的情况并没有产生。

请告诉我有没有办法在Windows Mobile中实现这一目标。

1 个答案:

答案 0 :(得分:0)

该代码中没有特别的MFC。简单地说,OnSetFont处理WM_SETFONT。 MeasureItem在MyListCtrl中处理发送给其父级的WM_MEASUREITEM。

至于在调整窗口大小时生成新的WM_MEASUREITEM,在处理WM_SIZE / WM_SIZING时,你不能只执行SendMessage吗?