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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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@ns3.123.co.nz
http://ns3.123.co.nz/mailman/listinfo/delphi

_______________________________________________
Delphi mailing list
Delphi@ns3.123.co.nz
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to