(*//標(biāo)題:設(shè)置ListView的頁眉圖標(biāo)說明:可以用來做排序修飾圖標(biāo)設(shè)計(jì):Zswang支持:wjhu111@21cn.com日期:2004-03-25//*)
uses CommCtrl;
function ListViewHeaderImages(mListView: TListView; mImages: TImageList): Boolean;var  vHandle: THandle;begin  Result := False;  if not Assigned(mListView) then Exit;  vHandle := ListView_GetHeader(mListView.Handle);  if Assigned(mImages) then    Header_SetImageList(vHandle, mImages.Handle)  else Header_SetImageList(vHandle, 0);  Result := True;end; { ListViewHeaderImages }function ListColumnImageIndex(mColumn: TListColumn;  mImageIndex: Integer; mRight: Boolean = True): Boolean;var  vHandle: THandle;  vHDItem: THDItem;begin  Result := False;  if not Assigned(mColumn) then Exit;  vHandle := ListView_GetHeader(TListView(mColumn.Collection.Owner).Handle);  FillChar(vHDItem, SizeOf(vHDItem), 0);  Header_GetItem(vHandle, mColumn.Index, vHDItem);  if mImageIndex < 0 then begin    vHDItem.Mask := HDI_FORMAT;    vHDItem.fmt := HDF_STRING;  end else begin    vHDItem.Mask := HDI_IMAGE or HDI_FORMAT;    vHDItem.iImage := mImageIndex;    vHDItem.fmt := HDF_STRING or HDF_IMAGE or      (HDF_BITMAP_ON_RIGHT * Ord(mRight));  end;  Header_SetItem(vHandle, mColumn.Index, vHDItem);end; { ListColumnImageIndex }//ExamplePRocedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);{$J+}const vIndex: Integer = 0;{$J-}var I: Integer;begin for I := 0 to TListView(Sender).Columns.Count - 1 do ListColumnImageIndex(TListView(Sender).Columns[I], -1); if Abs(vIndex) = Column.Index + 1 then vIndex := -vIndex else vIndex := Column.Index + 1; ListColumnImageIndex(Column, Ord(vIndex > 0));end;
procedure TForm1.FormCreate(Sender: TObject);begin ListViewHeaderImages(ListView1, ImageList1);end;
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注