Scalabium Software

SMReport Autogenerated
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
 
ExcelFile Viewer
Paradox to Text converter
Database Information Manager
Paradox Viewer
ABA Spreadsheet Convert
Excel Reader (dll)
Word Web-stream
SMExport suite
dBase Viewer
Paradox to MS Access converter
 
 


Contact to webmaster

 

Borland Software Code Gear Scalabium Delphi tips

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

SMExport advertising