TCheckList

 

 

Die TCheckList Teilhierarchie

 

TCheckList stellt zusammen mit der Klasse TCheckListItem ein Listenfeld bereit, in dem die Auswahl von Elementen mit Markierungskästchen erfolgt. TCheckList ist von TListBox abgeleitet und nutzt die Möglichkeit einer besitzergezeichneten Liste mittels der geschützten Elementfunktionen ODADrawEntire, ODAFocus und ODASelect. TCheckList stellt keine öffentlichen Elementfunktionen bereit, da die eigentliche Steuerung über die Klasse TCheckListItem erfolgt, die jedes Element von TCheckList anzeigt und behandelt. Die geschützten Elementfunktionen von TCheckList sind nur von Interesse, wenn eine neue Klasse davon abgeleitet werden soll. Außer den drei bereits genannten Funktionen existieren noch die Funktionen EvChar, EvLButtonDown, GetItemAtIndex, PaintItem, SetupWindow und Update.

Übersicht    

Konstruktor zur direkten Erzeugung
Konstruktor zur Erzeugung aus einer Ressource
Beispielprogramm

Konstruktor zur direkten Erzeugung

CheckList(TWindow* parent, int id, int x, int y, int w, int h, TCheckListItem* items, int numItems, 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 Listenfeldes.
h Höhe des Listenfeldes.
items Zeiger auf ein TCheckListItem Objekt, welches die einzelnen Einträge enthält.
numItems Anzahl der Einträge
module Zeiger auf die Modul- oder Anwendungsinstanz. Die Voreinstellung ist 0.

 

Konstruktor zur Erzeugung aus einer Ressource

TCheckList(TWindow* parent, int resourceId, TCheckListItem* items, int numItems,TModule* module = 0);

Beispiel

 

// Beispielprogramm CHKLST
// Datei: chklst.h
 
 
#if !defined(__CHKLST_H)
#define __CHKLST_H
 
#include <owl\applicat.h>
#include <owl\framewin.h>
#include <owl\button.h>
#include <owl\checklst.h>
 
#define DI_CL_ITEMS 10
#define ID_CHECKLIST 100
#define ID_ENDBUTTON 101
 
class CChkLstApp : public TApplication
{

public:

CChkLstApp() : TApplication() {}

~CChkLstApp() {}

 

protected:

void InitMainWindow();

};
 
class CCheckListClient : public TWindow
{

TCheckList* checkList;

TCheckListItem* items;

 

public:

CCheckListClient(TWindow* parent=0, const char far* title=0, TModule* module=0);

 

protected:

void SetupWindow();

void EndButton();

 

DECLARE_RESPONSE_TABLE(CCheckListClient);

};
 
#endif // __CHKLST_H

 

// Beispielprogramm CHKLST
// Datei: chklst.cpp
 
#include "chklst.h"
 
DEFINE_RESPONSE_TABLE1(CCheckListClient, TWindow)

EV_COMMAND(ID_ENDBUTTON, EndButton),

END_RESPONSE_TABLE;
 
CCheckListClient::CCheckListClient(TWindow* parent, const char far* title, TModule* module) :
TWindow(parent, title, module)
{

items = new TCheckListItem[DI_CL_ITEMS];

checkList = new TCheckList(this, ID_CHECKLIST, 20, 20, 250, 150, items, DI_CL_ITEMS);

new TButton(this, ID_ENDBUTTON, "&Ende", 20, 200, 250, 30, true);

 

Attr.W = 290;

Attr.H = 250;

}
 
void CCheckListClient::SetupWindow()
{

TWindow::SetupWindow();

items[0].SetText("Bauartveränderung");

items[1].SetText("Hauptuntersuchung");

items[2].SetText("Abgasuntersuchung");

items[3].SetText("Prüfplakette");

items[4].SetText("erhebliche Mängel");

items[5].SetText("geringe Mängel");

items[6].SetText("ohne erkennbare Mängel");

items[7].SetText("Wiedervorführung");

items[8].SetText("Nachuntersuchung");

items[9].SetText("verkehrsunsicher");

}
 
void CCheckListClient::EndButton()
{

CloseWindow();

}
 
void CChkLstApp::InitMainWindow()
{

SetMainWindow(new TFrameWindow(0, "Beispiel CHECKLIST", new CCheckListClient, true));

GetMainWindow()->EnableKBHandler();

}
 
int OwlMain(int , char*[])
{

CChkLstApp app;

return app.Run();

}
 

 

Übersicht    

Stand: 16.12.98 19:39:57
© 1998 by Hans Joachim Kiefer, hajokiefer@handshake.de