我正在尝试在Windows Mobile 6.1上创建所有者绘制列表框我在创建列表框控件时指定了LBS_OWNERDRAWFIXED
样式。我正在相应地处理WM_MEASUREITEM
和WM_DRAWITEM
。
我希望在字体更改时更改列表框项的高度(我在创建控件后使用WM_SETFONT
更改它)。问题是WM_MEASUREITEM
消息只发送一次。我需要一种方法再次生成WM_MEASUREITEM
消息,以便我可以将项目的高度设置为字体的高度。我已经看过文章http://www.codeguru.com/Cpp/controls/listview/advanced/article.php/c1013/,但它使用MFC,而我正在使用WINAPI直接开发此控件。有些文章提到调整控件的大小会再次生成WM_MEASUREITEM
消息。但是,我的情况并没有产生。
请告诉我有没有办法在Windows Mobile中实现这一目标。
答案 0 :(得分:0)
该代码中没有特别的MFC。简单地说,OnSetFont处理WM_SETFONT。 MeasureItem在MyListCtrl中处理发送给其父级的WM_MEASUREITEM。
至于在调整窗口大小时生成新的WM_MEASUREITEM,在处理WM_SIZE / WM_SIZING时,你不能只执行SendMessage吗?