GetWindowRect and TListView problems

"Rob"
Date: 11/30/03


Date: 30 Nov 2003 01:46:22 -0700


hello again,

i asked my questions several times without getting any reply! hope
to see your opinions about these questions this time.

1. when i want to get the height of the header of a TListView
   component, the following codes are used:
   (original code is posted by Peter Below)
   
var
  FListViewHeaderHeight: Integer;
  HeaderHWND: HWND;
  r: TRect;
begin
  HeaderHWND := GetWindow(ListView1.Handle, GW_CHILD);
  GetWindowRect(HeaderHWND, r);
  FListViewHeaderHeight := r.Bottom - r.Top;
end;

   when i've tested the above code on XP, it returns a valid value
   (r.Top: 201, r.Bottom: 218, FListViewHeaderHeight: 17)
   but when the following code is executed on Win98, it returns
   invalid values!
   (r.Top: 194, r.Bottom: 194, FListViewHeaderHeight: 0)

2. the ListView component has a good appearance on XP (without
   manifest), but when it is run on Win98, the grid lines and the
   highlighted color won't match together.

please note that i'm using D7 and i have access to WinXP and Win98
and also don't forget that i'm talking about an application without
XP-style, so the problem is not caused by XP-style components.

thanks,
Rob