TColumnHeader

Diese Klasse stellt zusammen mit THdrItem ein Fenster mit horizontalen Spaltenüberschriften bereit. Die Spaltenüberschriften werden von THdrItem repräsentiert. TColumnHeader ist hauptsächlich zum Einsatz in einem TListWindow gedacht, kann aber dank der Klasse TColumnHeader auch separat verwendet werden. Die Klasse TListWindow stellt ebenfalls eine Unterstützung für Spaltenüberschriften zur Verfügung, kann aber nur unter Win32 verwendet werden.

TColumnHeader ist normalerweise nur unter verfügbar. Für wird dieses Dialogelement allerdings von ObjectWindows emuliert. Sie können unter Win16 also nur über die von der OWL bereitgestellten Schnittstellen darauf zugreifen!

Die Spaltenüberschriften bieten folgende Optionen an:

 

TColumnHeader Teilhierarchie

 

Konstruktor zur direkten Erzeugung

TColumnHeader(TWindow* parent, int id, int x, int y, int w, int h, TModule* module = 0);

Parameter Bedeutung
parent Übergeordnetes Fenster.
id Eindeutige Steuerelement ID
x,y Position der oberen linken Ecke relativ zum Ursprung des Clientbereichs.
w Breite des Kontrollelements.
h Höhe des Kontrollelements.
module Zeiger auf die Modul- oder Anwendungsinstanz. Der Vorgabewert ist 0.

Mit der Elementfunktion SetStyle können auch folgende Stile für TColumnHeader verwendet werden:

Stilkonstante Bedeutung
HDS_BUTTONS Die Einträge der Spaltenüberschrift verhalten sich wie Schalter.
HDS_HIDDEN Weist darauf hin, daß ein Eintrag zum Verbergen bestimmt ist. Dieser Stil verbirgt das Element aber nicht, sondern bewirkt bei einer HDM_LAYOUT Botschaft die Rückgabe von 0 im Datenelement cy einer WINDOWPOS Struktur. Sie sollten das Element dann durch Setzen der Höhe 0 verbergen.
HDS_HORZ Die Spaltenüberschrift ist horizontal.

 

Konstruktor zur Erzeugung aus einer Ressource

TColumnHeader(TWindow* parent, int resourceId, TModule* module = 0);

Wichtige Elementfunktionen

int Add(const THdrItem& item);
Fügt über einen Aufruf von Insert(item,GetCount()) der Überschriftenzeile einen neuen Eintrag hinzu. item enthält eine Referenz auf den Eintrag vom Typ THdrItem. Der Rückgabewert entspricht der Funktion Insert.

bool Delete(int index);
Mit dieser Funktion wird ein Eintrag aus der Überschriftenzeile entfernt. index bezeichnet den Index des Eintrags in der Überschriftenzeile. Das Funktionsergebnis gibt an, ob der Eintrag entfernt wurde (true) oder nicht (false).

int GetCount() const;
Liefert die Anzahl der Einträge, die in der Überschriftenzeile enthalten sind. Im Fall eines Fehlers, wird -1 zurückgeliefert.

bool GetItem(THdrItem& iteminfo, int index,uint mask = 0);
Mit dieser Funktion lassen sich Informationen über einen bestimmten Eintrag ermitteln. index bezeichnet den Index des betreffenden Eintrags und itemInfo eine Referenz des Typs THdrItem, in der die Informationen eigetragen werden. mask kann eine oder eine Kombination von HDI_XXXX Konstanten enthalten, um festlegen zu können, welche Informationen kopiert werden sollen. HDI_WIDTH und HDI_HEIGHT bestimmen das gleiche Element in der Windows-Struktur HD_ITEM. Der Rückgabewert gibt an, ob die Operation erfolgreich war oder nicht.

int Insert(const THdrItem& item, int index);
Fügt den Eintrag item an der in index festgelegten Position ein. Der Rückgabewert gibt an, ob die Operation erfolgreich war (true) oder nicht (false).

bool SetItem(const THdrItem& itemInfo, int index);
Aktualisierung der durch itemInfo spezifizierten Attribute des Eintrags an Position index. Der Rückgabewert gibt an, ob die Operation erfolgreich war (true) oder nicht (false).

 

Benachrichtigungsbotschafts-Makros

EV_HDN_BEGINTRACK(id, Function)
Der Benutzer beginnt mit dem Ziehen einer Teilung. Der Funktionsprototyp für dieses Botschaftsmakro ist
bool Function(THdrNotify far&);

EV_HDN_ DIVIDERDBLCLICK(id, Function)
Der Benutzer hat einen Doppelklick auf eine Teilung ausgeführt. Der Funktionsprototyp für dieses Botschaftsmakro ist
void Function(THdrNotify far&);

EV_HDN_ENDTRACK(id, Function)
Der Benutzer beendet einen Ziehvorgang. Der Funktionsprototyp für dieses Botschaftsmakro ist
void Function(THdrNotify far&);

EV_HDN_ITEMCHANGED (id, Function)
Merkmal eines Überschriftenteils hat sich geändert. Der Funktionsprototyp für dieses Botschaftsmakro ist
void Function(THdrNotify far&);

EV_HDN_ITEMCHANGING (id, Function)
Merkmal eines Überschriftenteils ist sich gerade am verändern. Der Funktionsprototyp für dieses Botschaftsmakro ist
bool Function(THdrNotify far&);

EV_HDN_ITEMCLICK (id, Function)
Der Anwender hat auf einen Überschriftenteil geklickt. Der Funktionsprototyp für dieses Botschaftsmakro ist
void Function(THdrNotify far&);

EV_HDN_TRACK (id, Function)
Der Anwender hat eine Teilung gezogen. Der Funktionsprototyp für dieses Botschaftsmakro ist
bool Function(THdrNotify far&);

Übersicht    

Stand: 22.07.99 15:34:15
© 1998,1999 by Hans Joachim Kiefer, hajokiefer@handshake.de