[DUG] Drawing images in TListView sub items
Robert martin
rob at wildsoft.co.nz
Fri Sep 8 13:35:46 NZST 2006
Hi
I have further information, apparently the definition should be in
ComCtrls.pas. If someone could cut and paste it for me I would really
appreciate it :)
Rob Martin
Software Engineer
phone +64 03 377 0495
fax +64 03 377 0496
web www.chreos.com
Wild Software Ltd
Robert martin wrote:
> Hi
>
> I new most of that stuff, I am actually looking at the delphi
> definition of it..
>
> I have
>
> function ListView_GetSubItemRect(hwndLV : HWND; iItem : Integer;
> iSubItem : Integer; Code : Integer; lpRect : Pointer): Bool; stdcall;
>
> But it goes bang when I start my app. I always struggle with these
> things :-(
>
>
> Rob Martin
> Software Engineer
>
> phone +64 03 377 0495
> fax +64 03 377 0496
> web www.chreos.com
>
> Wild Software Ltd
>
>
>
> John Bird wrote:
>> If this is what you mean here is the excerpt from the D2006 help...
>>
>> ListView_GetSubItemRect Macro
>>
>> ----------------------------------------------------------------------------
>>
>> ----
>>
>> Retrieves information about the rectangle that surrounds a subitem in a
>> list-view control. You can use this macro (recommended) or send the
>> LVM_GETSUBITEMRECT message explicitly. This macro is intended to be used
>> only on list-view controls that use the LVS_REPORT style.
>> Syntax
>>
>> BOOL ListView_GetSubItemRect(
>> HWND hwndLV,
>> int iItem,
>> int iSubItem,
>> int code,
>> LPRECT lpRect
>> );
>>
>> Parameters
>>
>> hwndLV
>> Handle to a list-view control. iItem
>> Index of the subitem's parent item. iSubItem
>> The one-based index of the subitem. code
>> Portion of the list-view subitem for which to retrieve the bounding
>> rectangle information. This value can be one of the following:
>> LVIR_BOUNDS
>> Returns the bounding rectangle of the entire item, including the icon
>> and
>> label.
>> LVIR_ICON
>> Returns the bounding rectangle of the icon or small icon.
>> LVIR_LABEL
>> Returns the bounding rectangle of the entire item, including the icon
>> and
>> label. This is identical to LVIR_BOUNDS.
>> lpRect
>> Pointer to a RECT structure that receives the subitem bounding rectangle
>> information. Return Value
>>
>> Returns nonzero if successful, or zero otherwise.
>>
>> Macro Information
>>
>> Minimum DLL Version comctl32.dll version 4.70 or later Header
>> commctrl.h Minimum operating systems Windows 2000, Windows NT 4.0
>> with Internet
>> Explorer 3.0, Windows 98, Windows 95 with Internet Explorer 3.0
>>
>> John
>>
>> -----Original Message-----
>> From: delphi-bounces at ns3.123.co.nz
>> [mailto:delphi-bounces at ns3.123.co.nz] On
>> Behalf Of Robert martin
>> Sent: Friday, 8 September 2006 12:17 p.m.
>> To: NZ Borland Developers Group - Delphi List
>> Subject: [DUG] Drawing images in TListView sub items
>>
>>
>> Hi
>>
>> I am trying to draw images into a TListView (vsReport) on the
>> ownerDrawSubItem event. However I need to get the TRect of the sub
>> item to draw into. I have found people use
>>
>> *ListView_GetSubItemRect*(
>>
>> However this Win API ? Is not defined in Delphi 6. Could someone
>> with a newer Delphi version cut and paste the definition for me (I
>> want to get it right).
>> Is this the right way of doing it?
>>
>> I am wanting to do something like...
>>
>>
>> procedure TMainForm.ResultListViewCustomDrawSubItem(
>> Sender: TCustomListView; Item: TListItem; SubItem: Integer;
>> State: TCustomDrawState; var DefaultDraw: Boolean);
>> var
>> SubItemRect : TRect;
>> begin
>> if (Item.SubItems[SubItem] = 'T') then begin
>> ListView_GetSubItemRect(Sender.Handle, Item.Index, SubItem,
>> 0, @SubItemRect);
>>
>> ResultListView.Canvas.StretchDraw(SubItemRect,
>> TickImage.Picture.Graphic);
>> end
>> else if (Item.SubItems[SubItem] = 'F') then begin
>> //Stubbed
>> end
>> else if (Item.SubItems[SubItem] = 'O') then begin
>> //Stubbed
>> end;
>>
>>
>>
>>
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
More information about the Delphi
mailing list