Scalabium Software

SMExport advertising
Knowledge for your independence'.
Home Delphi and C++Builder tips


#159: Flat header for TListView

In this tip I want to show how to change a style for header in TListView. For example, you may specify a flat header.

You may do it so:

  1. to get the header handle for the listview
  2. to read the current style attributes for the header
  3. to modify a style
  4. to apply the new style
  5. to invalidate the listview

In the next code I show how to apply a flat style:

const
  LVM_GETHEADER = LVM_FIRST + 31;
var
  hHeader: THandle;
  style: dWord;
begin
  {to get the header handle for the listview}
  hHeader := SendMessage(ListView1.Handle, LVM_GETHEADER, 0, 0);

  {to get the current style attributes for the header}
  style := GetWindowLong(hHeader, GWL_STYLE);

  {to toggle the HDS_BUTTONS style}
  style := style xor HDS_BUTTONS;

  {to apply the new style}
  SetWindowLong(hHeader, GWL_STYLE, style);

  {to invalidate the listview}
  SetWindowPos(ListView1.Handle, Form1.Handle, 0, 0, 0, 0,
               SWP_NOZORDER or SWP_NOSIZE or SWP_NOMOVE or SWP_DRAWFRAME)
end;

Note if you run a code in Windows XP with enabled XP theming, you'll not see any difference. But in all other cases you'll see a flat header for ListView


Published: December 2, 2003

See also
 
ABA Database Convert
ExcelFile Viewer
Excel Web-stream
SMReport
Clarion to Text converter
Paradox Password Recovery
DBExport tools
SMMsg suite
Clarion Viewer
Viewer for MS Outlook Messages
 
 


Contact to webmaster

 

Borland Software Code Gear Scalabium Delphi tips

Copyright© 1998-2025, Scalabium Software. All rights reserved.
webmaster@scalabium.com

SMReport Autogenerated