![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Картинки в ListView. не только в первой колонке
GMax © (2006-06-02 22:58:00)в режиме lvDetail по идее есть возможность указывать картинки не только для первого столбца, но и для последующих (lvoSubItemImages)
а почему, собственно она только задекларирована, но не реализована ?
--------------------------
procedure TControl.LVSetItem(Idx, Col: Integer; const aText: String;
ImgIdx: Integer; State: TListViewItemState; StateImgIdx,
OverlayImgIdx: Integer; Data: DWORD);
var LVI: TLVItem;
I: Integer;
begin
LVI.mask := LVIF_TEXT or {LVIF_STATE or} LVIF_DI_SETITEM;
if Col = 0 then
begin
LVI.mask := LVIF_TEXT or LVIF_STATE or LVIF_PARAM
or LVIF_DI_SETITEM;
if ImgIdx <> I_SKIP then
LVI.mask := LVI.mask or LVIF_IMAGE;
end;
[...]
---------------------------
если две последние значимые строки (if ImgIdx <> I_SKIP ...) вынести из "if Col = 0" оно заработает. я понимаю, что это функционирует только с comctrl32.dll 4.70+, но ведь это только моя проблема, а не библиотеки ?
может вынесем официально ?
ECM (2006-06-03 11:14:00) [1]ИМХО можно if Col = 0 вынести в условную компиляцию
MSDN:
In version 4.70 and later, you can set the iImage member for subitems. The subitem image will be displayed if the list-view control has the LVS_EX_SUBITEMIMAGES extended style.
темболее, что:
Previous versions will ignore the subitem image.
Так что установленные картинки для Subitems просто небудут отображаться
на Win95(NT4) c IE<3.0