Die StarView-Hilfe

Die StarView-Hilfe enthält die Beschreibung sämtlicher Klassen -mit ihren Methoden-, die Sie für die Programmierung mit StarView benötigen. Jede dieser Klassen ist über den Index zu errreichen. Dort sind die Klassen, getrennt nach StarView- und Tools-Klassen, alphabetisch aufgeführt.

Hilfe zu einer Klasse:

Klicken Sie im Index den Namen der Klasse an, zu der Sie Hilfe bekommen möchten.

Oder:

Wählen Sie über die Eingabe des Klassennamens bei der Schlüsselwortsuche (Button Suchen) die gewünschte Klasse und betätigen den Button Gehe zu.

Damit lösen Sie die Anzeige der Titelseite der gewünschten Klasse aus. Diese zeigt das vollständige Klassen-Listing sowie eine Kurzbeschreibung der Funktionalität dieser Klasse (z.B. Accelerator).

Hilfe zu einer bestimmten Methode dieser Klasse:

Möchten Sie Hilfe zu einer bestimmten Methode dieser Klasse, so haben Sie zwei Möglichkeiten:

-	Sie klicken die gewünschte Methode direkt im Klassen-Listing an.

-	Sie blättern mit Hilfe der Browse-Buttons bis zur gewünschten Methode. Die Reihenfolge beim Blättern entspricht der Reihenfolge im Klassen-Listing.

Hilfe zu einer beliebigen Methode:

Wissen Sie die Klasse, zu der die gesuchte Methode gehört, so können Sie den oben beschriebenen Weg über die Auswahl der Klasse im Index gehen. Ist Ihnen die Klasse nicht genau klar, so haben Sie die Möglichkeit, jede beliebige Methode über die Schlüsselwortsuche aufzufinden.

Schlüsselwortsuche:

Über die Schlüsselwortsuche erreichen Sie jede beliebige Klasse und Methode sowie alle Aufzählunstypen (enums) und Konstanten (z.B. die WinBits, die Maustasten, die Basistastencodes usw.):

1.	Öffnen Sie über den Button zur Schlüsselwortsuche die Dialogbox.

2.	Geben Sie im Eingabefeld den ungefähren Namen des Themas ein. In der ListBox darunter erscheint daraufhin ein kompletter passender Methodenname (ohne Klassenbezeichnung!), Name eines Handlers, Klassenname, Name eines enums oder die Bezeichnung einer Gruppe von Konstanten als oberster Eintrag.

3.	Wählen Sie diesen oder einen besser passenden Begriff in dieser ListBox aus und klicken den Button Suchenan.

4.	Nun erscheint in der zweiten ListBox im unteren Teil der Dialogbox eine Liste aller in der StarView-Hilfe enthaltenen Hilfeseiten zu diesem Begriff. Wählen Sie die gewünschte aus und springen Sie über den Button Gehe zu zur entsprechenden Hilfeseite.

Querverweise:

Es gibt in der StarView-Hilfe unterschiedliche Querverweise, erkennbar an der Unterstreichung und bei Farbmonitoren der Grünfärbung, die Ihnen das Springen zu anderen Seiten der Hilfe ermöglichen:

-	Der Index besteht praktisch nur aus Querverweisen zu den Titelseiten der einzelnen Klassen.

-	Jede Titelseite einer Klasse (z.B. Accelerator) enthält im Klassen-Listing die Querverweise zu ihren verschiedenen Methoden.

-	Die Titelseite einer Klasse enthält außerdem unter der Überschrift Basisklassen Querverweise zu ihren Basisklassen.

-	Jede Seite einer Klasse, mit Ausnahme natürlich der Titelseite, enthält am Ende unter der Überschrift Querverweise einen Querverweis, über den Sie wieder die Titelseite der Klasse erreichen können.

-	Darüberhinaus enthalten die meisten Seiten unter der Überschrift Querverweise Querverweise zu verwandten Klassen und Methoden und verwendeten Konstanten.

Zum Öffnen der gewünschten Seite der StarView-Hilfe klicken Sie einfach den als Querverweis kenntlich gemachten Begriff an.

Noch zwei Tips:

-	Die Lesbarkeit vor allem der Klassen-Listings, Parameterbeschreibungen und der Beschreibung der Rückgabewerte erhöht sich, wenn Sie das Hilfefenster vergrößern.

-	Wenn Sie mit dem Lesen der benötigten Hilfen fertig sind, minimieren Sie das Hilfefenster, anstatt es sofort zu schließen - Sie können die StarView-Hilfe bei der nächsten Gelegenheit dann leichter wieder öffnen.


Index
StarView Hilfe Index

Online Hilfe StarView 2.0

StarView - Referenz

Accelerator

ApplicationEvent

Application

AutoScrollbar

AutoTimer

Bitmap

Brush

Button

CancelButton

CheckBox

Clipboard

ColorDialog

Color

ComboBox

Config

Control

CurrencyBox

CurrencyField

CurrencyFormatter

Cursor

DateBox

DateField

DateFormatter

Dialog

DragServer

DropEvent

Edit

ErrorBox

Exchange

FileDialog

FixedBitmap

FixedIcon

FixedText

FontDialog

Font

FontMetric

GDIMetaFile

GroupBox

HelpButton

HelpEvent

Help

Icon

InfoBox

KeyCode

KeyEvent

ListBox

MapMode

MDIApplication

MDIWindow

MenuBar

MenuButton

Menu

MessBox

MetricBox

MetricField

MetricFormatter

ModalDialog

ModelessDialog

MoreButton

MouseEvent

MultiLineEdit

MultiListBox

NumericBox

NumericField

NumericFormatter

OKButton

OutputDevice

Palette

PatternBox

PatternField

PatternFormatter

Pen

Point

Pointer

Polygon

PolyPolygon

PopupMenu

Preview

PrintDialog

Printer

PrinterSetupDialog

PushButton

QueryBox

RadioButton

ResId

ResMgr

Resource

ScrollBar

Sound

SpinButton

SpinField

SplitBar

Splitter

StatusBar

SymbolButton

SystemDialog

System

SystemWindow

TimeBox

TimeField

TimeFormatter

Timer

ToolBox

TriStateBox

VirtualDevice

WarningBox

Window

WorkWindow

II. Tools - Referenz

Container

Date

DateTime

DirEntry

Dir

DynArray

FileStat

Fraction

International

Link

List

MetaAction

MetaFile

Pair

Queue

Range

Rectangle

Region

Selection

Size

Stack

String

Table

Time

UniqueIndex

Sysdepen for Windows

Sysdepen for Macintosh

Sysdepen for UNIX

StarObject - Klassen

MemoryBlock

StarObjectServer

StarObject


Accelerator

class Accelerator : public Resource

{

protected:

virtual void	Activate();

virtual void	Deactivate();

virtual void	Select();

public:

Accelerator();

Accelerator( Accelerator& rAccel );

Accelerator( const ResId& rResId );

virtual	~Accelerator();

BOOL	InsertItem( USHORT nItemId, const KeyCode& rKeyCode );

BOOL	InsertItem( const ResId& rResId );

void	RemoveItem( USHORT nItemId );

void	Clear();

USHORT	GetItemCount() const;

USHORT	GetItemId( USHORT nPos ) const;

USHORT	GetItemId( const KeyCode& rKeyCode ) const;

USHORT	GetCurItemId() const;

KeyCode	GetCurKeyCode() const;

USHORT	GetCurRepeat() const;

BOOL	IsCancel() const;

Accelerator*	ChangeAccel(USHORTnItemId, Accelerator* pAccel);

Accelerator*	GetAccel( USHORT nItemId ) const;

void	EnableItem( USHORT nItemId, BOOL bEnable = TRUE);

BOOL	IsItemEnabled( USHORT nItemId ) const;

KeyCode	ChangeKeyCode( USHORT nItemId, const KeyCode& rKeyCode);

KeyCode	GetKeyCode( USHORT nItemId ) const;

void	SetHelpText( const String& rHelpString);

String	GetHelpText() const;

void	PushActivateHdl( const Link& rLink );

Link	PopActivateHdl();

void	PushDeactivateHdl( const Link& rLink );

Link	PopDeactivateHdl();

void	PushSelectHdl( const Link& rLink );

Link	PopSelectHdl();

Accelerator&	operator =( const Accelerator& rAccel );

};

Beschreibung

Acceleratoren sind eine besondere Form von Keyboard-Input. In einem Accelerator werden bestimmten Tasten oder Tastenkombinationen IDs zugeordnet. Die Tastendefinitionen der Acceleratoren können sowohl zur Laufzeit erzeugt als auch aus der Resource geladen werden. Drückt der Benutzer die entsprechenden Tasten, so wird der Select-Handler des Accelerators aufgerufen. Die Tastatureingabe wird anschließend nicht mehr an die Applikation weitergegeben. Im Select-Handler kann mit der Methode GetCurItemId() die aktuelle ID abgefragt und die gewünschte Aktion ausgelöst werden.

Durch das Anhängen eines weiteren Accelerators an einen bestimmten Eintrag ist es möglich, eine Accelerator-Sequenz zu definieren. Ist an einen Eintrag ein weiterer Accelerator angehängt, so wird nicht der Select-, sondern der Activate-Handler des angehängten Accelerators gerufen. Dadurch ist es möglich, einen Accelerator-Status anzuzeigen. Das Aufbauen von Accelerator-Sequenzen ist vergleichbar mit der hierarchischen Struktur von Menus.

Ein Accelerator wird mit der Methode Application::InsertAccel() aktiv geschaltet. Mit der Methode Application::RemoveAccel() wird der Accelerator deaktiviert.

Die Handler werden in folgender Reihenfolge gerufen:

Activate()	Der Handler wird gerufen, wenn eine Taste gedrückt wurde, die einem Eintrag mit einem angehängten Accelerator zugeordnet ist. Es wird dabei der Activate-Handler des angehängten Accelerators sowie des Handlers, der die Sequenz gestartet hat, gerufen.

Deactivate()	Der Handler wird gerufen, wenn innerhalb einer Sequenz eine Taste gedrückt wurde, die keinem Eintrag zugeordnet ist (Abbruch der Sequenz), oder nach einem Aufruf des Select-Handlers.

Select()	Der Handler wird gerufen, wenn eine Taste gedrückt wurde, die einem Eintrag im Accelerator zugeordnet ist.

Basisklassen

Resource : LinkHdl

Beispiel:

Im folgenden Beispiel werden die beiden Acceleratoren aAccel und aCtrlKAccel definiert. Der erste Accelerator enthält eine Definition für eine spezielle Hilfe-Taste sowie eine Definition für das erste Zeichen der WordStar-Blockbefehle (diese beginnen immer mit Ctrl-K). Der zweite Accelerator enthält die Definitionen für die eigentlichen Blockbefehle. Im ersten Accelerator wird hinter der Definition mit der ID ACC_CTRLK der zweite Accelerator aufgehängt. Die Accelerator-Sequenz wird mit der Methode Application::InsertAccel() in die Applikation selektiert.

Der Accelerator aAccel bekommt einen Select-Handler, der aufgerufen wird, wenn der Benutzer die F10-Taste betätigt. Der Accelerator aCtrlKAccel bekommt einen Activate- und einen Select-Handler, da der Accelerator am ACC_CTRLK angehängt ist. Der Activate-Handler wird gerufen, wenn der Benutzer die Taste Ctrl-K (Definition in aAccel) betätigt. Da Ctrl-K nur die erste Taste in einem WordStar-Blockbefehl ist, kann im Activate-Handler ein Hilfetext (hier z.B. "Blockbefehl") ausgegeben werden. Im Select-Handler wird die entsprechende Aktion ausgelöst.

#define ACC_MYHELP      100

#define ACC_CTRLK       200

#define ACC_BEGINBLOCK  201

#define ACC_ENDBLOCK    202

#define ACC_CLEARBLOCK  203

void MyApp::Main( int argc, char* argv[] )

{

...

Accelerator aAccel;

Accelerator aCtrlKAccel;

aAccel.InsertItem( ACC_MYHELP, KeyCode( KEY_F10 ));

aAccel.InsertItem( ACC_CTRLK, KeyCode( KEY_K, KEY_MOD1 ) );

aCtrlKAccel.SetHelpText( "Blockbefehle" );

aCtrlKAccel.InsertItem( ACC_BEGINBLOCK, KeyCode( KEY_B ) );

aCtrlKAccel.InsertItem( ACC_ENDBLOCK, KeyCode( KEY_K ) );

aCtrlKAccel.InsertItem( ACC_CLEARBLOCK, KeyCode( KEY_Y ) );

aAccel.ChangeAccel( ACC_CTRLK, &aCtrlKAccel );

aAccel.PushSelectHdl( LINK( this, MyApp, Select ) );

aAccel.PushActivateHdl( LINK( this, MyApp, Info ) );

InsertAccel( &aAccel );

...

Execute();

}

long MyApp::Select( Accelerator* pAccel )

{

switch ( pAccel->GetCurItemId() )

{

case ACC_MYHELP:

...

break;

case ACC_BEGINBLOCK:

...

break;

case ACC_ENDBLOCK:

...

break;

case ACC_CLEARBLOCK:

...

break;

default:

return FALSE;

}

return TRUE;

}

long MyApp::Info( Accelerator* pAccel )

{

String aHelpText = pAccel->GetHelpText();

...

return TRUE;

}

Querverweise

Application

_______________


Accelerator::Activate()

virtual void Accelerator::Activate();

Beschreibung

Dieser Handler wird gerufen, wenn der Benutzer eine Taste im Parent-Accelerator gedrückt hat, hinter dem ein Accelerator angehängt ist. Der Handler wird sowohl für den Parent-Accelerator als auch für den angehängten Accelerator gerufen.

Die Kette der Activate-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, werden die Handlerketten der Acceleratoren abgearbeitet, die in der aktuellen Sequenz aktiv sind.

Querverweise

Accelerator::PushActivateHdl()

_______________


Accelerator::Deactivate()

virtual void Accelerator::Deactivate();

Beschreibung

Dieser Handler wird nur nach vorherigem Aufruf der Methode Activate() gerufen. Eine Accelerator-Sequenz kann durch Auswahl einer gültigen Accelerator-ID oder durch Betätigen einer undefinierten Taste beendet werden.

Die Kette der Deactivate-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, werden die Handlerketten der Acceleratoren abgearbeitet, die in der aktuellen Sequenz aktiv sind.

Querverweise

Accelerator::PushDeactivateHdl(), Accelerator::Activate()

_______________


Accelerator::Select()

virtual void Accelerator::Select();

Beschreibung

Dieser Handler wird aufgerufen, wenn der Benutzer eine Taste bzw. eine Tastenkombination gedrückt hat, für die eine ID im Accelerator definiert ist. Im Handler kann durch Aufruf der Methode GetCurItemId() die ID der Accelerator-Taste erfragt werden. Verweist die Accelerator-Taste auf einen weiteren Accelerator, so wird nicht der Select-Handler gerufen, sondern der Activate-Handler des Folge-Accelerators sowie des Accelerators, der die Sequenz gestartet hat.

Die Kette der Select-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, werden die Handlerketten der Acceleratoren abgearbeitet, die in der letzten Sequenz aktiv waren.

Querverweise

Accelerator::PushSelectHdl(), Accelerator::GetCurItemId(), Accelerator::Activate()

_______________


Accelerator::Accelerator()

Accelerator::Accelerator();

Beschreibung

Konstruktor der Klasse Accelerator. Damit der Accelerator aktiv sein kann, muß zunächst ein Select-Handler gesetzt und der Accelerator mit der Methode Application::InsertAccel() in die Applikation selektiert werden.

_______________


Accelerator::Accelerator( const Accelerator&)
Accelerator::Accelerator()

Accelerator::Accelerator( const Accelerator& rAccel );

Beschreibung

Copy-Konstruktor der Klasse Accelerator. Folge-Acceleratoren werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Acceleratoren umgehängt worden sind.

Parameter

const Accelerator& rAccel	Referenz auf einen Accelerator.

_______________


Accelerator::Accelerator(const ResId&)
Accelerator::Accelerator()

Accelerator::Accelerator( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Accelerator. Damit der Accelerator aktiv sein kann, muß zunächst ein Select-Handler gesetzt und der Accelerator mit der Methode Application::InsertAccel() in die Applikation selektiert werden.

In der Resource als Folge-Acceleratoren angehängte Acceleratoren werden automatisch mit erzeugt und bei RemoveItem() oder im Destruktor wieder automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Acceleratoren umgehängt worden sind.

Parameter

const ResId& rResId	Die Resource-ID des Accelerators.

Querverweise

Resource

_______________


Accelerator::~Accelerator()

virtual Accelerator::~Accelerator();

Beschreibung

Destruktor der Klasse Accelerator.

_______________


Accelerator::InsertItem()

BOOL Accelerator::InsertItem(USHORT nItemId,const KeyCode&rKeyCode);

Beschreibung

Mit dieser Methode wird eine Accelerator-Taste mit einer ID verbunden und in den Accelerator eingetragen. Die in nItemId übergebene ID wird für die künftige Identifikation der Accelerator-Taste verwendet. Es liegt in der Verantwortung der Applikation, Konflikte durch doppelt vergebene IDs zu vermeiden. Die Accelerator-IDs müssen innerhalb einer Instanz des Accelerators eindeutig sein. Im anderen Fall wird FALSE zurückgegeben.

Parameter

USHORT nItemId	Die ID der Accelerator-Taste für die Identifikation des Eintrags.

const KeyCode& rKeyCode	Der KeyCode der Taste, die als Accelerator-Taste arbeiten soll.

Rückgabewert

BOOL	TRUE

Die Accelerator-Taste wurde eingefügt.

FALSE

Die Item-ID ist bereits vorhanden, es wurde nichts eingefügt.

Querverweise

KeyCode

_______________


Accelerator::InsertItem(const ResId&)
Accelerator::InsertItem()

BOOL Accelerator::InsertItem( const ResId& rResId );

Beschreibung

Mit dieser Methode wird eine Accelerator-Taste in den Accelerator eingetragen. Die Accelerator-Taste wird aus der Resource geladen. Die Accelerator-IDs müssen innerhalb einer Instanz des Accelerators eindeutig sein.

In der Resource als Folge-Acceleratoren angehängte Acceleratoren werden automatisch mit erzeugt und bei RemoveItem oder im Destruktor wieder automatisch zerstört. Es ist darauf zu achten, das das automatische Zerstören auch durchgeführt wird, wenn die automatisch erzeugten Acceleratoren umgehängt wurden sind.

Parameter

const ResId& rResId	Die Resource-ID für einen Accelerator-Taste.

Rückgabewert

BOOL	TRUE

Die Accelerator-Taste wurde eingefügt.

FALSE

Die Item-ID ist bereits vorhanden, es wurde nichts eingefügt.

Querverweise

Resource

_______________


Accelerator::RemoveItem()

void Accelerator::RemoveItem( USHORT nItemId );

Beschreibung

Der Eintrag mit der ID nItemId wird aus dem Accelerator entfernt. Bei Übergabe einer ungültigen ID hat der Aufruf der Methode keine Wirkung.

Parameter

USHORT nItemId	Die ID der zu löschenden Accelerator-Taste.

_______________


Accelerator::Clear()

void Accelerator::Clear();

Beschreibung

Es werden alle Einträge aus dem Accelerator entfernt. Eingestellte Handler und eingestellter Hilfetext bleiben erhalten.

_______________


Accelerator::GetItemCount()

USHORT Accelerator::GetItemCount() const;

Beschreibung

Der Aufruf dieser Methode liefert die Anzahl der Accelerator-Tasten in einem Accelerator. Mit der Methode GetItemId() ist es so möglich, einen Accelerator nach einer bestimmten Taste oder nach einem weiterem Accelerator abzusuchen.

Rückgabewert

USHORT	Die Anzahl der Accelerator-Tasten in dieser Instanz.

Querverweise

Accelerator::GetItemId()

_______________


Accelerator::GetItemId()

USHORT Accelerator::GetItemId( USHORT nPos ) const;

Beschreibung

Der Aufruf dieser Methode liefert die Item-ID der Accelerator-Taste an der gewünschten Position. Ist die Position ungültig, liefert diese Methode den Wert 0. Die gültigen Positionen können mit der Methode GetItemCount() ermittelt werden.

Parameter

USHORT nPos	Die Position im Accelerator (0 ... GetItemCount()-1).

Rückgabewert

USHORT	Die Item-ID an der Position nPos; 0 bei einer ungültigen Position.

Querverweise

Accelerator::GetItemCount()

_______________


Accelerator::GetItemId(const KeyCode&)
Accelerator::GetItemId()

USHORT Accelerator::GetItemId(const KeyCode& rKeyCode )const;

Beschreibung

Diese Methode liefert die ID zu dem im Parameter rKeyCode übergebenen KeyCode.

Parameter

const KeyCode& rKeyCode	Der KeyCode, zu dem die ID gesucht wird.

Rückgabewert

USHORT	Die Item-ID des KeyCodes im Parameter rKeyCode; 0 bei nicht vorhandenem KeyCode.

Querverweise

KeyCode

_______________


Accelerator::GetCurItemId()

USHORT Accelerator::GetCurItemId() const;

Beschreibung

Diese Methode ermittelt den aktuellen Eintrag bei einem Select-Ereignis. Dieser Methodenaufruf wird im Select-Handler verwendet, um die ausgewählte Accelerator-Taste zu erfragen.

Diese Methode liefert nur im Select-Handler den aktuellen Wert, sonst liefert sie immer 0.

Rückgabewert

USHORT	Die aktuelle Item-ID.

Querverweise

Accelerator::Select()

_______________


Accelerator::GetCurKeyCode()

KeyCode Accelerator::GetCurKeyCode() const;

Beschreibung

Diese Methode liefert den KeyCode des aktuellen Eintrags. Sie liefert nur im Select-Handler den aktuellen Wert.

Rückgabewert

KeyCode	Der KeyCode des aktuellen Eintrags.

Querverweise

Accelerator::Select(), KeyCode

_______________


Accelerator::GetCurRepeat()

USHORT Accelerator::GetCurRepeat() const;

Beschreibung

Diese Methode liefert die aktuelle Anzahl der Accelerator-Tastendrücke zurück. Dieser Methodenaufruf wird im Select-Handler verwendet, um zu erfragen, wie häufig die Accelerator-Taste betätigt wurde.

Diese Methode liefert nur im Select-Handler die aktuelle Anzahl, sonst liefert sie immer den Wert 0.

Rückgabewert

USHORT	Die Anzahl der Wiederholungen der Accelerator-Taste; 0, wenn die Methode außerhalb des Select-Handlers aufgerufen wurde.

Querverweise

Accelerator::Select()

_______________


Accelerator::IsCancel()

BOOL Accelerator::IsCancel() const;

Beschreibung

Mit dieser Methode kann im Deactivate-Handler ermittelt werden, ob eine Sequenz von Accelerator-Tasten korrekt beendet oder abgebrochen wurde. Im Falle des Abbruchs liefert diese Methode den Wert TRUE. Diese Methode liefert nur im Deactivate-Handler den Status der letzten Accelerator-Tasten-Sequenz, sonst liefert sie immer FALSE.

Rückgabewert

BOOL	TRUE

Die Sequenz wurde abgebrochen.

FALSE

Die Sequenz wurde normal beendet.

Querverweise

Accelerator::Deactivate()

_______________


Accelerator::ChangeAccel()

Accelerator* Accelerator::ChangeAccel( USHORT nItemId, Accelerator*pAccel );

Beschreibung

Der Aufruf der Methode ersetzt den Accelerator, der sich hinter dem Eintrag mit der ID nItemId verbirgt.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen Accelerator geändert wird.

Accelerator* pAccel	Der Zeiger auf den neuen Accelerator.

Rückgabewert

Accelerator*	Der Zeiger auf den alten Accelerator. Ist dem Eintrag mit der ID nItemId kein Accelerator zugeordnet, so wird 0 zurückgegeben.

_______________


Accelerator::GetAccel()

Accelerator* Accelerator::GetAccel( USHORT nItemId ) const;

Beschreibung

Der Aufruf der Methode liefert einen Zeiger auf den Folge-Accelerator, der sich hinter der angegebenen nItemId verbirgt.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen Accelerator gesucht wird.

Rückgabewert

Accelerator*	Ein Zeiger auf den Folge-Accelerator, der sich hinter nItemId verbirgt. Ist der ID kein Accelerator zugeordnet, so wird 0 zurückgegeben.

_______________


Accelerator::EnableItem()

void Accelerator::EnableItem( USHORT nItemId, BOOL bEnable = TRUE );

Beschreibung

Durch Aufruf der Methode wird der Accelerator angewiesen, die Accelerator-Taste mit der ID nItemId aktiv bzw. inaktiv zu schalten.

Parameter

USHORT nItemId	Die ID der Accelerator-Taste, die aktiv oder inaktiv geschaltet werden soll.

BOOL bEnable	TRUE

Die Accelerator-Taste wird enabled.

FALSE

Die Accelerator-Taste wird disabled.

_______________


Accelerator::IsItemEnabled()

BOOL Accelerator::IsItemEnabled( USHORT nItemId ) const;

Beschreibung

Die Methode liefert zurück, ob die Accelerator-Taste mit der ID nItemId aktiv geschaltet ist.

Parameter

USHORT nItemId	Die ID der Accelerator-Taste, deren Zustand erfragt werden soll.

Rückgabewert

BOOL	TRUE

Die Accelerator-Taste ist aktiv geschaltet.

FALSE

Die Accelerator-Taste ist nicht aktiv geschaltet, oder die ID ist ungültig.

_______________


Accelerator::ChangeKeyCode()

KeyCode Accelerator::ChangeKeyCode( USHORT nItemId, const KeyCode& rKeyCode );

Beschreibung

Mit dieser Methode wird eine bereits vorhandene ID mit einer neuen Accelerator-Taste belegt.

Parameter

USHORT nItemId	Die bereits vorhandene ID.

const KeyCode& rKeyCode	Der KeyCode der Taste, die als Accelerator-Taste arbeiten soll.

Rückgabewert

KeyCode	Der bisherige KeyCode des Eintrags. War dem Eintrag kein KeyCode zugeordnet, so wird ein leerer KeyCode zurückgegeben.

Querverweise

KeyCode

_______________


Accelerator::GetKeyCode()

KeyCode Accelerator::GetKeyCode( USHORT nItemId ) const;

Beschreibung

Der Aufruf der Methode ermittelt zu einer ID den entsprechenden KeyCode.

Parameter

USHORT nItemId	Die ID der Accelerator-Taste.

Rückgabewert

KeyCode	Der KeyCode für die Accelerator-Taste. Wenn die ID ungültig war, wird ein leerer KeyCode zurückgegeben.

_______________


Accelerator::SetHelpText()

void Accelerator::SetHelpText( const String& rHelpString );

Beschreibung

Der Aufruf dieser Methode setzt den Hilfetext eines Accelerators. Dieser kann innerhalb des Activate-Handlers abgefragt und auf dem Bildschirm angezeigt werden.

Parameter

const String& rHelpString	Der Hilfetext.

_______________


Accelerator::GetHelpText()

String Accelerator::GetHelpText() const;

Beschreibung

Diese Methode liefert den für den Accelerator gesetzten Hilfetext.

Rückgabewert

String	Der Hilfetext.

_______________


Accelerator::PushActivateHdl()

void Accelerator::PushActivateHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Accelerator einen neuen Activate-Handler hinzu. Falls ein Accelerator aktiviert wird, werden alle Handler der Liste gerufen. Der zuletzt eingefügte Handler wird dabei als erster gerufen. Gibt einer der gerufenen Handler einen Wert ungleich 0 zurück, so wird das Aufrufen weiterer Handler abgebrochen.

Mit Hilfe dieses Handlers kann z.B. in einer Statuszeile ein Hilfetext zu einem Accelerator angezeigt werden.

Parameter

const Link& rLink	Der Link verweist auf den neuen Handler. Als Parameter enthält die Methode einen Zeiger auf den aktivierten Accelerator.

Prototyp des Handlers:

long MyClass::Activate( Accelerator* pAccel );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Accelerator::Activate(), Accelerator::PopActivateHdl()

_______________


Accelerator::PopActivateHdl()

Link Accelerator::PopActivateHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Activate-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Accelerator::PushDeactivateHdl()

void Accelerator::PushDeactivateHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Accelerator einen neuen Deactivate-Handler hinzu. Falls der Accelerator deaktiviert wird (durch Abbruch oder erfolgreiche Beendigung), werden alle Handler der Liste gerufen. Der zuletzt eingefügte Handler wird dabei als erster gerufen. Gibt einer der gerufenen Handler einen Wert ungleich 0 zurück, so wird das Aufrufen weiterer Handler abgebrochen.

Parameter

caccel:150onst Link& rLink	Der Link zeigt auf die Methode, die beim Deaktivieren des Accelerators gerufen wird. Als Parameter enthält die Methode einen Zeiger auf den deaktivierten Accelerator.

Prototyp des Handlers:

long MyClass::Deactivate( Accelerator* pAccel );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Accelerator::Deactivate(), Accelerator::PopDeactivateHdl()

_______________


Accelerator::PopDeactivateHdl()

Link Accelerator::PopDeactivateHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Deactivate-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Accelerator::PushSelectHdl()

void Accelerator::PushSelectHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Accelerator einen neuen Select-Handler hinzu. Falls ein Eintrag selektiert wird, werden alle Handler der Liste gerufen. Der zuletzt eingefügte Handler wird dabei als erster gerufen. Gibt einer der gerufenen Handler einen Wert ungleich 0 zurück, so wird das Aufrufen weiterer Handler abgebrochen. Im Select-Handler kann mit der Methode GetCurItemId() die ID des selektierten Eintrags abgefragt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Accelerator-Handler, der gerufen wird, wenn der Benutzer einen Acceleratoreintrag selektiert. Als Parameter erhält der Handler einen Zeiger auf den Accelerator.

Prototyp des Handlers:

long MyClass::Select( Accelerator* pAccel );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Accelerator::Select(), Accelerator::PopSelectHdl()

_______________


Accelerator::PopSelectHdl()

Link Accelerator::PopSelectHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Select-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Accelerator::operator =()

Accelerator& Accelerator::operator =( const Accelerator& rAccel );

Beschreibung

Zuweisungsoperator der Klasse Accelerator. Folge-Acceleratoren werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Acceleratoren umgehängt worden sind.

Parameter

const Accelerator& rAccel	Referenz auf einen Accelerator.

Rückgabewert

Accelerator&	Referenz auf das Ergebnis der Zuweisung.

_______________


Application

#define EXC_RSCNOTLOADED        0x0100

#define EXC_SYSOBJNOTCREATED    0x0200

#define EXC_USER                0x1000

#define INPUT_MOUSE             0x0001

#define INPUT_KEYBOARD          0x0002

#define INPUT_PAINT             0x0004

#define INPUT_TIMER             0x0008

#define INPUT_OTHER             0x0010

#define INPUT_MOUSEANDKEYBOARD  (INPUT_MOUSE | INPUT_KEYBOARD)

#define INPUT_ANY               (INPUT_MOUSEANDKEYBOARD | INPUT_PAINT | INPUT_TIMER | INPUT_OTHER)

#define DISPATCH_OPEN           1

#define DISPATCH_PRINT          2

enum SysChangeType	{ CHANGE_FONTCOUNT, CHANGE_OTHER };

enum AccelType	{ ACCEL_STANDARD, ACCEL_ALWAYS };

class Application : public LinkHdl

{

protected:

void	Execute();

virtual BOOL	QueryExit();

virtual void	SysChange( SysChangeType eChgType );

virtual void	AppEvent( const ApplicationEvent& rAppEvent );

virtual void	UserEvent( ULONG nEvent, void* pEventData );

virtual void	ActivateExtHelp();

virtual void	DeactivateExtHelp();

public:

Application();

virtual	~Application();

virtual void	Main( int nArgc, char* pArgv[] ) = 0;

void	InitAppRes( const ResId& rResId );

BOOL	IsInMain() const;

BOOL	IsInExecute() const;

virtual void	Exception( short nError = 0 );

void	Abort( const String& rErrorText );

void	Quit();

void	Reschedule();

BOOL	AnyInput( USHORT nType = INPUT_ANY );

USHORT	DispatchAppEvents( int nArgc, char* pArgv[] );

void	PostUserEvent( ULONG nEvent, void* pEventData );

BOOL	PostAppEvent( const String& rAppName, const String& rProcId, const String& rEventName, const String& rData );

void	Wait( BOOL bWait = TRUE );

BOOL	IsWait() const;

BOOL	InsertIdleHdl(const Link&rLink,USHORT nPriority);

void	RemoveIdleHdl( const Link& rLink );

WorkWindow*	GetAppWindow() const;

MenuBar*	ChangeAppMenu( MenuBar* pAppMenu = NULL );

MenuBar*	GetAppMenu() const;

Font	ChangeAppFont( const Font& rFont );

Font	GetAppFont() const;

International	ChangeAppInternational( const International& rIntn );

International	GetAppInternational() const;

String	ChangeAppName( const String& rUniqueName );

String	GetAppName() const;

void	EnableMenuAccel();

void	DisableMenuAccel();

BOOL	IsMenuAccelEnabled() const;

BOOL	InsertAccel( Accelerator* pAccel, AccelType eType = ACCEL_STANDARD );

void	RemoveAccel( Accelerator* pAccel );

void	FlushAccel();

Help*	ChangeHelp( Help* pHelp = NULL );

Help*	GetHelp() const;

void	EnableHelp( HelpMode eHelpMode );

void	DisableHelp( HelpMode eHelpMode );

BOOL	IsHelpEnabled( HelpMode eHelpMode ) const;

void	EnableSVLook();

void	DisableSVLook();

BOOL	IsSVLookEnabled() const;

};

extern Application* pApp;

Application* GetpApp();

Beschreibung

Die Klasse Application ist die zentrale Basisklasse für alle Applikationen. Jede Applikation leitet sich von dieser Klasse ab und überlädt je nach Bedarf die virtuellen Methoden. Darüber hinaus können in der abgeleiteten Klasse weitere applikationsspezifische Methoden wie z.B. Fehlerbehandlung, Datensicherung usw. implementiert werden.

In einer StarView-Applikation existiert immer genau eine Instanz einer von Application abgeleiteten Klasse. Die globale Zeigervariable Application* pApp zeigt auf diese Instanz. Diese Variable liegt als globale Variable in StarView und wird initialisiert, sobald eine Instanz der Applikation angelegt wird. Wird keine Applikationsinstanz erzeugt, gibt StarView eine Fehlermeldung auf dem Bildschirm aus und beendet das Programm. Im Destruktor wird pApp wieder auf NULL gesetzt. Um unter Windows innerhalb einer DLL auf pApp zuzugreifen, muß die Funktion GetpApp() aufgerufen werden. Diese Funktion ist auf allen Systemen vorhanden und sollte verwendet werden, wenn pApp in einem Modul, welches sich innerhalb einer DLL befindet, abgefragt wird.

Soll eine eigene Applikation erzeugt werden, wird eine Ableitung der Klasse Application erzeugt und eine Instanz dieser neuen Klasse auf Modulebene angelegt. Die Zeigervariable pApp wird im Konstruktor der Klasse Application initialisiert. StarView ruft nach der Initialisierung die virtuelle Methode Main(), die in der neuen Klasse überladen werden muß.

Eine Applikation kann über eine Vielzahl von Fenstern verfügen, wobei lediglich ein Fenster als Applikationsfenster deklariert sein darf (durch Angabe eines Stylebits im Konstruktor der Klasse WorkWindow). Das Zerstören des Applikationsfensters beendet die Applikation.

Die Klasse Application übernimmt auch die Steuerung des Hilfesystems. StarView bietet zwei verschiedene Hilfemodi an. Beim ersten handelt es sich um die kontextsensitive Hilfe. Diese Hilfe wird durch Betätigen der Hilfetaste ausgelöst und liefert Hilfe zum momentan aktiven Fenster. Neben der kontextsensitiven Hilfe gibt es noch die erweiterte Hilfe, bei der die Applikation in einen Hilfemodus geschaltet wird. Dazu wird ein Fragezeichen-Pointer angezeigt, und beim ersten Mausklick wird die Hilfe zu diesem Fenster angezeigt. Um die Hilfe zu initialisieren, muß eine Instanz der Klasse Help in die Applikation selektiert werden. Diese Hilfe wird von den Default-RequestHelp-Handlern der Klassen Menu und Window mit der ID, die in diesen Klassen gesetzt wurde, gestartet. Außerdem müssen noch die Hilfemodi, die von StarView ausgelöst werden sollen, enabled werden.

Da diese Klasse global angelegt wird, dürfen die von Application abgeleiteten Klassen keine StarView-Member besitzen. Es dürfen nur Zeiger auf StarView-Objekte als Members angelegt werden. Die dazugehörenden Instanzen müssen in Main() angelegt werden. Ob man sich in Main() befindet, kann über die Methode IsInMain() abgefragt werden.

Basisklassen

LinkHdl

Querverweise

Application::Main(), Help, HelpMode

_______________


enum SysChangeType

enum SysChangeType	{ CHANGE_FONTCOUNT, CHANGE_OTHER };

Beschreibung

Der SysChangeType enthält die Information, welcher Systemzustand sich geändert hat.

CHANGE_FONTCOUNT	Die Anzahl der Fonts, die dem System zur Verfügung stehen, hat sich geändert. Es sollte überprüft werden, ob die benutzten Fonts noch vorhanden sind.

CHANGE_OTHER	Es haben sich eine oder mehrere Einstellungen im System geändert, die nicht genau festgestellt werden können. Wenn dieser SysChangeType kommt, sollten alle im System einstellbaren Zustände neu abgefragt werden. Unter diese Gruppe fallen z. B. Datum, Uhrzeit und Druckereinstellungen.

Querverweise

Application::SysChange(), System, Color

_______________


enum AccelType

enum AccelType	{ ACCEL_STANDARD, ACCEL_ALWAYS };

Beschreibung

Die Werte des enum AccelType geben an, in welchem Kontext der Accelerator ausgewertet werden soll.

ACCEL_STANDARD	Dieser Typ sollte verwendet werden, wenn Acceleratoren nur ausgewertet werden sollen, wenn das Menu aktiviert werden kann bzw. wenn sich die Applikation nicht in einem modalen Zustand befindet. Für Acceleratoren, die Benutzerkommandos wie Laden oder Drucken auslösen, sollte dieser Typ verwendet werden.

ACCEL_ALYWAYS	Mit diesem Tpy kann angegeben werden, daß Acceleratoren immer ausgewertet werden sollen. Dies ist auch dann der Fall, wenn eine modale Dialogbox aktiv ist. Dieser Typ sollte nur für Aktionen verwendet werden, die zu jeder Zeit auslösbar sein sollen, oder wenn Sie die vom System zur Verfügung gestellte Steuerung umdefinieren wollen. Anwendungfälle sind versteckte About-Boxen, Acceleratoren für Debug-Einstellungen oder Änderung der Tab-Steuerung in Dialogen und Toolboxleisten.

Querverweise

Application::InsertAccel()

_______________


Application::Execute()

void Application::Execute();

Beschreibung

Diese Methode startet den StarView-Eventmechanismus. Diese Methode muß von der Applikation nach der Initialisierung der Daten aufgerufen werden. Die Applikation bleibt so lange in dieser Methode, bis die Methode Quit() aufgerufen wurde.

Nach dem Aufruf dieser Methode werden erst Events verarbeitet und die Handler der StarView-Objekte gerufen. Vorher werden nur die Events verarbeitet, die nicht über die StarView-Eingabeverarbeitung gehen und direkt an die Objekte geschickt werden. Ob man sich in dieser Methode befindet, kann mit IsInExecute() abgefragt werden.

Anmerkungen

Diese Methode wird in der Regel aus der Methode Main() aufgerufen.

Querverweise

Application::Main(), Application::Quit(), Application::IsInExecute()

_______________


Application::QueryExit()

virtual BOOL Application::QueryExit();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn das zugrundeliegende Fenstersystem beendet werden soll.

Rückgabewert

BOOL	TRUE

Die Applikation soll beendet werden.

FALSE

Die Applikation soll zur Zeit nicht beendet werden.

Anmerkungen

Sind in einer Applikation z.B. noch einige Dateien nicht gesichert, kann diese Applikation das Beenden verhindern. Die Applikation kann z.B. zunächst den Benutzer befragen, ob eine Datensicherung durchgeführt werden soll. In diesem Fall würde die Applikation FALSE zurückgeben, wenn der Benutzer die Daten sichern will.

Wird diese Methode in einer von Application abgeleiteten Klasse nicht überladen, so wird der Close-Handler des Applikationsfensters gerufen.

_______________


Application::SysChange()

virtual void Application::SysChange( SysChangeType eChgType);

Beschreibung

Diese Methode wird immer dann von StarView aufgerufen, wenn sich Systemeinstellungen des zugrundeliegenden Fenstersystems geändert haben.

Parameter

SysChangeType eChgType	Der Systemcode, der sich geändert hat.

Querverweise

SysChangeType, System, Color

_______________


Application::AppEvent()

virtual void Application::AppEvent( const ApplicationEvent& rAppEvent );

Beschreibung

Dieser Handler wird von StarView gerufen, sobald ApplicationEvents innerhalb dieser oder an diese Applikation verschickt werden. Dies kann einmal durch die Methode DispatchAppEvents() geschehen, die die Kommandozeile auswertet und evtl. den Handler ruft. Zum anderen können ApplicationEvents mittels PostAppEvent() von einer anderen Applikation an die aktuelle Applikation geschickt werden.

Parameter

const ApplicationEvent& rAppEvent	Der ApplicationEvent.

Querverweise

ApplicationEvent, Application::DispatchAppEvents(), Application::PostAppEvent()

_______________


Application::UserEvent()

virtual void Application::UserEvent(ULONG nEvent, void* pEventData);

Beschreibung

Dieser Handler wird von StarView gerufen, sobald ein UserEvent in der Applikation verschickt wird. Dies kann durch die Methode PostUserEvent() geschehen.

Parameter

ULONG nEvent	Der Identifier des verschickten User-Events. Die ID dient nur zur Identifizierung für den Applikationsprogrammierer und kann frei vergeben werden.

void* pEventData	Zeiger auf Benutzerdaten. Die Datenstruktur, die sich hinter dem Pointer verbirgt wird vom Applikationsprogrammierer festgelegt.

Querverweise

Application::PostUserEvent()

_______________


Application::ActivateExtHelp()

virtual void Application::ActivateExtHelp();

Beschreibung

Dieser Handler wird von StarView aufgerufen, wenn der Anwender den erweiterten Hilfemodus aktiviert hat. Ist der erweiterte Hilfemodus aktiv, werden keine Mouse-, KeyInput und Menu-Handler mehr aufgerufen. Da im erweiterten Hilfemodus noch ein Menu-Punkt ausgewählt werden kann, zu dem der Anwender die Hilfe möchte, sollten in diesem Handler alle Menu-Punkte enabled werden. Außerdem können in diesem Handler noch Statuszeilen umgesetzt werden.

Der erweiterte Hilfemodus kann nur aktiviert werden, wenn er über EnableHelp() erlaubt wurde.

Querverweise

Application::EnableHelp(), Help

_______________


Application::DeactivateExtHelp()

virtual void Application::DeactivateExtHelp();

Beschreibung

Dieser Handler wird von StarView aufgerufen, wenn der Anwender den erweiterten Hilfemodus deaktiviert oder die erweiterte Hilfe ausgelöst hat.

_______________


Application::Application()

Application::Application();

Beschreibung

Konstruktor der Klasse Application. Von der Klasse Application werden keine Instanzen erzeugt. Eine Applikation muß eine Ableitung dieser Klasse erzeugen. Im Konstruktor der Klasse Application wird die globale Variable pApp mit der Adresse der neu erzeugten Instanz initialisiert. Es darf innerhalb einer Applikation nur genau eine Instanz der von Application abgeleiteten Klasse erzeugt werden.

_______________


Application::~Application()

virtual Application::~Application();

Beschreibung

Destruktor der Klasse Application. In dieser Methode wird der globale Zeiger pApp auf 0 zurückgesetzt. Dadurch kann abgefragt werden, ob die Applikationsinstanz noch existiert.

_______________


Application::Main()

virtual void Application::Main( int nArgc, char* pArgv[]) = 0;

Beschreibung

Diese Methode wird nach dem Programmstart durch StarView gerufen. Die Anwendung hat hier die Möglichkeit, die Anwendungsdaten zu initialisieren, die Event-Loop zu starten und am Programmende die Daten wieder freizugeben. Alle in dieser Methode erzeugten dynamischen Objekte sind für die gesamte Laufzeit der Applikation vorhanden. Als Parameter werden die Parameter der Aufrufzeile übergeben. Die Übergabekonventionen entsprechen denen eines normalen C-Programms. Da es sich bei dieser Methode um eine rein virtuelle Methode handelt, muß sie in einer von Application abgeleiteten Klasse überladen werden.

Erst nachdem Main() aufgerufen wurde, dürfen Instanzen von StarView-Klassen angelegt werden. Nachdem Main() beendet wurde, dürfen keine Instanzen von StarView-Klassen mehr angelegt werden. Ob man sich innerhalb dieser Methode befindet, kann mit IsInMain() abgefragt werden.

Nach der Initialisierung muß die Methode Execute() aufgerufen werden, um die Event-Verarbeitung für die Applikation zu starten.

Parameter

int nArgc	Die Anzahl der Parameter in der Aufrufzeile (einschließlich des Programmnamens).

char* pArgv[]	Array von Zeigern auf die Parameter. Die Parameter liegen als null-terminierte Zeichenketten vor.

Anmerkungen

Diese Methode entspricht in ihrer Funktionalität der Funktion main() eines normalen C-Programms.

Beispiel

In diesem Beispiel wird die Klasse MyApp von der Klasse Application abgeleitet. Die Klasse MyApp hat eine virtuelle Methode Main(), die von StarView aufgerufen wird.

class MyApp : public Application

{

public:

virtual void	Main( int nArgc, char* pArgv[] );

};

void MyApp::Main( int nArgc, char* pArgv[] )

{

// Initialisierung der Applikationsdaten.

...

Execute();

// Eventuell Löschen von dynamischen Objekten.

...

}

MyApp aApp; // Anlegen der Instanz der Klasse MyApp.

Querverweise

Application::Execute(), Application::IsInMain()

_______________


Application::InitAppRes()

void Application::InitAppRes( const ResId& rResId );

Beschreibung

Diese Methode initialisiert die Applikation aus der Resource.

Parameter

const ResId& rResId	Der Resource-Identifier ...

Querverweise

...

_______________


Application::IsInMain()

BOOL Application::IsInMain() const;

Beschreibung

Diese Methode prüft, ob sich die Applikation innerhalb der Methode Main() befindet. Gibt diese Methode TRUE zurück, können Instanzen von StarView-Objekten erzeugt werden, im anderen Fall dürfen keine angelegt werden.

Rückgabewert

BOOL	TRUE

Die Applikation befindet sich innerhalb von Main(). Es können Instanzen von StarView-Objekten angelegt werden.

FALSE

Die Applikation befindet sich außerhalb von Main(). Es dürfen keine Instanzen von StarView-Objekten angelegt werden.

_______________


Application::IsInExecute()

BOOL Application::IsInExecute() const;

Beschreibung

Diese Methode prüft, ob sich die Applikation innerhalb der Methode Execute() befindet. Gibt diese Methode TRUE zurück, so werden die Handler der StarView-Objekte gerufen und die Events verarbeitet.

Rückgabewert

BOOL	TRUE

Die Applikation befindet sich innerhalb von Execute(). Es werden Events der StarView-Objekte verarbeitet und die Handler gerufen.

FALSE

Die Applikation befindet sich außerhalb von Execute(). Es werden keine Events der StarView-Objekte verarbeitet und keine Handler gerufen, wenn die Events nicht direkt an das Objekt geschickt werden.

_______________


Application::Exception()

virtual void Application::Exception( short nError = 0 );

Beschreibung

Dieser Handler wird gerufen, wenn in StarView ein nicht zu behandelnder Fehler auftritt, z. B. das Scheitern des Ladens einer Resource oder des Erzeugens eines Systemobjektes.

Wenn dieser Handler gerufen wird, sollten keine StarView-Objekte mehr angelegt werden, da sich StarView zu diesem Zeitpunkt schon in einem inkonsistenten Zustand befinden kann. Weitere StarView-Aufrufe könnten zu einem erneuten Aufruf des Exception-Handlers führen. Die Applikation sollte nur noch versuchen, Applikationsdaten zu sichern und offene Dateien zu schließen. Es wird empfohlen, daß die Applikation etwa 4 KB Speicher freigibt, um noch die nötigsten Funktionen (z. B. fopen) aufrufen zu können. Um einen String für eine Fehlermeldung zu erzeugen, muß voher etwas Speicher freigegeben werden oder der String schon beim Programmstart erzeugt worden sein.

Dieser Handler ruft die Methode Application::Abort() mit einem leeren String auf.

Dieser Handler ist public, damit auch Applikationen diesen Handler für eigene Fehler (z.B. Indexüberschreitungen) benutzen können. Um eigene Fehlercodes zu definieren, ist das #define EXC_USER gedacht, das als Basiscode dienen sollte.

StarView geht davon aus, daß zur Behandlung von Speichermangel der New-Handler gesetzt wird, da dieser Fehler nicht im Exception-Handling berücksichtigt wird. Da nicht alle Compiler den New-Handler gleich definieren, wird der New-Handler von StarView definiert, womit auch das Einbinden von new.h entfällt:

typedef void (*_NEW_HANDLER)();

_NEW_HANDLER set_new_handler( _NEW_HANDLER pHandler );

Parameter

short nError	Der Code des Fehlers, der die Exception ausgelöst hat.

EXC_RSCNOTLOADED

Resource konnte nicht geladen werden.

EXC_SYSOBJNOTCREATED

Systemobjekt konnte nicht erzeugt werden.

EXC_USER

Vordefinierter Wert für User-Exceptions.

Anmerkungen

Um den Fehler "Out of Memory" abzufangen, sollte der New-Handler vom Compiler gesetzt werden. StarView fängt z. B. nicht ab, wenn new 0 zurückliefert, sondern geht davon aus, daß die Applikation den New-Handler überladen hat und eine entsprechende Fehlerbehandlung durchführt.

Beispiel

#define EXC_OUTOFMEMORY    (EXC_USER+1)

// Puffer, die auch temporär von der Applikation benutzt werden

// könnten

char* pBuffer1 = 0;

char* pBuffer2 = 0;

void NewHandler()

{

// Ist der Sicherheitspuffer noch vorhanden

if ( pBuffer1 )

{

// dann freigeben und Warning ausgeben

delete pBuffer1;

SysMessBox( NULL, WB_OK, "Achtung: Speicher wird knapp" ).Execute();

}

else

// sonst Programm mit Exception beenden

pApp->Exception( EXC_OUTOFMEMORY );

}

void MyApp::Main( int nArgc, char* pArgv[] )

{

// Sicherheitspuffer anlegen und New-Handler setzen

pBuffer1 = new char[30000];

pBuffer2 = new char[10000];

set_new_handler( NewHandler );

...

}

void MyApp::Exception( short nError )

{

// Sicherheitspuffer freigeben

delete pBuffer2;

// Dokumente so gut wie möglich sichern

...

// Programm auf unsauberem Weg verlassen

Abort( "Schwerwiegender Fehler in der Applikation" );

}

_______________


Application::Abort()

void Application::Abort( const String& rErrorText );

Beschreibung

Diese Methode beendet das Programm und gibt einen Errorcode (-1) an das System zurück. Dabei wird das Programm nach Aufruf dieser Methode nicht mehr fortgesetzt und somit auch nicht der Code nach Execute() ausgeführt. Diese Methode sollte nur aufgerufen werden, wenn ein nicht zu behebender Fehler aufgetreten ist und das sofortige Ende der Applikation durchgeführt werden muß. Diese Methode versucht zwar noch, Systemobjekte zu löschen, ist aber nicht immer in der Lage, noch offene Dateien zu schließen und die Applikation in einem sauberen Zustand zu beenden.

Dieser Methode kann noch ein Text übergeben werden, der dem Benutzer vor dem Programmende angezeigt wird. Dieser Text sollte nicht länger als 30 Zeichen lang sein, da er in einer Zeile auf dem Bildschirm ausgegeben wird. Falls ein leerer Text übergeben wird, wird keine Box angezeigt.

Parameter

const String& rErrorText	Der Text, der dem Benutzer vor dem Programmende angezeigt wird.

_______________


Application::Quit()

void Application::Quit();

Beschreibung

Diese Methode beendet den Aufruf der Methode Execute().

Anmerkungen

Nach Aufruf dieser Methode wird die Methode Execute() verlassen. Dies bedeutet in der Regel, daß die Methode Main() verlassen und die Applikation beendet wird.

Der in der Methode Main() nach dem Aufruf von Execute() folgende Code wird ausgeführt.

Querverweise

Application::Execute()

_______________


Application::Reschedule()

void Application::Reschedule();

Beschreibung

Mit dieser Methode wird die Kontrolle an das zugrundeliegende Fenstersystem abgegeben und ein eventuell anstehendes Event verarbeitet. Nach der Verarbeitung eines Events kehrt diese Methode zurück. Steht kein Event zur Verarbeitung an, kehrt diese Methode sofort zurück.

Die Methode Reschedule() kann zur Implementierung von Hintergrundaktivitäten verwendet werden. Dabei wird während einer zeitintensiven Operation mit Hilfe der Methode Reschedule() möglichst oft die Kontrolle an das Fenstersystem abgegeben. Andere Applikationen erhalten dadurch die Möglichkeit, anstehende Events zu bearbeiten.

Anmerkungen

Bei der Verwendung dieser Methode muß unbedingt darauf geachtet werden, daß das Programm reentrant ist, d.h. während die Methode Reschedule() aktiv ist, kann ein Event das Programm und sogar denselben Handler eines Programms noch einmal aufrufen.

Beispiel

In diesem Beispiel wartet die Applikation in einer Schleife so lange, bis die Variable bIdle den Wert FALSE bekommt. In der Warteschleife wird die Kontrolle bei jedem Schleifendurchlauf wieder an das System abgegeben.

Wird im Applikationsfenster eine Maustaste gedrückt, so wird die Variable bIdle auf FALSE gesetzt und die Schleife abgebrochen.

static BOOL bIdle;

...

bIdle = TRUE;

while( bIdle )

pApp->Reschedule();

...

void MyWin::MouseButtonDown( const MouseEvent &rEvt )

{

bIdle = FALSE;

....

}

_______________


Application::AnyInput()

BOOL Application::AnyInput( USHORT nType = INPUT_ANY );

Beschreibung

Diese Methode prüft, ob Eingaben zur Bearbeitung anstehen. Dabei kann noch angegeben werden, welche Eingaben berücksichtigt werden sollen.

Parameter

USHORT nType	Typ der Eingaben, von dem geprüft werden soll, ob Eingaben vorliegen. Die Typen können mit '|' verknüpft werden.

INPUT_MOUSE

Mauseingaben.

INPUT_KEYBOARD

Keyboardeingaben.

INPUT_PAINT

Zeicheneingaben.

INPUT_TIMER

Zeiteingaben.

INPUT_OTHER

Andere wie Activate, Focus, usw.

INPUT_MOUSEANDKEYBOARD

Maus- und Tastatureingaben.

INPUT_ANY

Alle Eingaben.

Rückgabewert

BOOL	TRUE

Es stehen Eingaben des übergebenen Typs an.

FALSE

Es stehen keine Eingaben des übergebenen Typs an.

_______________


Application::DispatchAppEvents()

USHORT Application::DispatchAppEvents( int nArgc, char* pArgv[] );

Beschreibung

Diese Methode untersucht die auf der Kommandozeile übergebenen Parameter und verschickt alle gefundenen Pfadnamen als Open-Application Events. Alle Parameter, die nach einem Schalter "/p" gefunden werden, werden als Print-Application Events verschickt. Die Methode DispatchAppEvents() wird typischerweise innerhalb der Methode Application::Main() vor dem Aufruf der Methode Application::Execute() gerufen.

Parameter

int nArgc	Die Anzahl der Parameter in der Aufrufzeile der Applikation (einschließlich des Programmnamens).

char* pArgv[]	Array von Zeigern auf die Parameter. Die einzelnen Parameter liegen als null-terminierte Zeichenketten vor.

Rückgabewert

USHORT	Der Rückgabewert dient zur Information, welche Typen von AppEvents verschickt wurden. Der Rückgabewert kann eins oder mehere der folgenden Flags enthalten.

DISPATCH_OPEN

Es wurden ein oder mehrere Open-Events versendet.

DISPATCH_PRINT

Es wurden ein oder mehrere Print-Events versendet.

_______________


Application::PostUserEvent()

void Application::PostUserEvent( ULONG nEvent, void* pEventData );

Beschreibung

Dies ist eine Methode zum asynchronen Verschicken von Nachrichten. PostUserEvent() entspricht im wesentlichen der Windows Funktion PostMessage(). Als Parameter können eine ID und ein Pointer auf Benutzerdaten übergeben werden. Die verschickten Events führen zu einem Aufruf des Handlers Application::UserEvent().

Parameter

ULONG nEvent	Der Identifier des UserEvents. Die ID kann in der Applikation frei definiert werden.

void* pEventData	Zeiger auf Benutzerdaten. Die Datenstruktur, die sich hinter dem Pointer verbirgt, kann in der Applikation frei definiert werden.

Querverweise

Application::UserEvent()

_______________


Application::PostAppEvent()

BOOL Application::PostAppEvent( const String& rAppName, const String& rProcId, const String& rEventName, const String& rData );

Beschreibung

Diese Methode verschickt einen Event an eine andere StarView-Applikation. Ist diese Applikation nicht erreichbar, so versucht die Methode PostAppEvent() diese zu starten und verschickt den Event anschließend ein zweites Mal.

Parameter

const String& rAppName	Der Name der Applikation, an die der Event verschickt werden soll.

const String& rProcId	Die ID der Applikation, an die der Event verschickt werden soll. Diese ID kann nur über ein vorher empfangenen AppEvent der anderen Applikation ermittelt werden. Durch Angabe einer ID an dieser Stelle kanneine bestimmte Instanz der gewünschten Applikation erreicht werden.

const String& rEventName	Der Name des Events. Der Eventnamen können zwischen den Applikationen frei definiert werden.

const String& rData	Die Daten, die zu dem Event verschickt werden sollen. Das Format der Daten kann zwischen zwei Applikationen frei definiert werden.

_______________


Application::Wait()

void Application::Wait( BOOL bWait = TRUE );

Beschreibung

Diese Methode schaltet den Mauszeiger auf eine speziell für Wartezeiten gestaltete Instanz der Klasse Pointer (unter MS-Windows eine Sanduhr). Dieser Mauszeiger soll dem Benutzer anzeigen, daß die Applikation derzeit beschäftigt ist (z.B. mit dem Laden einer Datei).

Parameter

BOOL bWait	TRUE

Innerhalb der gesamten Applikation soll jetzt der Wartezustand angezeigt werden.

FALSE

Innerhalb der gesamten Applikation soll der Wartezustand jetzt nicht mehr angezeigt werden.

_______________


Application::IsWait()

BOOL Application::IsWait() const;

Beschreibung

Mit dieser Methode wird abgefragt, ob die Applikation einen Wartezustand anzeigt.

Rückgabewert

BOOL	TRUE

Innerhalb der gesamten Applikation wird der Wartezustand angezeigt.

FALSE

Innerhalb der gesamten Applikation wird der Wartezustand nicht angezeigt.

_______________


Application::InsertIdleHdl()

BOOL Application::InsertIdleHdl(const Link& rLink,USHORT nPriority);

Beschreibung

Durch den Aufruf dieser Methode wird am Ende der Kette der Idle-Handler ein weiterer Handler angefügt. Die Idle-Handler werden durch StarView gerufen, wenn keine anderen Eingaben zu bearbeiten sind. Durch die Angabe der Priorität kann die Applikation steuern, wie häufig der jeweilige Handler gerufen werden soll. Die Angabe einer 1 bedeutet, daß der Handler bei jedem Durchlauf der Handlerkette gerufen wird, wenn keine Eingaben zu bearbeiten sind. Die Angabe einer 2 bedeutet analog, daß der Handler bei jedem zweiten Durchlauf gerufen wird.

Parameter

const Link& rLink	Ein Link auf den neuen Idle-Handler.

Prototyp des Idle-Handlers:

void MyClass::MyIdleHandler( Application* pApp );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

USHORT nPriority	Die Priorität des Handlers. Die Angabe von 0 als Priorität ist nicht erlaubt.

Rückgabewert

BOOL	TRUE

Der angegebene Handler wurde in die Kette eingefügt.

FALSE

Der angegebene Handler befindet sich bereits in der Liste der Idle-Handler und wurde nicht eingefügt, oder die im Parameter nPriority angegebene Priorität ist ungültig.

Anmerkungen

Mit dieser Methode kann eine Applikation Aufgaben durchführen, die nicht zeitkritisch sind. Es ist z.B. denkbar, bestimmte Listen zu sortieren, um anschließend ein besseres Laufzeitverhalten zu erzielen. Alle Benutzereingaben haben Vorrang vor dem Aufruf der Idle-Handler. Der Aufruf der einzelnen Idle-Handler wird nur ausgeführt, wenn keine Benutzereingaben vorliegen. Falls Handler auch bei Benutzereingaben aufgerufen werden sollen, muß ein Timer verwendet werden, der auf eine beliebige Zeit eingestellt werden kann.

Querverweise

Link, Timer

_______________


Application::RemoveIdleHdl()

void Application::RemoveIdleHdl( const Link& rLink );

Beschreibung

Mit Hilfe dieser Methode wird ein Idle-Handler aus der Kette der Handler entfernt.

Parameter

const Link& rLink	Ein Link mit einem Verweis auf den zu entfernenden Handler. Wird der angegebene Handler nicht gefunden, hat der Aufruf der Methode keine Wirkung.

_______________


Application::GetAppWindow()

WorkWindow* Application::GetAppWindow() const;

Beschreibung

Diese Methode gibt einen Zeiger auf das Applikationsfenster zurück.

Rückgabewert

WorkWindow*	Der Zeiger auf das Applikationsfenster; NULL, wenn noch kein Applikationsfenster erzeugt wurde.

Anmerkungen

Das Applikationsfenster ist eine Instanz der Klasse WorkWindow mit dem Stylebit WB_APP im Konstruktor.

Querverweise

WorkWindow

_______________


Application::ChangeAppMenu()

MenuBar* Application::ChangeAppMenu( MenuBar* pAppMenu = NULL );

Beschreibung

Diese Methode setzt ein neues Applikations-Menu. Die Applikation verwaltet lediglich einen Zeiger auf das Applikations-Menu. Es liegt in der Verantwortung der Applikation, die Gültigkeit des Zeigers zu gewährleisten. In die Applikation selektierte Menus dürfen nicht zerstört werden. Als Voreinstellung ist kein Menu selektiert.

Parameter

MenuBar* pAppMenu	Der Zeiger auf das neue Applikations-Menu. Bei Übergabe von NULL wird das bisherige Menu entfernt.

Rückgabewert

MenuBar*	Der Zeiger auf das bisherige Applikations-Menu; NULL, wenn kein Applikations-Menu gesetzt war.

Querverweise

MenuBar

_______________


Application::GetAppMenu()

MenuBar* Application::GetAppMenu() const;

Beschreibung

Diese Methode gibt einen Zeiger auf das momentan selektierte Applikations-Menu zurück.

Rückgabewert

MenuBar*	Der Zeiger auf das Applikations-Menu; NULL, wenn kein Applikations-Menu gesetzt ist.

Querverweise

MenuBar

_______________


Application::ChangeAppFont()

Font Application::ChangeAppFont( const Font& rFont );

Beschreibung

Diese Methode setzt den neuen Applikationsfont. Der Applikationsfont wird als Default-Font in allen von OutputDevice abgeleiteten Klassen verwendet. Es existiert ein MapMode (MAP_APPFONT), der ein Koordinatensystem relativ zur Größe des Applikationsfonts zur Verfügung stellt.

Der Applikationsfont sollte als erste Aktion in Main() gesetzt werden, damit alle Fenster, die anschließend erzeugt werden, diesen Applikationsfont verwenden. Der Applikationsfont sollte anschließend nicht mehr geändert werden. Der Applikationsfont ist per Default auf den Systemfont gesetzt.

Parameter

const Font& rFont	Der neue Applikationsfont.

Rückgabewert

Font	Der alte Applikationsfont.

Ausnahmen

Diese Methode darf nur in Main() gerufen werden, da der Applikationsfont erst vor dem Aufruf von Main() initialisiert wird. Daher darf diese Methode auch nicht im Konstruktor oder im Destruktor von Application gerufen werden. Ob sich die Applikation in Main() befindet, kann durch den Aufruf der Methode IsInMain() geprüft werden.

Querverweise

Application::IsInMain(), System::GetSystemFont()

_______________


Application::GetAppFont()

Font Application::GetAppFont() const;

Beschreibung

Diese Methode ermittelt den Applikationsfont und gibt diesen als Rückgabewert zurück. Diese Methode darf nur gerufen werden, wenn IsInMain() TRUE zurückliefert.

Rückgabewert

Font	Der aktuelle Applikationsfont.

Ausnahmen

Diese Methode darf nur in Main() gerufen werden, da der Applikationsfont erst vor dem Aufruf von Main() initialisiert wird. Daher darf diese Methode auch nicht im Konstruktor oder im Destruktor von Application gerufen werden. Ob sich die Applikation in Main() befindet, kann durch den Aufruf von IsInMain() geprüft werden.

Querverweise

Application::IsInMain()

_______________


Application::ChangeAppInternational()

International Application::ChangeAppInternational( const International& rIntn );

Beschreibung

Diese Methode setzt eine neue Instanz der Klasse International in die Applikation. Die International-Instanz bestimmt Länder- und Spracheinstellungen sowie Formate für die Zahl-, Datums- und Zeitdarstellung als Voreinstellung für die Applikation.

Parameter

const International& rIntn	Die neue International-Instanz.

Rückgabewert

International	Die zuvor gesetzte International-Instanz.

Querverweise

International

_______________


Application::GetAppInternational()

International Application::GetAppInternational() const;

Beschreibung

Diese Methode ermittelt die in der Applikation aktuell gesetzte Instanz der Klasse International.

Rückgabewert

International	Die gültige International-Instanz.

Querverweise

International

_______________


Application::ChangeAppName()

String Application::ChangeAppName( const String& rUniqueName );

Beschreibung

Diese Methode setzt einen neuen Applikationsnamen.

Parameter

const String& rUniqueName	Der neue, eindeutige Applikationsname.

Rückgabewert

String	Der zuvor gültige Applikationsname.

Querverweise

...

_______________


Application::GetAppName()

String Application::GetAppName() const;

Beschreibung

Diese Methode ermittelt den aktuellen Applikationsnamen.

Rückgabewert

String	Der gültige Applikationsname.

Querverweise

...

_______________


Application::EnableMenuAccel()

void Application::EnableMenuAccel();

Beschreibung

Mit dieser Methode wird eingestellt, daß die Acceleratoren in den Menu-Einträgen einen Select-Aufruf des Menus auslösen, wenn der Benutzer die entsprechende Tastenkombination betätigt. Das Aktivieren oder Deaktivieren dieser Automatik kann sinnvoll sein, wenn Sie z.B. in Ihrer Applikation auch mit Acceleratoren arbeiten, die nicht im Menu angezeigt werden und Sie eine einheitliche Behandlung der Acceleratoren durchführen wollen.

Als Voreinstellung lösen die Acceleratoren in den Menu-Einträgen einen Select-Aufruf aus.

Querverweise

Menu, Menu::ChangeAccelKey()

_______________


Application::DisableMenuAccel()

void Application::DisableMenuAccel();

Beschreibung

Mit dieser Methode wird eingestellt, daß die Acceleratoren in den Menu-Einträgen nur angezeigt werden und keinen Select-Aufruf des Menus auslösen.

Querverweise

Menu, Menu::ChangeAccelKey()

_______________


Application::IsMenuAccelEnabled()

BOOL Application::IsMenuAccelEnabled() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob die Acceleratoren in den Menu-Einträgen einen Select-Aufruf auslösen, wenn der Benutzer die entsprechende Tastenkombination betätigt.

Rückgabewert

BOOL	TRUE

Wenn der Benutzer die Tastenkombination betätigt, die bei einem Menu-Eintrag angegeben wurde, wird der Select-Handler dieses Menus gerufen.

BOOL	FALSE

Die Tastenkombination, die bei einem Menu-Eintrag angegeben wurde, wird nur angezeigt.

_______________


Application::InsertAccel()

BOOL Application::InsertAccel( Accelerator* pAccel, AccelType eType = ACCEL_STANDARD );

Beschreibung

Diese Methode fügt einen neuen Accelerator in die Kette der Acceleratoren ein. Der neue Accelerator wird am Anfang der Kette eingefügt und als erster durchsucht. Die Applikation verwaltet lediglich einen Zeiger auf den Accelerator. Es liegt in der Verantwortung der Applikation, die Gültigkeit des übergebenen Zeigers zu gewährleisten. Selektierte Acceleratoren dürfen nicht zerstört werden.

Optional können Sie auch einstellen, in welchen Kontexten der eingefügte Accelerator ausgewertet werden soll.

Parameter

Accelerator* pAccel	Der Zeiger auf den neuen Accelerator.

AccelType eType	Ein Wert des enum AccelType, mit dem angegeben werden kann, in welchem Kontext der eingefügte Accelerator ausgewertet werden soll.

Rückgabewert

BOOL	TRUE

Der Accelerator wurde erfolgreich eingefügt.

FALSE

Der übergebene Accelerator befindet sich schon in der Liste und wurde nicht erneut eingefügt.

Querverweise

Accelerator, AccelType, Menu::ChangeAccelKey(), Application::RemoveAccel()

_______________


Application::RemoveAccel()

void Application::RemoveAccel( Accelerator* pAccel );

Beschreibung

Mit Hilfe dieser Methode wird ein Accelerator aus der Kette der Acceleratoren entfernt. Der Accelerator muß vorher mit Hilfe der Methode InsertAccel() selektiert worden sein.

Parameter

Accelerator* pAccel	Der Zeiger auf den zu entfernenden Accelerator. Wird der Accelerator nicht gefunden, hat der Aufruf der Methode keine Wirkung.

Querverweise

Accelerator, Application::InsertAccel()

_______________


Application::FlushAccel()

void Application::FlushAccel();

Beschreibung

Diese Methode bringt eventuell aktivierte Acceleratoren wieder in den Ausgangszustand. Die Methode kann aufgerufen werden, wenn eine angefangene Accelerator-Sequenz abgebrochen werden soll. Ist eine Accelerator-Sequenz aktiv, führt diese Methode zum Aufruf der Deactivate-Handler der an der Sequenz beteiligten Acceleratoren.

Querverweise

Accelerator::Deactivate()

_______________


Application::ChangeHelp()

Help* Application::ChangeHelp( Help* pHelp = NULL );

Beschreibung

Diese Methode setzt eine neue Hilfe, die aufgerufen wird, wenn die Hilfe vom Anwender angefordert wird. Diese Hilfe wird von den Default-Help-Handlern im Menu und im Window aufgerufen. Falls keine Hilfe ausgelöst werden soll, kann ein NULL-Zeiger selektiert werden. Als Voreinstellung ist keine Hilfe selektiert.

Parameter

Help* pHelp	Der Zeiger auf die neue Hilfe. Bei Übergabe von NULL wird die Hilfe ausgeschaltet.

Rückgabewert

Help*	Der Zeiger auf die bisher selektierte Hilfe. Bei Rückgabe von NULL war keine Hilfe selektiert.

Querverweise

Help, Window::RequestHelp(), Menu::RequestHelp()

_______________


Application::GetHelp()

Help* Application::GetHelp() const;

Beschreibung

Diese Methode gibt die momentan selektierte Hilfe zurück.

Rückgabewert

Help*	Der Zeiger auf die selektierte Hilfe. Bei Rückgabe von NULL ist keine Hilfe selektiert.

_______________


Application::EnableHelp()

void Application::EnableHelp( HelpMode eHelpMode );

Beschreibung

Über diese Methode können die Hilfemodi enabled werden, die von StarView ausgelöst werden dürfen. Als Voreinstellung sind alle Hilfemodi disabled.

Parameter

HelpMode eHelpMode	Der Hilfemodus, der ausgelöst werden darf, wenn der Anwender Hilfe anfordert.

Querverweise

HelpMode, Help, Application::ChangeHelp(), Application::ActivateExtHelp()

_______________


Application::DisableHelp()

void Application::DisableHelp( HelpMode eHelpMode );

Beschreibung

Über diese Methode können die Hilfemodi disabled werden, die von StarView nicht ausgelöst werden dürfen. Als Voreinstellung sind alle Hilfemodi disabled.

Parameter

HelpMode eHelpMode	Der Hilfemodus, der nicht ausgelöst werden darf, wenn der Anwender Hilfe anfordert.

Querverweise

HelpMode, Help, Application::ChangeHelp(), Application::ActivateExtHelp()

_______________


Application::IsHelpEnabled()

BOOL Application::IsHelpEnabled( HelpMode eHelpMode ) const;

Beschreibung

Über diese Methode kann abgefragt werden, ob der übergebene Hilfemodus von StarView ausgelöst werden darf.

Parameter

HelpMode eHelpMode	Der Hilfemodus, dessen Status erfragt werden soll.

Rückgabewert

BOOL	TRUE

Der übergebene Hilfemodus kann von StarView ausgelöst werden.

FALSE

Der übergebene Hilfemodus kann nicht von StarView ausgelöst werden.

Querverweise

HelpMode, Help

_______________


Application::EnableSVLook()

void Application::EnableSVLook();

Beschreibung

Mit dieser Methode wird eingestellt, daß das WinBit WB_SVLOOK ausgewertet und StarView erlaubt werden soll, weitere Änderungen am Aussehen Ihrer Applikation vorzunehmen. Wenn die Systemeinstellung so gewählt sind, daß kein StarView-Look möglich ist (z.B. Monochrom), wird der Aufruf ignoriert.

Diese Option hat nur Auswirkungen auf Fenster, die nach diesem Aufruf erzeugt werden.

Querverweise

Window::IsSVLook()

_______________


Application::DisableSVLook()

void Application::DisableSVLook();

Beschreibung

Mit dieser Methode wird eingestellt, daß das WinBit WB_SVLOOK nicht ausgewertet werden soll. Somit können Sie dem Anwender auch die Möglichkeit anbieten, den SV-Look auszuschalten, obwohl Sie in Ihrer Applikation das WinBit WB_SVLOOK verwenden.

Diese Option ist die Voreinstellung und hat nur Auswirkungen auf Fenster, die nach diesem Aufruf erzeugt werden.

Querverweise

Window::IsSVLook()

_______________


Application::IsSVLookEnabled()

BOOL Application::IsSVLookEnabled() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob das WinBit WB_SVLOOK ausgewertet wird.

Rückgabewert

BOOL	TRUE

Das WinBit WB_SVLOOK wird ausgewertet.

FALSE

Das WinBit WB_SVLOOK wird nicht ausgewertet.

_______________


ApplicationEvent

#define APPEVENT_OPEN_STRING    "Open"

#define APPEVENT_PRINT_STRING   "Print"

class ApplicationEvent

{

public:

ApplicationEvent();

ApplicationEvent( const String& rSenderAppName, const String& rSenderProcId, const String& rEvent, const String& rData );

String	GetSenderAppName() const;

String	GetSenderProcId() const;

String	GetEvent()  const;

String	GetData()   const;

BOOL	IsPrintEvent() const;

BOOL	IsOpenEvent() const;

USHORT	GetParamCount() const;

String	GetParam( USHORT nParam ) const;

};

Beschreibung

Die Klasse ApplicationEvent dient als Datencontainer zum Versenden von Nachrichten zwischen StarViewApplikationen. Eine Instanz dieser Klasse enthält den Namen des Absenders, dessen Prozeß-ID, den Typ der Nachricht und die zugehörigen Daten. Es stehen zusätzlich Hilfsmethoden zur Dekodierung von Standardevents, wie "Print" und "Open" zur Verfügung.

Querverweise

Application::AppEvent(), Application::PostAppEvent(), Application::DispatchAppEvents()

_______________


ApplicationEvent::ApplicationEvent()

ApplicationEvent::ApplicationEvent();

Beschreibung

Konstruktor der Klasse ApplicationEvent. Der Name des Senders, dessen Prozeß-ID, der Eventtyp und die zugehörigen Daten werden auf einen leeren String initialisiert.

Querverweise

Application::PostAppEvent()

_______________


ApplicationEvent::ApplicationEvent(String)
ApplicationEvent::ApplicationEvent()

ApplicationEvent::ApplicationEvent( const String& rSenderAppName, const String& rSenderProcId, const String& rEvent, const String& rData );

Beschreibung

Konstruktor der Klasse ApplicationEvent. Mit Hilfe dieses Konstruktors werden der Name des Senders, dessen Prozeß-ID, der Eventtyp und die zugehörigen Daten auf die übergebenen Werte initialisiert.

Parameter

const String& rSenderAppName	Der Name der Applikation, die das Event verschickt. Unter MS-Windows ist dies nicht der Name der Programmdatei, sondern der Name, der in der Definitionsdatei beim Linken angegeben wurde.

const String& rSenderProcId	Beim Verschicken eines ApplicationEvents gibt die sendende Applikation hier einen leeren String an. Die ProcId wird vor dem Verschicken auf Betriebssystemebene von StarView eingesetzt.

const String& rEvent	Der Typ des Events. Hier kann ein selbstdefinierter Eventname oder einer der Standardnamen "Print" oder "Open" angegeben werden.

const String& rData	Die Daten zu dem Event. Das Format der Daten hängt von dem Eventtyp ab und ist im allgemeinen benutzerdefiniert. Für die Standardtypen "Open" und "Print" besteht dieser Parameter aus einer Liste von Pfadnamen, die durch das Zeichen  '\n' getrennt werden.

Querverweise

Application::PostAppEvent(), Application::AppEvent()

_______________


ApplicationEvent::GetSenderAppName()

String ApplicationEvent::GetSenderAppName() const;

Beschreibung

Die Methode liefert den Namen der Applikation zurück, von der der Event verschickt wurde.

Rückgabewert

String	Der Name der Applikation, in der der Event ausgelöst wurde. Unter MS-Windows ist dies nicht der Name der Programmdatei, sondern der Name, der  in der Definitionsdatei bim Linken angegeben wurde.
Handelt es sich bei dem Event um einen Standardevent vom Typ "Open" oder "Print", der vom Betriebssystem generiert wurde (z.B. Ziehen einer Datei auf den Druckermanager von MS-Windows), wird ein leerer String zurückgegeben.

Querverweise

ApplicationEvent::GetSenderProcId(), Application::AppEvent(), Application::PostAppEvent()

_______________

ApplicationEvent::GetSenderProcId()

String ApplicationEvent::GetSenderProcId() const;

Beschreibung

Die Methode liefert die Prozeß-ID der Applikation, die den Event verschickt hat. Dieser Wert kann beim Verschicken einer Antwort dazu verwendet werden, dieselbe Instanz der Senderapplikation zu erreichen.

Rückgabewert

String	Die Prozeß-ID der Sender-Applikation. Handelt es sich bei dem Event um einen Standardevent vom Typ "Open" oder "Print", der vom Betriebssystem generiert wurde (z.B. Ziehen einer Datei auf den Druckermanager von MS-Windows), wird ein leerer String zurückgegeben.

Querverweise

ApplicationEvent::GetSenderAppName(),Application::PostAppEvent(),Application::AppEvent()

_______________


ApplicationEvent::GetEvent()

String ApplicationEvent::GetEvent() const;

Beschreibung

Die Methode liefert den Typ des Events zurück.

Rückgabewert

String	Der Typ des Events. Es kann sich hier um einen benutzerdefinierten Typ oder um einen der  Standardtypen "Open" oder "Print" handeln.

Querverweise

Application::GetData(), Application::AppEvent(),Application::PostAppEvent()

_______________


ApplicationEvent::GetData()

String ApplicationEvent::GetData() const;

Beschreibung

Die Methode liefert die Daten zu dem Event zurück. Das Format der Daten hängt vom Typ des Events ab.

Rückgabewert

String	Die Daten zu dem Event. Bei benutzerdefinierten Eventtypen ist der Inhalt des Rückgabewertes ebenfalls benutzerdefiniert. Handelt es sich um einen der Standardtypen "Open" oder "Print", ist der Rückgabewert eine Liste von Pfadnamen, deren Einträge durch das Zeichen  '\n' getrennt sind.

Querverweise

ApplicationEvent::GetEvent(), Application::AppEvent(), Application::PostAppEvent()

_______________

ApplicationEvent::IsPrintEvent()

BOOL ApplicationEvent::IsPrintEvent() const;

Beschreibung

Die Methode ermittelt, ob es sich bei dem Eventtyp um das Standardformat "Print" handelt.

Rückgabewert

BOOL	TRUE

Es handelt sich um einen Event vom Typ "Print".

FALSE

Es handelt sich nicht um einen Event vom Typ "Print".

Anmerkungen

Wenn es sich um ein Event vom Typ "Open" oder "Print" handelt, können zur Ermittelung der einzelnen Pfadnamen die Methoden ApplicationEvent::GetParamCount() und ApplicationEvent::GetParam() verwendet werden.

Querverweise

ApplicationEvent::GetEvent(), ApplicationEvent::GetData(), ApplicationEvent::GetParam(), Application::AppEvent()

_______________#

ApplicationEvent::IsOpenEvent()


BOOL ApplicationEvent::IsOpenEvent() const;

Beschreibung

Die Methode ermittelt, ob es sich bei dem Eventtyp um das Standardformat "Open" handelt.

Rückgabewert

BOOL	TRUE

Es handelt sich um einen Event vom Typ "Open".

FALSE

Es handelt sich nicht um einen Event vom Typ "Print".

Querverweise

ApplicationEvent::GetEvent(), ApplicationEvent::GetData(), ApplicationEvent::GetParam(), Application::AppEvent()

_______________


ApplicationEvent::GetParamCount()

USHORT ApplicationEvent::GetParamCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der Pfadnamen in den Daten zu einem Event der Typen "Open"oder "Print".

Rückgabewert

USHORT	Die Anzahl der Pfadnamen.

Querverweise

ApplicationEvent::GetParam(), ApplicationEvent::GetEvent(), Application::AppEvent()

_______________


ApplicationEvent::GetParam()

String ApplicationEvent::GetParam( USHORT nParam ) const;

Beschreibung

Die Methode ermittelt den Pfadnamen an der n-ten Stelle der Liste von Pfadnamen zu einem Event der Typen "Open" oder "Print".

Parameter

USHORT nParam	Die Stelle des zu ermittelnden Pfadnamens innerhalb der Liste von Pfadnamen.

Rückgabewert

String	Der Pfadname an der n-ten Stelle.

Anmerkungen

Die Anzahl der Pfadnamen in dem Event kann mit Hilfe der Methode GetParamCont() ermittelt werden.

Die einzelnen Pfadnamen in der Liste von Pfaden sind durch ein Zeichen '\n' getrennt.

Querverweise

ApplicationEvent::GetParamCount(), ApplicationEvent::GetEvent(), Application::AppEvent()

Beispiel

void MyApplication::AppEvent( const ApplicationEvent& rEvt )

{

USHORT i;

if( rEvt.IsOpenEvent() )

{

for( i=0; i<rEvt.GetParamCount(); i++ )

{

// Jede übergebene Datei anhand des Pfadnamens öffnen

MyApplication::MyOpenFile( rEvt.GetParam( i ) );

}

}

}

_______________


AutoScrollBar

class AutoScrollBar : public ScrollBar

{

public:

AutoScrollBar( Window* pParent, WinBits nWinStyle = WB_VSCROLL );

AutoScrollBar( Window* pParent, const ResId& rResId );

};

Beschreibung

Die Klasse AutoScrollBar ist von der Klasse ScrollBar abgeleitet. Mit dieser Klasse können automatische ScrollBars erzeugt werden. Die Position des Thumbs wird bei Benutzereingaben automatisch auf den neuen Wert gesetzt.

Basisklassen

ScrollBar : Control : Window : OutputDevice : Resource : LinkHdl

_______________


AutoScrollBar::AutoScrollBar( Window* pParent, WinBits nWinStyle = WB_VSCROLL )
AutoScrollBar::AutoScrollBar()

AutoScrollBar::AutoScrollBar( Window* pParent, WinBits nWinStyle = WB_VSCROLL );

Beschreibung

Konstruktor der Klasse AutoScrollBar. Die Defaultwerte für LineSize und PageSize sind 1, und der Range geht von 0 bis 100. Wird weder WB_HSCROLL noch WB_VSCROLL angegeben, so wird ein vertikaler ScrollBar erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Control-Style mit folgenden Stylebits:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

WB_HSCROLL

Es wird ein horizontaler AutoScrollBar erzeugt.

WB_VSCROLL

Es wird ein vertikaler AutoScrollBar erzeugt.

_______________


AutoScrollBar::AutoScrollBar( Window* pParent, const ResId& rResId)
AutoScrollBar::AutoScrollBar()

AutoScrollBar::AutoScrollBar( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse AutoScrollBar.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des ScrollBars.

Querverweise

Resource

_______________


AutoTimer

class AutoTimer : public Timer

{

public:

AutoTimer();

AutoTimer( const AutoTimer& rTimer );

AutoTimer&	operator=( const AutoTimer& rTimer );

}

Beschreibung

Die Klasse AutoTimer ist von der Klasse Timer abgeleitet und stellt als zusätzliche Funktionalität das automatische Neustarten des Timers zur Verfügung, sobald dieser abgelaufen ist und der Timeout-Handler gerufen wurde.

Basisklassen

Timer

_______________


AutoTimer::AutoTimer()

AutoTimer::AutoTimer();

Beschreibung

Konstruktor der Klasse AutoTimer. Ein AutoTimer führt nach einem Timeout automatisch die Methode Timer::Start() aus.

_______________


AutoTimer::AutoTimer( const AutoTimer& rTimer )
AutoTimer::AutoTimer()

AutoTimer::AutoTimer( const AutoTimer& rTimer );

Beschreibung

Copy-Konstruktor der Klasse AutoTimer.

Parameter

const AutoTimer& rTimer	Die AutoTimer-Instanz, deren Einstellungen übernommen werden sollen.

_______________


AutoTimer::operator =()

AutoTimer& AutoTimer::operator =( const AutoTimer& rTimer );

Beschreibung

Zuweisungsoperator der Klasse AutoTimer.

Parameter

const AutoTimer& rTimer	Die AutoTimer-Instanz, deren Einstellungen übernommen werden sollen.

Rückgabewert

AutoTimer&	Eine Referenz auf die AutoTimer-Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Bitmap

class Bitmap : public Resource

{

public:

Bitmap();

Bitmap( const Bitmap& rBitmap );

Bitmap( ResId& rResId );

virtual	~Bitmap();

Palette	ChangePalette( const Palette& rPal );

Palette	GetPalette() const;

Size	GetSizePixel() const;

ULONG	GetColorCount() const;

Bitmap&	operator =( const Bitmap& rBitmap );

BOOL	operator ==( const Bitmap& rBitmap ) const;

BOOL	operator !=( const Bitmap& rBitmap ) const;

friend istream&	operator>>( istream& rIStream, Bitmap& rBitmap);

friend ostream&	operator<<( ostream& rOStream, const Bitmap& rBitmap);

};

Beschreibung

Eine Bitmap ist ein Rastergrafik-Bild, das auf einem OutputDevice dargestellt werden kann. Die Daten liegen innerhalb der Bitmap in einem deviceunabhängigen Format vor und können daher auf verschiedenen OutputDevices angezeigt werden. Eine Bitmap hat keine Methoden, die Manipulationen am Aussehen der Bitmap erlauben. Veränderungen können nur auf indirektem Wege über ein OutputDevice geschehen.

Instanzen der Klasse Bitmap können problemlos einander zugewiesen oder als Parameter an Methoden übergeben werden. Für diese Aktionen stehen ein Zuweisungsoperator und ein Copy-Konstruktor zur Verfügung. Das Kopieren einer Instanz der Klasse Bitmap bedeutet keinen zusätzlichen Speicherbedarf, da die eigentlichen Daten der Bitmap von gleichen Instanzen gemeinsam benutzt werden.

Basisklassen

Resource : LinkHdl

Querverweise

VirtualDevice, OutputDevice::DrawBitmap(), Menu::InsertItem()

_______________


Bitmap::Bitmap()

Bitmap::Bitmap();

Beschreibung

Default-Konstruktor der Klasse Bitmap. Es wird eine leere Bitmap erzeugt, die später durch Zuweisung einer bereits bestehenden Bitmap gefüllt werden kann.

_______________


Bitmap::Bitmap(const Bitmap& rBitmap)
Bitmap::Bitmap()

Bitmap::Bitmap( const Bitmap& rBitmap );

Beschreibung

Copy-Konstruktor der Klasse Bitmap.

Parameter

const Bitmap& rBitmap	Referenz auf eine Bitmap.

_______________


Bitmap::Bitmap( const ResId& rResId)
Bitmap::Bitmap()

Bitmap::Bitmap( const ResId& rResId );

Beschreibung

Dieser Konstruktor lädt die Daten der Bitmap aus der Resource.

Parameter

ResId& rResId	Die Resource-ID der Bitmap.

Querverweise

Resource

_______________


Bitmap::~Bitmap()

virtual Bitmap::~Bitmap();

Beschreibung

Destruktor der Klasse Bitmap.

_______________


Bitmap::ChangePalette( const Palette& rPal )
Bitmap::ChangePalette()

Palette ChangePalette( const Palette& rPal);

Beschreibung

Diese Methode wechselt die Farbpalette der Bitmap. Vor der Ausgabe der Bitmap auf einem OuputDevice die Palette selektiert werden, um eine farbrichtige Anzeige zu ermöglichen.

Parameter

const Palette& rPal	Die neue Palette für die Bitmap.

Rückgabewert

Palette	Die vorher gesetzte Palette der Bitmap.

Querverweise

Bitmap::GetPalette(), OutputDevice::ChangePalette(), OutputDevice::GetPalette()

_______________


Bitmap::GetPalette()

Palette Bitmap::GetPalette() const;

Beschreibung

Diese Methode liefert eine Palette mit allen in der Bitmap verwendeten Farbeinträgen. Soll die Bitmap auf einem Ausgabegerät angezeigt werden, das das Wechseln von Farbpaletten unterstützt (z.B. Super VGA Grafikkarten), sollte diese Palette vor der Ausgabe der Bitmap in das OutputDevice selektiert werden.

Rückgabewert

Palette	Die in der Bitmap gesetzte Palette.

Querverweise

Bitmap::ChangePalette(), OutputDevice::ChangePalette(), OutputDevice::GetPalette()

_______________


Bitmap::GetSizePixel()

Size Bitmap::GetSizePixel() const;

Beschreibung

Die Methode gibt die Größe der Bitmap in Pixeln zurück.

Rückgabewert

Size	Die Größe der Bitmap in Pixeln.

_______________


Bitmap::GetColorCount()

ULONG Bitmap::GetColorCount() const;

Beschreibung

Die Methode gibt die Anzahl der Farben der Bitmap zurück.

Rückgabewert

ULONG	Die Anzahl der Farben.

_______________


Bitmap::operator =()

Bitmap& Bitmap::operator =( const Bitmap& rBitmap );

Beschreibung

Zuweisungsoperator der Klasse Bitmap.

Parameter

const Bitmap& rBitmap	Referenz auf eine Bitmap.

Rückgabewert

Bitmap&	Referenz auf das Zuweisungsergebnis.

_______________


Bitmap::operator ==()

BOOL Bitmap::operator ==( const Bitmap& rBitmap ) const;

Beschreibung

Vergleichsoperator der Klasse Bitmap.

Parameter

const Bitmap& rBitmap	Referenz auf eine Bitmap.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Bitmaps sind identisch.

FALSE

Die Eigenschaften der verglichenen Bitmaps sind unterschiedlich.

_______________


Bitmap::operator !=()

BOOL Bitmap::operator !=( const Bitmap& rBitmap ) const;

Beschreibung

Vergleichsoperator der Klasse Bitmap.

Parameter

const Bitmap& rBitmap	Referenz auf eine Bitmap.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Bitmaps sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Bitmaps sind identisch.

_______________


Bitmap::operator >>()

friend istream& operator >>( istream& rIStream, Bitmap& rBitmap );

Beschreibung

Eingabeoperator der Klasse Bitmap. Der Operator liest eine StarView-Bitmap aus einem Stream. Windows-Bitmaps können ohne Konvertierung direkt gelesen werden, da das StarView-Format dem Windows-Bitmap-Format entspricht.

Parameter

istream& rIStream	Der Stream, aus dem die Bitmap gelesen werden soll.

Bitmap& rBitmap	Die Bitmap, die aus dem Stream gelesen werden soll.

Rückgabewert

istream&	Eine Referenz auf den Stream.

_______________


Bitmap::operator <<()

friend ostream& operator <<( ostream& rOStream, const Bitmap& rBitmap );

Beschreibung

Ausgabeoperator der Klasse Bitmap. Der Operator gibt eine StarView-Bitmap auf einem Stream aus. Windows-Bitmaps können ohne Konvertierung direkt geschrieben werden, da das StarView-Format dem Windows-Bitmap-Format entspricht.

Parameter

ostream& rOStream	Der Stream, auf dem die Bitmap ausgegeben werden soll.

const Bitmap& rBitmap	Die Bitmap, die auf dem Stream ausgegeben werden soll.

Rückgabewert

ostream&	EineReferenz auf den Stream.

_______________


Brush

#define BRUSH_BRUSHCOLOR    0x01

#define BRUSH_FILLCOLOR     0x02

#define BRUSH_BRUSHBITMAP   0x04

#define BRUSH_SIZE          8

enum BrushStyle	{ BRUSH_NULL, BRUSH_SOLID, BRUSH_HORZ, BRUSH_VERT, BRUSH_CROSS, BRUSH_DIAGCROSS, BRUSH_UPDIAG, BRUSH_DOWNDIAG, BRUSH_25, _50, BRUSH_75, BRUSH_BITMAP };

class Brush : public Resource

{

public:

Brush();

Brush( const Brush& rBrush );

Brush( BrushStyle eStyle );

Brush( const Color& rColor,BrushStyle eStyle = BRUSH_SOLID );

Brush( const Color& rColor, const Color& rFillColor, BrushStyle eStyle );

Brush( Bitmap& rBitmap );

Brush( const ResId& rResId );

~Brush();

Color	ChangeColor( const Color& rColor );

Color	GetColor() const;

Color	ChangeFillColor( const Color& rColor );

Color	GetFillColor() const;

BrushStyle	ChangeStyle( BrushStyle eStyle );

BrushStyle	GetStyle() const;

Bitmap	ChangeBitmap( const Bitmap& rBitmap );

Bitmap	GetBitmap();

BOOL	ChangeTransparent( BOOL bTransparent );

BOOL	IsTransparent()const;

BOOL	IsHatched() const;

Brush&	operator = ( const Brush& rBrush );

BOOL	operator ==( const Brush& rBrush ) const;

BOOL	operator !=( const Brush& rBrush ) const;

};

Beschreibung

Die Klasse Brush repräsentiert eine logische Brush für Ausgabeoperationen auf einem OutputDevice. Es gibt logische Brushes mit einem vordefinierten Füllmuster oder mit einem benutzerspezifizierten Muster, das als Bitmap übergeben wird.

Instanzen der Klasse Brush können problemlos zugewiesen oder als Parameter an Methoden übergeben werden. Zu diesem Zweck existieren ein Copy-Konstruktor und ein Zuweisungsoperator. Es entsteht kein erhöhter Speicherbedarf durch ein Kopieren von Instanzen, da von ihnen derselbe Speicherplatz wie vom Original referenziert wird.

Basisklassen

Resource  :   LinkHdl

Querverweise

Pen, Font, OutputDevice, Bitmap

_______________


enum BrushStyle

enum BrushStyle	{ BRUSH_NULL, BRUSH_SOLID, BRUSH_HORZ, BRUSH_VERT, BRUSH_CROSS, BRUSH_DIAGCROSS, BRUSH_UPDIAG, BRUSH_DOWNDIAG, BRUSH_25, BRUSH_50, BRUSH_75, BRUSH_BITMAP };

Beschreibung

Die Werte des enum BrushStyle geben das Muster der Brush an.

BRUSH_NULL	Die Brush hat keine sichtbaren Auswirkungen. Mit Hilfe einer Brush dieses Stils kann das Füllen von Flächen unterdrückt werden.

BRUSH_SOLID	Die Brush füllt Flächen deckend in der Farbe der Brush.

BRUSH_HORZ	Die Brush füllt Flächen mit einem horizontalen Schraffurmuster in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_VERT	Die Brush füllt Flächen mit einem vertikalen Schraffurmuster in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_CROSS	Die Brush füllt Flächen mit einem horizontalen und vertikalen Schraffurmuster in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_DIAGCROSS	Die Brush füllt Flächen mit einem Schraffurmuster aus aufsteigenden und abfallenden Linien im 45-Grad-Winkel in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_UPDIAG	Die Brush füllt Flächen mit im Winkel von 45 Grad aufsteigenden Linien in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_DOWNDIAG	Die Brush füllt Flächen mit im Winkel von 45 Grad abfallenden Linien in der Farbe der Brush. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_25	Eine Brush, deren Muster 25% gefüllt ist. Das Muster wird mit der Farbe der Brush gezeichnet. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_50	Eine Brush, deren Muster 50% gefüllt ist. Das Muster wird mit der Farbe der Brush gezeichnet. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_75	Eine Brush, deren Muster 75% gefüllt ist. Das Muster wird mit der Farbe der Brush gezeichnet. Die Zwischenräume werden mit der Füllfarbe gefüllt, wenn die Brush nicht transparent ist.

BRUSH_BITMAP	Die Brush füllt Flächen mit dem Inhalt einer im Konstruktor übergebenen Bitmap. Es werden dabei wiederkehrend die ersten 8x8 Pixel der oberen linken Ecke der übergebenen Bitmap verwendet. Dieser Stil ist lediglich als Rückgabewert für die Methode GetStyle() vorgesehen.

_______________


Brush::Brush()

Brush::Brush();

Beschreibung

Default-Konstruktor der Klasse Brush, der eine weiße Solid-Brush erzeugt.

_______________


Brush::Brush( const Brush& rBrush)
Brush::Brush()

Brush::Brush( const Brush& rBrush );

Beschreibung

Copy-Konstruktor der Klasse Brush.

Parameter

const Brush& rBrush	Referenz auf eine Brush.

_______________


Brush::Brush(BrushStyle)
Brush::Brush()

Brush::Brush( BrushStyle eStyle );

Beschreibung

Konstruktor der Klasse Brush. Es wird eine Brush mit dem übergebenen Stil erzeugt.

Parameter

BrushStyle eStyle	Der Stil der Brush. Der Stil BRUSH_BITMAP kann nicht in diesem Konstruktor verwendet werden.

_______________


Brush::Brush(const Color, BrushStyle)
Brush::Brush()

Brush::Brush( const Color& rColor, BrushStyle eStyle=BRUSH_SOLID );

Beschreibung

Konstruktor der Klasse Brush. Es wird eine Brush mit der angegebenen Farbe und dem angegebenen Stil erzeugt. Die Füllfarbe ist weiß und bei Angabe eines Muster-Stils ist die Brush transparent.

Parameter

const Color& rColor	Die Farbe der Brush.

BrushStyle eStyle	Der Stil der Brush. Der Stil BRUSH_BITMAP kann nicht in diesem Konstruktor verwendet werden.

_______________


Brush::Brush(const Color,const Color,Style)
Brush::Brush()

Brush::Brush( const Color& rColor, const Color& rFillColor, BrushStyle eStyle );

Beschreibung

Konstruktor der Klasse Brush. Es wird eine Brush mit der angegebenen Farbe und dem angegebenen Stil erzeugt. Die Farbe und die Füllfarbe werden entsprechend der Parameter rColor und rFillColor gesetzt. Bei Angabe eines Muster-Stils werden die Zwischenräume des Musters mit der angegebenen Füllfarbe gefüllt.

Parameter

const Color rColor	Die Farbe der Brush.

const Color& rFillColor	Die Füllfarbe, mit der die Lücken innerhalb eines Musters ausgefüllt werden.

BrushStyle eStyle	Der Stil der Brush. Der Stil BRUSH_BITMAP kann nicht im Konstruktor verwendet werden.

_______________


Brush::Brush(Bitmap)
Brush::Brush()

Brush::Brush( Bitmap& rBitmap );

Beschreibung

Die Methode erzeugt eine logische Brush mit einem in rBitmap spezifizierten Muster. Der Stil der Brush wird auf BRUSH_BITMAP gesetzt.

Parameter

Bitmap& rBitmap	Die Bitmap, deren Inhalt als Muster für die Brush verwendet werden soll.

Anmerkungen

Es wird der Bereich von 8x8 Pixeln der linken oberen Ecke der Bitmap benutzt. Ist die angegebene Bitmap größer, so wird der restliche Bereich nicht beachtet. Die Bitmap darf nicht kleiner als 8x8 Pixel sein.

_______________


Brush::Brush(const ResId& rResId)
Brush::Brush()

Brush::Brush( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Brush. Die Methode erzeugt eine Brush aus der Resource.

Parameter

const ResId& rResId	Die ID der Brush in der Resource.

Querverweise

Resource

_______________


Brush::~Brush()

Brush::~Brush();

Beschreibung

Destruktor der Klasse Brush.

_______________


Brush::ChangeColor()

Color Brush::ChangeColor( const Color& rColor );

Beschreibung

Die Methode ändert die Farbe der Brush und gibt die alte Farbe zurück.

Parameter

const Color& rColor	Die neue Farbe der Brush.

Rückgabewert

Color	Die alte Farbe der Brush.

_______________


Brush::GetColor()

Color Brush::GetColor() const;

Beschreibung

Die Methode liefert die Farbe der Brush zurück.

Rückgabewert

Color	Die Farbe der Brush.

_______________


Brush::ChangeFillColor()

Color Brush::ChangeFillColor( const Color& rColor );

Beschreibung

Die Methode ändert die Füllfarbe der Brush und gibt die alte Füllfarbe zurück. Mit der Füllfarbe werden die Zwischenräume einer Muster-Brush gefüllt, wenn die Brush nicht transparent ist.

Parameter

const Color& rColor	Die neue Füllfarbe der Brush.

Rückgabewert

Color	Die alte Füllfarbe der Brush.

Querverweise

Brush::ChangeTransparent()

_______________


Brush::GetFillColor()

Color Brush::GetFillColor() const;

Beschreibung

Die Methode liefert die Füllfarbe der Brush zurück.

Rückgabewert

Color	Die Füllfarbe der Brush.

_______________


Brush::ChangeStyle()

BrushStyle Brush::ChangeStyle( BrushStyle eStyle );

Beschreibung

Die Methode ändert den Stil der Brush und gibt den alten Stil zurück.

Parameter

BrushStyle eStyle	Der neue Stil der Brush.

Rückgabewert

BrushStyle	Der alte Stil der Brush.

_______________


Brush::GetStyle()

BrushStyle Brush::GetStyle() const;

Beschreibung

Die Methode liefert den Stil der Brush zurück.

Rückgabewert

BrushStyle	Der Stil der Brush.

_______________


Brush::ChangeBitmap()

Bitmap Brush::ChangeBitmap( const Bitmap& rBitmap );

Beschreibung

Die Methode setzt eine Bitmap in die Brush. Der Stil der Brush wird auf BRUSH_BITMAP gesetzt.

Parameter

const Bitmap& rBitmap	Die Bitmap, deren Inhalt als Muster für die Brush verwendet werden soll.

Rückgabewert

Bitmap	Die Bitmap der Brush, die vorher gesetzt war. Hatte die Brush vorher nicht den Stil BRUSH_BITMAP, wird eine leere Bitmap zurückgegeben.

Anmerkungen

Es wird der Bereich von 8x8 Pixeln der linken oberen Ecke der Bitmap benutzt. Ist die angegebene Bitmap größer, so wird der restliche Bereich nicht beachtet. Die Bitmap darf nicht kleiner als 8x8 Pixel sein.

Querverweise

Bitmap, Brush::GetBitmap()

_______________


Brush::GetBitmap()

Bitmap Brush::GetBitmap();

Beschreibung

Die Methode liefert die Bitmap der Brush zurück.

Rückgabewert

Bitmap	Die Bitmap der Brush. Hat die Brush nicht den Stil BRUSH_BITMAP, wird eine leere Bitmap zurückgegeben.

_______________


Brush::ChangeTransparent()

HrOL Brush::ChangeTransparent( BOOL bTransparent );

Beschreibung

Die Methode ändert die Verwendung der Füllfarbe beim Zeichnen mit der Brush. Bei transparenten Brushes wird die Füllfarbe beim Zeichnen nicht verwendet. Ist der Stil der Brush BRUSH_SOLID oder BRUSH_NULL, hat der Aufruf keine Wirkung.

Parameter

BOOL bTransparent	Der neue Wert für Transparenz.

Rückgabewert

BOOL	Der alte Wert für Transparenz.

Querverweise

Brush::ChangeFillColor()

_______________


Brush::IsTransparent()

BOOL Brush::IsTransparent() const;

Beschreibung

Der Rückgabewert dieser Methode gibt an, ob die Füllfarbe der Brush beim Zeichnen verwendet wird oder nicht.

Eine Brush mit dem Stil BRUSH_NULL ist immer transparent, während eine Brush mit dem Stil BRUSH_SOLID nie transparent ist.

Rückgabewert

BOOL	FALSE

Die Brush ist nicht transparent; die Füllfarbe wird beim Zeichnen verwendet.

TRUE

Die Brush ist transparent; die Füllfarbe wird beim Zeichnen nicht verwendet.

_______________


Brush::IsHatched()

BOOL Brush::IsHatched() const;

Beschreibung

Die Methode gibt an, ob die Brush einen Muster-Stil besitzt.

Rückgabewert

BOOL	TRUE

Die Brush besitzt einen Muster-Stil.

FALSE

Die Brush besitzt den Stil BRUSH_NULL oder BRUSH_SOLID.

Querverweise

BrushStyle

_______________


Brush::operator =()

Brush& Brush::operator =( const Brush& rBrush );

Beschreibung

Zuweisungsoperator der Klasse Brush.

Parameter

const Brush& rBrush	Referenz auf eine Brush.

Rückgabewert

Brush&	Referenz auf das Ergebnis der Zuweisung.

_______________


Brush::operator ==()

BOOL Brush::operator ==( const Brush& rBrush ) const;

Beschreibung

Vergleichsoperator der Klasse Brush.

Parameter

const Brush& rBrush	Referenz auf eine Brush.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Brushes sind identisch.

FALSE

Die Eigenschaften der verglichenen Brushes sind unterschiedlich.

_______________


Brush::operator !=()

BOOL Brush::operator !=( const Brush& rBrush ) const;

Beschreibung

Vergleichsoperator der Klasse Brush.

Parameter

const Brush& rBrush	Referenz auf eine Brush.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Brushes sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Brushes sind identisch.

_______________


Button

class Button : public Control

{

protected:

virtual void	Click();

public:

Button( Window* pParent, WinBits nWinStyle = 0 );

Button( Window* pParent, const ResId& rResId );

virtual	~Button();

Link	ChangeClickHdl( const Link& rLink );

Link	GetClickHdl() const;

};

Beschreibung

Diese Klasse ist die Basisklasse für alle Buttons. Buttons sind Bedienelemente, die über einen Mausklick eine Aktion auslösen oder einen Status setzen. In dieser Klasse ist auch der Handler-Mechanismus für alle abgeleiteten Klassen implementiert.

Für eigene Buttons können Klassen von Button abgeleitet werden. Dabei wird das Setzen und Abfragen des Handlers unterstützt. Der Click-Handler muß von der abgeleiteten Klasse gerufen werden, damit auch Buttons implementiert werden können, bei denen nicht das ganze Control die Klickfläche ist.

Basisklassen

Control  : Window : OutputDevice : Resource : LinkHdl

Querverweise

PushButton, RadioButton, CheckBox

_______________


Button::Click()

virtual void Button::Click();

Beschreibung

Dieser Handler ist der Event-Handler für alle Buttons. Er wird immer dann aufgerufen, wenn ein Button angeklickt wurde. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

Button::ChangeClickHdl()

_______________


Button::Button()

Button::Button( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse Button. Über diesen Konstruktor ist es möglich, eigene Buttons zu implementieren.

Parameter

Window* pParent	Der Parent des Buttons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

WB_SVLOOK

Der Button und dessen Child-Fenster erscheinen im StarView-Look. Wird das Flag nicht übergeben, wird es durch den Parent gesetzt, wenn dieser das Flag WB_SVLOOK übergeben bekommen hat.

Querverweise

Application::EnableSVLook()

_______________


Button::Button(const ResId& rResId)
Button::Button()

Button::Button( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Button. Über diesen Konstruktor ist es möglich, eigene Buttons zu implementieren.

Parameter

Window* pParent	Der Parent des Buttons.

const ResId& rResId	Die ID des Buttons in der Resource.

Querverweise

Resource

_______________


Button::~Button()

virtual Button::~Button();

Beschreibung

Destruktor der Klasse Button.

_______________


Button::ChangeClickHdl()

Link Button::ChangeClickHdl( const Link& rLink );

Beschreibung

Mit dieser Methode wird einem Button eine Referenz auf einen Handler übergeben. Hat ein Button den Status "enabled" (siehe Window) und erhält einen Mausklick, wird der Handler aufgerufen.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer den Button klickt. Als Parameter erhält der Handler einen Zeiger auf den geklickten Button.

Prototyp des Handlers:

void MyClass::Click( Button* pButton );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link

_______________


Button::GetClickHdl()

Link Button::GetClickHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Button geklickt wird.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


CheckBox

class CheckBox : public Button

{

public:

CheckBox( Window* pParent, WinBits nWinStyle = 0 );

CheckBox( Window* pParent, const ResId& rResId );

void	Check( BOOL bCheck = TRUE );

BOOL	IsChecked() const;

};

Beschreibung

Die Klasse CheckBox wird eingesetzt, wenn ein Control einen Status anzeigen soll. Wenn die CheckBox betätigt wird, wird der Click-Handler der Klasse Button gerufen. Der An/Aus-Status wird automatisch umgeschaltet und kann mit der Methode IsChecked() abgefragt werden. Wenn der Click-Handler gerufen wird, ist der neue Status bereits gesetzt.

Basisklassen

Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


CheckBox::CheckBox( Window* pParent, WinBits nWinStyle = 0 )
CheckBox::CheckBox()

CheckBox::CheckBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse CheckBox.

Parameter

Window* pParent	Der Parent der CheckBox.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


CheckBox::CheckBox( Window* pParent, const ResId& rResId )
CheckBox::CheckBox()

CheckBox::CheckBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse CheckBox.

Parameter

Window* pParent	Der Parent der CheckBox.

const ResId& rResId	Die ID der CheckBox in der Resource.

Querverweise

Resource

_______________


void CheckBox::Check( BOOL bCheck = TRUE )
CheckBox::Check()

void CheckBox::Check( BOOL bCheck = TRUE );

Beschreibung

Durch Aufruf dieser Methode wird die Markierung der CheckBox an- oder ausgeschaltet.

Parameter

BOOL bCheck	TRUE

Die Markierung wird angeschaltet.

FALSE

Die Markierung wird ausgeschaltet.

_______________


BOOL CheckBox::IsChecked() const
CheckBox::IsChecked()

BOOL CheckBox::IsChecked() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob die Markierung der CheckBox an- oder ausgeschaltet ist.

Rückgabewert

BOOL	TRUE

Die Markierung ist angeschaltet.

FALSE

Die Markierung ist ausgeschaltet.

_______________


Clipboard

class Clipboard : public Exchange

{

protected:

virtual void	Cleared();

public:

Clipboard();

~Clipboard();

static void	Clear();

static BOOL	CopyString( const String& rStr );

static BOOL	CopyBitmap( const Bitmap& rBitmap );

static BOOL	CopyGDIMetaFile(const GDIMetaFile& rGDIMetaFile);

static BOOL	CopyPrivateData( void* pData );

static BOOL	CopyData( const void* pData, ULONG nLen, ULONG nFormat, USHORT nTypeLen = 8 );

static BOOL	CopyRequest( ULONG nFormat );

static String	PasteString();

static Bitmap	PasteBitmap();

static BOOL	PasteGDIMetaFile( GDIMetaFile& rGDIMetaFile );

static void*	PastePrivateData();

static BOOL	PasteData(void* pBuf,ULONG nLen, ULONG nFormat);

static ULONG	GetDataLen( ULONG nFormat );

static USHORT	GetFormatCount();

static ULONG	GetFormat( USHORT nPos );

static BOOL	HasFormat( ULONG nFormat );

static ULONG	GetRequestFormat();

Link	ChangeClearedHdl( const Link& rLink );

Link	GetClearedHdl() const;

};

Beschreibung

Das Clipboard stellt eine standardisierte Möglichkeit der Basisfenstersysteme zum Datenaustausch zwischen verschiedenen Applikationen oder innerhalb einer Applikation auf einem Rechner dar.

Das Clipboard ist das Transportmedium für die Benutzerinteraktionen Cut, Copy und Paste. Die Interaktionen Cut und Copy stellen Daten in das Clipboard hinein, Paste-Aktionen holen eine Kopie der im Clipboard vorhandenen Daten heraus. Im Clipboard kann jeweils nur ein Datenobjekt zur Zeit zur Verfügung stehen, das allerdings in mehreren Formaten vorliegen kann.

Applikationen sollten ohne direkte Benutzerinteraktionen keine Daten in das Clipboard stellen oder aus dem Clipboard herauskopieren. Der Benutzer muß sichergehen können, daß die Daten, die er mit Cut oder Copy in das Clipboard gestellt hat, dort solange erhalten bleiben, bis diese durch ein erneutes Cut oder Copy überschrieben werden.

Über das einfache Hineinkopieren in das Clipboard hinaus stellt die Klasse Clipboard einen Mechanismus zur Verfügung, bei dem die Daten erst in das Clipboard gestellt werden, wenn eine Applikation versucht, diese herauszukopieren (delayed rendering).

Basisklassen

Exchange

Querverweise

String, Bitmap, Link

_______________


Clipboard::Cleared()

virtual void Clipboard::Cleared();

Beschreibung

Diese Methode ist ein Handler, der von StarView gerufen wird, wenn das Clipboard geleert wurde. Dies ist auch der Fall, wenn die Methode Clear() gerufen wurde.

Falls der Handler nicht überladen wurde, wird der mit Hilfe der Methode ChangeClearedHdl() gesetzte Link aufgerufen. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Ist kein Link gesetzt worden, wird keine Aktion ausgelöst. Gibt es mehrere Instanzen von Clipboard, so wird der Cleared-Handler aller Instanzen gerufen. In diesem Handler können die Daten zu den Verweisen gelöscht werden.

Querverweise

Clipboard::ChangeClearedHdl()

_______________


Clipboard::Clipboard()

Clipboard::Clipboard();

Beschreibung

Konstruktor der Klasse Clipboard.

_______________


Clipboard::Clipboard
Clipboard::~Clipboard()

Clipboard::~Clipboard();

Beschreibung

Destruktor der Klasse Clipboard.

_______________


Clipboard::Clear()

static void Clipboard::Clear();

Beschreibung

Durch Aufruf dieser Methode werden alle Daten, die sich zur Zeit im Clipboard befinden, gelöscht.

_______________


Clipboard::CopyString()

static BOOL Clipboard::CopyString( const String& rStr );

Beschreibung

Mit Hilfe dieser Methode wird der übergebene String in das Clipboard kopiert. Es wird das Format FORMAT_STRING benutzt. Bevor neue Daten in das Clipboard gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

const String& rStr	Der String, der in das Clipboard kopiert werden soll.

Rückgabewert

BOOL	TRUE

Der String wurde in das Clipboard kopiert.

FALSE

Der String konnte nicht in das Clipboard kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::CopyBitmap()

static BOOL Clipboard::CopyBitmap( const Bitmap& rBitmap );

Beschreibung

Mit Hilfe dieser Methode wird die übergebene Bitmap in das Clipboard kopiert. Es wird das Format FORMAT_BITMAP benutzt. Bevor neue Daten in das Clipboard gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

const Bitmap& rBitmap	Die Bitmap, die in das Clipboard kopiert werden soll.

Rückgabewert

BOOL	TRUE

Die Bitmap wurde in das Clipboard kopiert.

FALSE

Die Bitmap konnte nicht in das Clipboard kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::CopyGDIMetaFile()

static BOOL Clipboard::CopyGDIMetaFile( const GDIMetaFile& rGDIMetaFile );

Beschreibung

Mit Hilfe dieser Methode wird das übergebene GDIMetaFile in das Clipboard kopiert. Es wird das Format FORMAT_GDIMETAFILE benutzt und eine Konvertierung in das jeweils systemabhängige MetaFile-Format vorgenommen. Bevor neue Daten in das Clipboard gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

const GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, das in das Clipboard kopiert werden soll.

Rückgabewert

BOOL	TRUE

Das GDIMetaFile wurde in das Clipboard kopiert.

FALSE

Das GDIMetaFile konnte nicht in das Clipboard kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::CopyPrivateData()

static BOOL Clipboard::CopyPrivateData( void* pData );

Beschreibung

Mit Hilfe dieser Methode werden die übergebenen Daten in das Clipboard kopiert. Es wird das Format FORMAT_PRIVATE benutzt. Mit dieser Methode können Daten kopiert werden, die nur in der eigenen Applikation eingefügt werden können. Private Daten werden nicht über das System-Clipboard kopiert, daher ist diese Methode sehr schnell.

Bevor neue Daten in das Clipboard gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

void* pData	Die Daten, die in das Clipboard kopiert werden sollen.

Rückgabewert

BOOL	TRUE

Die Daten wurden in das Clipboard kopiert.

FALSE

Die Daten konnten nicht in das Clipboard kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::CopyData()

static BOOL Clipboard::CopyData( const void* pData, ULONG nLen, ULONG nFormat, USHORT nTypeLen =8);

Beschreibung

Mit Hilfe dieser Methode werden die übergebenen Daten in das Clipboard kopiert. Es wird das übergebene eigene Datenformat benutzt. Das verwendete Datenformat muß vor der Benutzung mit Hilfe der Methode Exchange::RegisterFormatName() registriert worden sein. Falls neue Daten in das Clipboard gestellt werden, sollten vorher die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

const void* pData	Der Zeiger auf die Daten, die in das Clipboard kopiert werden sollen.

ULONG nLen	Die Länge der zu kopierenden Daten in Bytes.

ULONG nFormat	Die ID des privaten Datenformats. IDs für eigene Datenformate werden mit Hilfe der Methode RegisterFormatName() ermittelt.

USHORT nTypeLen	Dieser Wert gibt die Länge des Datentypes in Bits an. Falls die Daten aus Short- oder Long-Arrays bestehen, werden durch diesen Datentyp die Daten automatisch gedreht, falls die Daten über verschiedene Maschinen ausgetauscht werden, die anderes Alignment besitzen.

Rückgabewert

BOOL	TRUE

Die Daten wurden in das Clipboard kopiert.

FALSE

Die Daten wurden nicht in das Clipboard kopiert, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

Clipboard::CopyRequest(), Exchange::RegisterFormatName()

_______________


Clipboard::CopyRequest()

static BOOL Clipboard::CopyRequest( ULONG nFormat );

Beschreibung

Mit Hilfe dieser Methode wird ein Verweis auf ein Datenformat in das Clipboard gestellt. Der Verweis gibt an, in welchem Format Daten verfügbar sind, ohne daß diese selbst in das Clipboard kopiert werden. Dies ist ein Verfahren (delayed rendering), das es erlaubt, große Datenobjekte (z.B. Bitmaps) erst in das Clipboard zu kopieren, wenn diese von einer Applikation angefordert werden. Das Clipboard ruft in diesem Fall den Request-Handler. Die Applikation muß als Reaktion darauf mit der entsprechenden Copy-Methode die Daten im gewünschten Format in das Clipboard kopieren. Bevor neue Daten in das Clipboard gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in das Clipboard zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in das Clipboard gestellt werden.

Parameter

ULONG nFormat	Die ID des Datenformats, in dem Daten zur Verfügung stehen. IDs für eigene Datenformate werden mit Hilfe der Methode Exchange::RegisterFormatName() ermittelt.

Rückgabewert

BOOL	TRUE

Der Verweis wurde in das Clipboard kopiert.

FALSE

Der Verweis wurde nicht in das Clipboard kopiert.

Querverweise

Exchange::RegisterFormatName()

_______________


Clipboard::PasteString()

static String Clipboard::PasteString();

Beschreibung

Diese Methode gibt eine Kopie des Strings im Clipboard zurück. Stehen zur Zeit im Clipboard keine Daten im Format FORMAT_STRING zur Verfügung, so wird ein leerer String zurückgegeben.

Rückgabewert

String	Eine Kopie des Strings im Clipboard. Steht im Clipboard kein String zur Verfügung, wird ein leerer String zurückgegeben.

Querverweise

Clipboard::GetFormat(), Clipboard::HasFormat()

_______________


Clipboard::PasteBitmap()

static Bitmap Clipboard::PasteBitmap();

Beschreibung

Diese Methode gibt eine Kopie der Bitmap im Clipboard zurück. Stehen zur Zeit im Clipboard keine Daten im Format FORMAT_BITMAP zur Verfügung, so wird eine leere Bitmap zurückgegeben.

Rückgabewert

Bitmap	Eine Kopie der Bitmap im Clipboard. Steht im Clipboard keine Bitmap zur Verfügung, wird eine leere Bitmap zurückgegeben.

Querverweise

Clipboard::GetFormat(), Clipboard::HasFormat()

_______________


Clipboard::PasteGDIMetaFile()

static BOOL Clipboard::PasteGDIMetaFile(GDIMetaFile& rGDIMetaFile);

Beschreibung

Diese Methode gibt eine Kopie des GDIMetaFiles im Clipboard zurück. Stehen zur Zeit im Clipboard keine Daten im Format FORMAT_GDIMETAFILE zur Verfügung, so wird ein leeres GDIMetaFile zurückgegeben.

Parameter

GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, in das die Daten des GDIMetaFiles aus dem Clipboard kopiert werden sollen.

Rückgabewert

BOOL	TRUE

Das GDIMetaFile wurde aus dem Clipboard kopiert.

FALSE

Es standen keine Daten im angegebenen Format zur Verfügung.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::PastePrivateDate()
Clipboard::PastePrivateData()

void* Clipboard::PastePrivateData();

Beschreibung

Diese Methode gibt eine Kopie der privaten Daten im Clipboard zurück. Stehen zur Zeit im Clipboard keine Daten im Format FORMAT_PRIVATE zur Verfügung, so wird ein NULL-Pointer zurückgegeben.

Rückgabewert

void*	Ein Zeiger auf die kopierten Daten.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::PasteData()

static BOOL Clipboard::PasteData( void* pBuf, ULONG nLen, ULONG nFormat );

Beschreibung

Diese Methode kopiert die Daten zum Format nFormat in den übergebenen Puffer pBuf. Stehen zur Zeit keine Daten mit der Format-ID nFormat im Clipboard zur Verfügung, wird FALSE zurückgegeben, und es werden keine Daten kopiert.

Parameter

void* pBuf	Der Zeiger auf den Puffer, in den die Daten kopiert werden sollen.

ULONG nLen	Die Länge des Puffers, in den die Daten kopiert werden sollen. Die minimale Länge des benötigten Puffers kann mit Hilfe der Methode GetDataLen() ermittelt werden. Sind die Daten größer als nLen, werden die Daten abgeschnitten.

ULONG nFormat	Die ID des Datenformats, zu dem die Daten gewünscht werden.

Rückgabewert

BOOL	TRUE

Die Daten wurden erfolgreich kopiert.

FALSE

Es standen keine Daten im übergebenen Format zur Verfügung.

Querverweise

Clipboard::GetDataLen(), Clipboard::GetFormat(), Clipboard::HasFormat()

_______________________


Clipboard::GetDataLen()

static ULONG Clipboard::GetDataLen( ULONG nFormat );

Beschreibung

Diese Methode gibt die Länge des Puffers zurück, der benötigt wird, um die Daten im Format nFormat aus dem Clipboard zu kopieren.

Parameter

ULONG nFormat	Die ID des Datenformats, zu dem die benötigte Puffergröße ermittelt werden soll.

Rückgabewert

ULONG	Die Länge des benötigten Puffers oder 0, wenn das angegebene Datenformat nicht im Clipboard zur Verfügung steht.

Querverweise

Clipboard::PasteData(), Clipboard::GetFormat(), Clipboard::HasFormat()

_______________


Clipboard::GetFormatCount()

static USHORT Clipboard::GetFormatCount();

Beschreibung

Diese Methode gibt die Anzahl der momentan im Clipboard zur Verfügung stehenden Datenformate zurück. Der Rückgabewert kann dazu verwendet werden, die IDs der einzelnen Datenformate mit Hilfe der Methode GetFormat() abzufragen.

Rückgabewert

USHORT	Die Anzahl der Datenformate, die momentan im Clipboard zur Verfügung stehen, oder 0, wenn sich keine Daten im Clipboard befinden.

Querverweise

Clipboard::GetFormat()

_______________


Clipboard::GetFormat()

static ULONG Clipboard::GetFormat( USHORT nPos );

Beschreibung

Diese Methode gibt die ID des Datenformats, das an der Stelle nPos steht, zurück. Mit GetFormat() werden nicht die im Clipboard registrierten Formate abgefragt, sondern die Formate, in denen Daten im Clipboard zur Verfügung stehen. Das Format, das als erstes in das Clipboard kopiert wurde, hat die höchste Priorität und befindet sich an der Position 0.

Parameter

USHORT nPos	Die Position, von der das Datenformat ermittelt werden soll.

Rückgabewert

ULONG	Das Datenformat, das sich an der übergebenen Position befindet, oder 0, wenn die Position ungültig ist.

Beispiel

...

// Anzahl der Format-IDs im Clipboard abfragen.USHORT nCount = Clipboard::GetFormatCount();

USHORT i;

for( i=0; i < nCount; i++ )

{

if( Clipboard::GetFormat( i ) == nWantedFormat )

{

...

}

}

...

Querverweise

Clipboard::GetFormatCount()

_______________


Clipboard::HasFormat()

static BOOL Clipboard::HasFormat( ULONG nFormat );

Beschreibung

Mit Hilfe dieser Methode kann ermittelt werden, ob momentan Daten zum Format nFormat im Clipboard zur Verfügung stehen. Diese Methode kann z. B. dafür verwendet werden, im Activate-Handler vom Menu den Menu-Punkt Paste zu disabeln, wenn sich keine Daten in den unterstützten Formaten im Clipboard befinden.

Parameter

ULONG nFormat	Die ID des gesuchten Datenformats.

Rückgabewert

BOOL	TRUE

Das gesuchte Datenformat steht momentan im Clipboard zur Verfügung.

FALSE

Das gesuchte Datenformat steht zur Zeit im Clipboard nicht zur Verfügung.

Querverweise

Clipboard::GetFormatCount(), Clipboard::GetFormat()

_______________


Clipboard::GetRequestFormat()

static ULONG Clipboard::GetRequestFormat();

Beschreibung

Über diese Methode wird das Format der angeforderten Daten, zu denen vorher nur ein Verweis in das Clipboard gestellt wurde, abgefragt.

Rückgabewert

ULONG	Die ID des angeforderten Datenformats oder 0, wenn keine Daten angefordert wurden.

Querverweise

Clipboard::CopyRequest()

_______________


Clipboard::ChangeClearHdl()
Clipboard::ChangeClearedHdl()

Link Clipboard::ChangeClearedHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen Cleared-Handler, der aufgerufen wird, wenn das Clipboard geleert wurde. Der Cleared-Handler wird ebenfalls aufgerufen, wenn die Methode Clear() aufgerufen wurde.

Parameter

const Link& rLink	Ein Link auf den neuen Cleared-Handler, der beim Löschen des Clipboards aufgerufen wird.

Prototyp des Cleared-Handlers:

void MyClass::ClipboardCleared( Clipboard* pClip );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link mit dem alten Cleared-Handler.

Querverweise

Link, Clipboard::Cleared(), Clipboard::GetClearedHdl(), Clipboard::Clear()

_______________


Clipboard::GetCleareHdl()
Clipboard::GetClearedHdl()

Link Clipboard::GetClearedHdl() const;

Beschreibung

Diese Methode gibt einen Link mit dem zur Zeit gesetzten Cleared-Handler zurück, der gerufen wird, wenn das Clipboard geleert wurde.

Rückgabewert

Link	Ein Link mit dem aktuellen Cleared-Handler.

_______________


CancelButton

class CancelButton : public PushButton

{

protected:

virtual void	Click();

public:

CancelButton( Window* pParent, WinBits nWinStyle = 0 );

CancelButton( Window* pParent, const ResId& rResId);

};

Beschreibung

Die Klasse CancelButton wird eingesetzt, wenn über einen PushButton ein Dialog beendet werden soll und die Werte nicht übernommen werden sollen. Der CancelButton erhält als Voreinstellung je nach im System eingestellter Sprache automatisch den richtigen Text. Der Click-Handler prüft, ob es sich beim Parent um einen Dialog handelt und ob kein Link gesetzt ist. Wenn dies der Fall ist, wird der Dialog mit ModalDialog::EndDialog() beeendet oder der Close-Handler vom Parent gerufen. Dieses Default-Verhalten erspart in vielen Fällen das Setzen eines Links. Auf Systemen, bei denen ein Dialog durch eine Taste (z.B. ESC) oder über ein System-Menu abgebrochen werden kann, wird der Click-Handler des CancelButtons gerufen.

Es ist darauf zu achten, daß nicht zwei CancelButtons den gleichen Parent besitzen.

Basisklassen

PushButton : Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


CancelButton::Click()

virtual void CancelButton::Click();

Beschreibung

Dieser Handler wird in dieser Klasse überladen und ruft den mit Button::ChangeClickHdl() eingestellten Handler. Falls kein Handler eingestellt wurde, wird die Methode ModalDialog::EndDialog() vom Parent mit dem Parameter FALSE aufgerufen, wenn es sich beim Parent um einen modalen Dialog handelt. Falls der Parent ein ModelessDialog ist oder ein WorkWindow, wird der Close-Handler vom Parent gerufen.

Querverweise

ModalDialog::EndDialog(), SystemWindow::Close()

_______________


CancelButton::CancelButton()

CancelButton::CancelButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse CancelButton.

Parameter

Window* pParent	Der Parent des CancelButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_DEFBUTTON

Bei dem Button handelt es sich um den Default-PushButton, der z.B. durch die Eingabetaste aktiviert wird. Bei PushButtons, die den gleichen Parent besitzen, darf nur bei einem PushButton dieses Stylebit gesetzt werden.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


CancelButton::CancelButton(const ResId& rResId)
CancelButton::CancelButton()

CancelButton::CancelButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse CancelButton.

Parameter

Window* pParent	Der Parent des CancelButtons.

const ResId& rResId	Die ID des CancelButtons in der Resource.

Querverweise

Resource

_______________


Color

enum ColorName	{ COL_BLACK, COL_BLUE, COL_GREEN, COL_CYAN, COL_RED, COL_MAGENTA, COL_BROWN, COL_GRAY, COL_LIGHTGRAY, COL_LIGHTBLUE, COL_LIGHTGREEN, COL_LIGHTCYAN, COL_LIGHTRED, COL_LIGHTMAGENTA, COL_YELLOW, COLOR_WHITE, COL_MENUBAR, COL_MENUBARTEXT, COL_POPUPMENU, COL_POPUPMENUTEXT, COL_WINDOWTEXT, COL_WINDOWWORKSPACE, COL_HIGHLIGHT, COL_, COL_3DTEXT, COL_3DFACE, COL_3DLIGHT, COL_3DSHADOW, COL_USER };

class Color : public Resource

{

public:

Color();

Color( ColorName eColorName );

Color( USHORT nRed, USHORT nGreen, USHORT nBlue );

Color( ResId& rResId );

USHORT	ChangeRed( USHORT nRed );

USHORT	GetRed() const;

USHORT	ChangeGreen( USHORT nGreen );

USHORT	GetGreen() const;

USHORT	ChangeBlue( USHORT nBlue );

USHORT	GetBlue() const;

ColorName	ChangeColorName( ColorName eColorName );

ColorName	GetColorName() const;

BOOL	operator ==( const Color& rColor ) const;

BOOL	operator !=( const Color& rColor ) const;

};

Beschreibung

Die Klasse Color repräsentiert eine allgemeine Farbe im RGB-Farbmodell. Dabei entspricht Color( 0, 0, 0 ) der Farbe Schwarz und Color( 65535, 65535, 65535 ) der Farbe Weiß.

Zusätzlich zu den Werten für Rot, Grün und Blau wird innerhalb einer Instanz der Klasse Color die Angabe gespeichert, wie die RGB-Werte zustandegekommen sind. Diese Angabe entspricht einem Wert aus dem enum ColorName. Es stehen Werte für häufig verwendete Grundfarben (COL_BLACK bis COL_WHITE), systemabhängige Werte (COL_MENUBAR bis COL_HIGHLIGHTTEXT), Farben für 3D-Zeichnungen (COL_3DTEXT bis COL_3DSHADOW) und ein Wert für benutzerspezifische RGB-Farben (COL_USER) zur Verfügung.

Systemabhängige Farben (COL_MENUBAR bis COL_HIGHLIGHTTEXT) geben nach einer Änderung der Systemfarben im Basisfenstersystem automatisch die neuen RGB-Werte zurück.

Anmerkungen

Die meisten der derzeit verfügbaren Grafikkarten unterstützen nicht den vollen Farbumfang der Klasse Color. Unter Windows wird zum Beispiel mit 24-Bit-Farbwerten (Rot, Grün und Blau jeweils von 0-255) gearbeitet. In diesem Fall wird nur das höherwertige Byte der RGB-Werte verwendet.

Basisklassen

Resource : LinkHdl

Querverweise

OutputDevice, Pen, Brush

_______________

enum ColorName

enum ColorName	{ COL_BLACK, COL_BLUE, COL_GREEN, COL_CYAN, COL_RED, COL_MAGENTA, COL_BROWN, COL_GRAY, COL_LIGHTGRAY, COL_LIGHTBLUE, COL_LIGHTGREEN, COL_LIGHTCYAN, COL_LIGHTRED, COL_LIGHTMAGENTA, COL_YELLOW, COL_WHITE, COL_MENUBAR,COL_MENUBARTEXT, COL_POPUPMENU, COL_POPUPMENUTEXT, COL_WINDOWTEXT, COL_WINDOWWORKSPACE, COL_HIGHLIGHT, COL_HIGHLIGHTTEXT, COL_3DTEXT, COL_3DFACE, COL_3DLIGHT, COL_3DSHADOW, COL_USER };

Die nachfolgenden Werte definieren die 16 Grundfarben.

COL_BLACK	Entspricht Color( 0, 0, 0 ).

COL_BLUE	Entspricht Color( 0, 0, 32767 ).

COL_GREEN	Entspricht Color( 0, 32767, 0 ).

COL_CYAN	Entspricht Color( 0, 32767, 32767 ).

COL_RED	Entspricht Color( 32767, 0, 0 ).

COL_MAGENTA	Entspricht Color( 32767, 0, 32767 ).

COL_BROWN	Entspricht Color( 32767, 32767, 0 ).

COL_GRAY	Entspricht Color( 32767, 32767, 32767 ).

COL_LIGHTGRAY	Entspricht Color( 49151, 49151, 49151 );

COL_LIGHTBLUE	Entspricht Color( 0, 0, 65535 ).

COL_LIGHTGREEN	Entspricht Color( 0, 65535, 0 ).

COL_LIGHTCYAN	Entspricht Color( 0, 65535, 65535 ).

COL_LIGHTRED	Entspricht Color( 65535, 0, 0 ).

COL_LIGHTMAGENTA	Entspricht Color( 65535, 0, 65535 ).

COL_YELLOW	Entspricht Color( 65535, 65535, 0 ).

COL_WHITE	Entspricht Color( 65535, 65535, 65535 ).

Die nachfolgenden Werte definieren Farbwerte, die bestimmte Einstellungen des Fenstersystems repräsentieren. Eine Änderung der Einstellungen des Fenstersystems bewirkt eine automatische Änderung der RGB-Werte von bereits erzeugten Instanzen der Klasse Color.

COL_MENUBAR	Die Farbe des MenuBars.

COL_MENUBARTEXT	Die Textfarbe im MenuBar.

COL_POPUPMENU	Die Farbe der PopupMenus.

COL_POPUPMENUTEXT	Die Textfarbe der PopupMenus.

COL_WINDOWTEXT	Die Farbe des Textes in einem Window.

COL_WINDOWWORKSPACE	Die Hintergrundfarbe eines Windows.

COL_HIGHLIGHT	Die Hintergrundfarbe eines hervorgehobenen Textes.

COL_HIGHLIGHTTEXT	Die Textfarbe eines hervorgehobenen Textes.

Die nachfolgenden Werte definieren Farbwerte, die für 3D-Zeichnungen verwendet werden können, um z. B. plastische Statuszeilen, Buttons und Controls zu programmieren. Es werden entweder die Buttonfarben benutzt oder vordefinierte Werte von StarView, die bei Monochrom-Schirmen umgesetzt werden.

COL_3DTEXT	Die Farbe des Textes für 3D-Zeichnungen.

COL_3DFACE	Die Farbe des Hintergrunds für 3D-Zeichnungen.

COL_3DLIGHT	Die Farbe der Sonnenseite für 3D-Zeichnungen.

COL_3SHADOW	Die Farbe der Schattenseite für 3D-Zeichnungen.

Der nachfolgende Wert wird verwendet, wenn die aktuelle Farbe über RGB-Werte festgelegt wird.

COL_USER	Die Farbe wurde mit Hilfe von RGB-Werten definiert.

_______________


Color::Color()

Color::Color();

Beschreibung

Default-Konstruktor der Klasse Color. Es wird eine Instanz mit dem ColorName COL_BLACK erzeugt.

_______________


Color::Color( ColorName eColorName)
Color::Color()

Color::Color( ColorName eColorName );

Beschreibung

Konstruktor der Klasse Color. Die Instanz wird mit der übergebenen, vordefinierten Farbe initialisiert.

Parameter

ColorName eColorName	Die vordefinierte Farbe, mit der die Instanz initialisiert wird.

Querverweise

ColorName

_______________


Color::Color(USHORT nRed; USHORT nGreen, USHORT nBlue)
Color::Color()

Color::Color( USHORT nRed, USHORT nGreen, USHORT nBlue );

Beschreibung

Dieser Konstruktor erzeugt eine Farbe mit den angegebenen Werten für Rot, Grün und Blau. Der ColorName wird auf COL_USER gesetzt.

Parameter

USHORT nRed	Der Rotanteil der Farbe (0-65535).

USHORT nGreen	Der Grünanteil der Farbe (0-65535).

USHORT nBlue	Der Blauanteil der Farbe (0-65535).

_______________


Color::Color( ResId& rResId)
Color::Color()

Color::Color( ResId& rResId );

Beschreibung

Konstruktor der Klasse Color. Diese Methode erzeugt eine Instanz der Klasse Color aus der Resource.

Parameter

ResId& rResId	Die ID der Farbe in der Resource.

Querverweise

Resource

_______________


Color::ChangeRed( USHORT nRed)
Color::ChangeRed()

USHORT Color::ChangeRed( USHORT nRed );

Beschreibung

Die Methode ändert den Rotanteil der Farbe. Es wird der alte Rotanteil der Farbe zurückgegeben. Der ColorName wird auf COL_USER gesetzt.

Parameter

USHORT nRed	Der Rotanteil der Farbe (0-65535).

Rückgabewert

USHORT	Der alte Rotanteil der Farbe (0-65535).

_______________


Color::GetRed() const
Color::GetRed()

USHORT Color::GetRed() const;

Beschreibung

Die Methode gibt den Rotanteil der Farbe zurück. Bei Instanzen, die über einen systemabhängigen Wert des enum ColorName definiert sind, wird der gerade aktuelle Rotanteil zurückgegeben.

Rückgabewert

USHORT	Der Rotanteil der Farbe (0-65535).

_______________


Color::ChangeGreen( USHORT nGreen)
Color::ChangeGreen()

USHORT Color::ChangeGreen( USHORT nGreen );

Beschreibung

Die Methode ändert den Grünanteil der Farbe. Es wird der alte Grünanteil der Farbe zurückgegeben. Der ColorName wird auf COL_USER gesetzt.

Parameter

USHORT nGreen	Der Grünanteil der Farbe (0-65535).

Rückgabewert

USHORT	Der alte Grünanteil der Farbe (0-65535).

_______________


Color::GetGreen() const
Color::GetGreen()

USHORT Color::GetGreen() const;

Beschreibung

Die Methode gibt den Grünanteil der Farbe zurück. Bei Instanzen, die über einen systemabhängigen Wert des enum ColorName definiert sind, wird der gerade aktuelle Grünanteil zurückgegeben.

Rückgabewert

USHORT	Der Grünanteil der Farbe (0-65535).

_______________


Color::ChangeBlue( USHORT nBlue)
Color::ChangeBlue()

USHORT Color::ChangeBlue( USHORT nBlue );

Beschreibung

Die Methode ändert den Blauanteil der Farbe. Es wird der alte Blauanteil der Farbe zurückgegeben. Der ColorName wird auf COL_USER gesetzt.

Parameter

USHORT nBlue	Der Blauanteil der Farbe (0-65535).

Rückgabewert

USHORT	Der alte Blauanteil der Farbe (0-65535).

_______________


Color::GetBlue() const
Color::GetBlue()

USHORT Color::GetBlue() const;

Beschreibung

Die Methode gibt den Blauanteil der Farbe zurück. Bei Instanzen, die über einen systemabhängigen Wert des enum ColorName definiert sind, wird der gerade aktuelle Blauanteil zurückgegeben.

Rückgabewert

USHORT	Der Blauanteil der Farbe (0-65535).

_______________


Color::ChangeColorName(ColorName eColorName)
Color::ChangeColorName()

ColorName Color::ChangeColorName( ColorName eColorName );

Beschreibung

Die Methode ändert den ColorName der Instanz. Wird COL_USER übergeben, werden die Werte für Rot, Grün und Blau jeweils auf 0 gesetzt, wenn vorher ein anderer ColorName gesetzt war.

Parameter

ColorName eColorName	Der neue ColorName.

Rückgabewert

ColorName	Der bisherige ColorName.

Querverweise

ColorName

_______________


Color::GetColorName() const
Color::GetColorName()

ColorName Color::GetColorName() const;

Beschreibung

Es wird ein Wert des enum ColorName zurückgegeben.

Rückgabewert

ColorName	Der Wert des enum ColorName, mit dessen Hilfe die aktuelle Instanz definiert ist.

Querverweise

ColorName

_______________


Color::operator ==()

BOOL Color::operator ==( const Color& rColor ) const;

Beschreibung

Vergleichsoperator der Klasse Color.

Parameter

const Color& rColor	Referenz auf eine Color.

Rückgabewert

BOOL	TRUE

Der ColorName und die Werte für Rot, Grün und Blau sind identisch.

FALSE

Der ColorName oder die Werte für Rot, Grün und Blau sind unterschiedlich

_______________


Color::operator !=()

BOOL Color::operator !=( const Color& rColor ) const;

Beschreibung

Vergleichsoperator der Klasse Color.

Parameter

const Color& rColor	Referenz auf eine Color.

Rückgabewert

BOOL	TRUE

Der ColorName oder die Werte für Rot, Grün und Blau sind unterschiedlich

FALSE

Der ColorName und die Werte für Rot, Grün und Blau sind identisch.

_______________


ColorDialog

class ColorDialog : public SystemDialog

{

public:

ColorDialog( Window* pParent, WinBits nWinStyle );

ColorDialog( Window* pParent, const ResId& rResId );

virtual	~ColorDialog();

Color	ChangeColor( const Color& rColor );

Color	GetColor() const;

short	Execute();

};

Beschreibung

Die Klasse ColorDialog ist von SystemDialog abgeleitet und bietet eine einfache Möglichkeit, dem Anwender eine Farbauswahl anzubieten. Dabei wird auf allen Systemen der Standard-FarbDialog benutzt, wenn einer vorhanden ist. Auf den anderen Systemen wird ein entsprechender Dialog nachgebildet.

Basisklassen

SystemDialog : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Color, SystemDialog, ModalDialog, Control

Beispiel

long MyWindow::ChooseBackgroundColor( Menu* )

{

ColorDialog aColorDlg( this, WB_STDMODAL | WB_SVLOOK );

Brush aBkBrush = GetBackgroundBrush();

aColorDlg.ChangeColor( aBkColor.GetColor() );

if ( aColorDlg.Execute() )

{

aBkBrush.ChangeColor( aColorDlg.GetColor() );

Invalidate();

}

return TRUE;

}

_______________


ColorDialog::ColorDialog( Window* pParent, WinBits nWinStyle )
ColorDialog::ColorDialog()

ColorDialog::ColorDialog( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse ColorDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_SVLOOK

Die Dialogbox erscheint im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


ColorDialog::ColorDialog( Window* pParent, const ResId& rResId)
ColorDialog::ColorDialog()

ColorDialog::ColorDialog( Window* pParent, const ResId& rResId );

Beschreibung

Konstruktor der Klasse ColorDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

const ResId& rResId	Der Resource-Identifier der Dialogbox

_______________


ColorDialog::~ColorDialog()

virtual ColorDialog::~ColorDialog();

Beschreibung

Destruktor der Klasse ColorDialog.

_______________


ColorDialog::ChangeColor(const Color& rColor)
ColorDialog::ChangeColor()

Color ColorDialog::ChangeColor( const Color& rColor );

Beschreibung

Die Methode setzt die voreingestellte Farbe.

Parameter

const Color& rColor	Die voreingestellte Farbe.

Rückgabewert

Color	Die zuvor voreingestellte Farbe.

Querverweise

Color

_______________


ColorDialog::GetColor() const
ColorDialog::GetColor()

Color ColorDialog::GetColor() const;

Beschreibung

Die Methode gibt die ausgewählte Farbe zurück.

Rückgabewert

Color	Die ausgewählte Farbe.

Querverweise

Color

_______________


ColorDialog::Execute()

short ColorDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die Farbauswahl-Dialogbox.

Rückgabewert

short	TRUE

Der Dialog wurde durch Auswahl des OK-Buttons beendet, und die ausgewählte Farbe kann mit GetColor() abgefragt werden.

FALSE

Der Dialog wurde durch Auswahl des Cancel-Buttons beendet.

_______________


ComboBox

#define COMBOBOX_APPEND            ((USHORT)0xFFFF)

#define COMBOBOX_ENTRY_NOTFOUND    ((USHORT)0xFFFF)

class ComboBox : public Edit

{

protected:

virtual void	Select();

virtual void	DoubleClick();

public:

ComboBox( Window* pParent,WinBits nWinStyle = 0);

ComboBox( Window* pParent, const ResId& rResId );

~ComboBox();

void	InsertEntry( const String& rStr, USHORT nPos = COMBOBOX_APPEND );

void	RemoveEntry( const String& rStr );

void	RemoveEntry( USHORT nPos );

USHORT	GetEntryPos( const String& rStr ) const;

String	GetEntry( USHORT nPos ) const;

USHORT	GetEntryCount() const;

void	Clear();

Link	ChangeSelectHdl( const Link& rLink );

Link	GetSelectHdl() const;

Link	ChangeDoubleClickHdl( const Link& rLink );

Link	GetDoubleClickHdl() const;

};

Beschreibung

Eine ComboBox besteht aus einem Eingabefeld und einer Auswahlliste, über die der Benutzer einen vordefinierten Text in das Eingabefeld eintragen kann. Im Eingabefeld kann der Benutzer auch Texte eingeben, die nicht in der Auswahlliste enthalten sind.

Die Einträge können der ListBox hinzugefügt, selektiert, abgefragt und aus ihr gelöscht werden. Der Benutzer kann sich durch die Einträge der ComboBox bewegen. Können nicht alle Einträge zu einem Zeitpunkt komplett angezeigt werden, werden sie durch die ComboBox gescrollt. Zu dem Zweck werden, falls aufgrund der Breite und/oder Anzahl der Einträge nötig, ein horizontaler und/oder vertikaler ScrollBar eingeblendet.

Wenn ein selektierter Eintrag existiert, wird dieser durch die ComboBox optisch hervorgehoben dargestellt. Der aktuelle Eintrag bleibt erhalten, auch wenn er sich nicht im sichtbaren Bereich der ComboBox befindet. Wird vor dem selektierten Eintrag ein Eintrag eingefügt oder gelöscht, bleibt die Selektion erhalten. Die Position dieses Eintrags wird bei einem Einfügen erhöht und bei einem Löschen erniedrigt. Wird der selektierte Eintrag selbst entfernt, so ist anschließend kein Eintrag selektiert.

Für die Kommunikation mit der Applikation müssen der ComboBox die Handler für die Eingaben des Benutzers bekanntgemacht werden. Es existieren ein Handler für die einfache Selektion eines Eintrags in der ComboBox sowie für die Selektion über einen Doppelklick.

Es gibt keine Begrenzung für die maximale Länge der Einträge; ein Eintrag wird an der rechten Begrenzung der ComboBox ggf. optisch abgeschnitten. Um dies zu vermeiden, kann das Stylebit WB_AUTOSIZE gesetzt werden: In dem Fall wird die Größe der ComboBox automatisch so gesetzt, daß immer ganze Zeilen angezeigt werden.

Es liegt in der Verantwortung der Applikation, mehrere Einträge mit identischen Einträgen innerhalb einer ComboBox zu vermeiden.

Basisklassen

Edit : Control : Window : OutputDevice : Resource : LinkHdl

_______________


ComboBox::Select()

virtual void ComboBox::Select();

Beschreibung

Dieser Handler wird gerufen, wenn ein Eintrag in der Auswahlliste ausgewählt wurde. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeSelectHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeSelectHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ComboBox::ChangeSelectHdl()

_______________


ComboBox::DoubleClick()

virtual void ComboBox::DoubleClick();

Beschreibung

Dieser Handler wird gerufen, wenn ein Eintrag in der ComboBox durch einen Doppelklick selektiert wurde. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeDoubleClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeDoubleClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Wurde die ComboBox mit dem Stylebit WB_DROPDOWN erzeugt, wird der Handler DoubleClick() nie gerufen.

Querverweise

ComboBox::ChangeDoubleClickHdl()

_______________


ComboBox::ComboBox(Window* pParent, WinBits nWinSty = 0)
ComboBox::ComboBox()

ComboBox::ComboBox( Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse ComboBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der ComboBox werden aufsteigend sortiert.

WB_DROPDOWN

Die ComboBox ist eine aufkklappbare ListBox, das bedeutet: Erst wenn der Benutzer einen speziellen Button anklickt, der zur ComboBox gehört, wird die ListBox aufgeklappt, und ihr Inhalt wird sichtbar. Im geschlossenen Zustand wird der aktuelle Eintrag der ComboBox im Editfeld angezeigt. Bei geöffneter ListBox befindet sich dieses Editfeld oberhalb der aufgeklappten ListBox.

WB_AUTOSIZE

Die Größe der ListBox wird automatisch so gesetzt, daß immer ganze Zeilen in der ListBox angezeigt werden.

WB_HSCROLL

Der horizontale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein horizontales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

WB_VSCROLL

Der vertikale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein vertikales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

_______________


ComboBox::ComboBox( Window* pParent, const ResId& rResId)
ComboBox::ComboBox()

ComboBox::ComboBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse ComboBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier der ComboBox.

_______________


ComboBox::~ComboBox()

ComboBox::~ComboBox();

Beschreibung

Destruktor der Klasse ComboBox

_______________


ComboBox::InsertEntry()

void ComboBox::InsertEntry( const String& rStr, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt einen Eintrag in die Liste der ComboBox ein.

Parameter

const String& rStr	Der einzufügende String.

USHORT nPos	Die Position, an der der String in die Liste eingefügt werden soll. Wird nicht s angegeben, so wird der String hinter dem bisher letzten Eintrag eingefügt.

_______________


ComboBox::RemoveEntry(const String& rStr)
ComboBox::RemoveEntry()

void ComboBox::RemoveEntry( const String& rStr );

Beschreibung

Die Methode entfernt den angegebenen Eintrag aus der Liste der ComboBox.

Parameter

const String& rStr	Der zu entfernende String.

_______________


ComboBox::RemoveEntry( USHORT nPos )
ComboBox::RemoveEntry()

void ComboBox::RemoveEntry( USHORT nPos );

Beschreibung

Die Methode entfernt den angegebenen Eintrag aus der Liste der ComboBox.

Parameter

USHORT nPos	Die Position des Strings, der entfernt werden soll.

_______________


ComboBox::GetEntryPos( const String& rStr) const
ComboBox::GetEntryPos()

USHORT ComboBox::GetEntryPos( const String& rStr ) const;

Beschreibung

Die Methode ermittelt die Position des angegebenen Eintrags.

Parameter

const String& rStr	Der String, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Strings innerhalb der Liste. Die erste Position hat den Wert 0.

_______________


ComboBox::GetEntry( USHORT nPos) const
ComboBox::GetEntry()

String ComboBox::GetEntry( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt den Eintrag, der sich an der angegebenen Position innerhalb der Liste befindet.

Parameter

USHORT nPos	Die Position des zu ermittelnden Strings.

Rückgabewert

String	Der ermittelte String.

_______________


ComboBox::GetEntryCount()

USHORT ComboBox::GetEntryCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der Einträge in der Liste.

Rückgabewert

USHORT	Die Anzahl der Einträge in der Liste.

_______________


ComboBox::Clear()

void ComboBox::Clear();

Beschreibung

Die Methode entfernt alle Einträge aus der Liste.

_______________


ComboBox::ChangeSelectHdl()

Link ComboBox::ChangeSelectHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer einen Eintrag innerhalb der Liste der ComboBox ausgewählt hat.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn ein Eintrag in der Liste der ComboBox ausgewählt worden ist. Als Parameter erhält der Handler einen Zeiger auf die ComboBox.

Prototyp des Handlers:

void MyClass::Select( ComboBox* pBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ComboBox::Select()

_______________


ComboBox::GetSelectHdl()

Link ComboBox::GetSelectHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Benutzer einen Eintrag innerhalb der Liste der ComboBox ausgewählt hat.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


ComboBox::ChangeDoubleClickHdl()

Link ComboBox::ChangeDoubleClickHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer über einen Doppelklick einen Eintrag innerhalb der Liste der ComboBox ausgewählt hat.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn ein Eintrag in der Liste der ComboBox über einen Doppelklick ausgewählt worden ist. Als Parameter erhält der Handler einen Zeiger auf die ComboBox.

Prototyp des Handlers:

void MyClass::DoubleClick( ComboBox* pBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ComboBox::DoubleClick()

_______________


ComboBox::GetDoubleClickHdl()

Link ComboBox::GetDoubleClickHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Benutzer über einen Doppelklick einen Eintrag innerhalb der Liste der ComboBox ausgewählt hat.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


Config

class Config

{

public:

Config();

Config( const String& rFileName );

Config( const Config& rConfig );

~Config();

String	GetPathName() const;

void	SetGroup( const String& rGroup );

String	GetGroup() const;

void	DeleteGroup( const String& rGroup );

void	WriteKey( const String& rKey, const String& rValue );

String	ReadKey( const String& rKey ) const;

String	ReadKey(const String& rKey,const String& rDefault) const;

void	DeleteKey( const String& rKey );

USHORT	GetKeyCount() const;

String	GetKeyName( USHORT nKey ) const;

String	ReadKey( USHORT nKey ) const;

Config&	operator =( const Config& rConfig );

BOOL	operator ==( const Config& rConfig ) const;

BOOL	operator !=( const Config& rConfig ) const;

};

Beschreibung

Mit der Klasse Config läßt sich eine Konfigurationsdatei mit folgendem Format lesen und schreiben:

[Gruppenname]

Schlüssel=...

Die Konfigurationsdatei wird als Textdatei gelesen und geschrieben. Bei den Schlüsseln und Gruppen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die Datei kann in Gruppen unterteilt werden; der Gruppenname muß in eckige Klammern gesetzt werden. Zu jeder Gruppe können beliebig viele Schüssel gespeichert werden. Dabei wird der Schlüssel mit einem Gleichheitszeichen vom Wert getrennt. Über den Schlüssel kann auf die gespeicherten Werte zugegriffen werden. Wird vor eine Zeile ein Semikolon geschrieben, so wird die Zeile ignoriert und als Kommentar betrachtet. Kommentarzeilen können nicht über die Config-Klasse erzeugt werden.

Da die Konfigurationsdatei in mehrere Gruppen unterteilt werden kann, ist es möglich, für jeden Benutzer eine eigene Gruppe anzulegen. Somit kann für jeden Benutzer über die gleichen Schlüssel zugegriffen werden, und nur die Gruppe muß je nach Benutzer umgeschaltet werden. Um nur eine einzige Konfigurationsdatei für alle Betriebssysteme zu benutzen, kann z.B. auch für jedes Betriebssystem eine eigene Gruppe angelegt werden. Die Gruppen können nicht verschachtelt werden.

Die Konfigurationsdatei hat auf allen Betriebssystemen das gleiche Format; CR und LF werden entsprechend berücksichtigt. Nach dem Speichern der Datei hat sie die Standard-Zeilenendung des schreibenden Systems. Umlaut- oder Zeichenkonvertierung werden nicht vorgenommen, deswegen sollte auf Umlaute und Sonderzeichen verzichtet werden.

_______________


Config::Config()

Config::Config();

Beschreibung

Default-Konstruktor der Klasse Config. Der Name der Konfigurationsdatei wird aus dem Namen der Applikation gebildet und in dem Verzeichnis abgelegt, in dem auf dem System üblicherweise die Konfigurationsdateien gespeichert werden. Falls die Datei nicht existiert, wird die Datei beim ersten WriteKey() erzeugt.

_______________


Config::Config( const String& rFileName)
Config::Config()

Config::Config( const String& rFileName );

Beschreibung

Konstruktor der Klasse Config. Der Name der Konfigurationsdatei muß übergeben werden. Falls die Datei nicht existiert, wird die Datei beim ersten WriteKey() erzeugt.

Parameter

const String& rFileName	Der Dateiname der Konfigurationsdatei.

_______________


Config::Config( const Config& rConfig)
Config::Config()

Config::Config( const Config& rConfig );

Beschreibung

Copy-Konstruktor der Klasse Config. Der Dateiname und der aktuelle Gruppenname werden von der übergebenen Config-Instanz kopiert.

Parameter

const Config& rConfig	Die Config-Instanz, von der der Dateiname und der Gruppenname kopiert werden.

_______________


Config::~Config()

Config::~Config();

Beschreibung

Destruktor der Klasse Config. Die Methode gibt den angelegten Speicherbereich wieder frei.

_______________


Config::GetPathName()

String Config::GetPathName() const;

Beschreibung

Die Methode ermittelt den Namen des aktuell gesetzten Pfades.

Rückgabewert

String	Der Name des gültigen Pfades.

_______________


Config::SetGroup( const String& rGroup )
Config::SetGroup()

void Config::SetGroup( const String& rGroup );

Beschreibung

Der Name der Gruppe, aus der die Schlüssel gelesen und in die die Schlüssel geschrieben werden sollen, wird gesetzt.

Parameter

const String& rGroup	Der Name der Gruppe, die gesetzt werden soll.

_______________


Config::GetGroup()

String Config::GetGroup() const;

Beschreibung

Der Name der Gruppe, aus der die Schlüssel zur Zeit gelesen und in die Schlüssel geschrieben werden, wird zurückgegeben.

Rückgabewert

String	Der Name der Gruppe, die gesetzt ist.

_______________


Config::DeleteGroup( const String& rGroup )
Config::DeleteGroup()

void Config::DeleteGroup( const String& rGroup );

Beschreibung

Die übergebene Gruppe einschließlich aller Schlüssel wird gelöscht. Die Konfigurationsdatei wird sofort aktualisiert.

Parameter

const String& rGroup	Der Name der Gruppe, die gelöscht werden soll.

_______________


Config::WriteKey( const String& rKey, const String& rValue)
Config::WriteKey()

void Config::WriteKey( const String& rKey, const String& rValue );

Beschreibung

Der Wert des übergebenen Schlüssels wird geändert. Ist der Schlüssel in der eingestellten Gruppe nicht vorhanden, so wird er neu angelegt. Die Konfigurationsdatei wird sofort aktualisiert.

Parameter

const String& rKey	Der Name des Schlüssels, dessen Wert geändert werden soll.

const String& rValue	Der neue Wert des übergebenen Schlüssels.

_______________


Config::ReadKey( const String& rKey)
Config::ReadKey()

String Config::ReadKey( const String& rKey ) const;

Beschreibung

Der übergebene Schlüssel wird in der eingestellten Gruppe gesucht; der zum gefundenen Schlüssel gehörende Wert wird zurückgegeben.

Parameter

const String& rKey	Der Name des Schlüssels, dessen Wert zurückgegeben werden soll.

Rückgabewert

String	Der Wert des übergebenen Schlüssels. Ist der Schlüssel nicht vorhanden, so wird ein leerer String zurückgegeben.

_______________


Config:ReadKey( const String& rKey, const String& rDefault)
Config::ReadKey()

String Config::ReadKey( const String& rKey, const String& rDefault ) const;

Beschreibung

Der übergebene Schlüssel wird in der eingestellten Gruppe gesucht; der zum gefundenen Schlüssel gehörende Wert wird zurückgegeben. Es kann zusätzlich noch ein Defaultwert übergeben werden, der zurückgegeben wird, wenn der Schlüssel nicht gefunden wurde.

Parameter

const String& rKey	Der Name des Schlüssels, dessen Wert zurückgegeben werden soll.

const String& rDefault	Der String, der zurückgegeben wird, wenn der Schlüssel nicht vorhanden ist.

Rückgabewert

String	Der Wert des übergebenen Schlüssels. Ist der Schlüssel nicht vorhanden, so wird der übergebene Default-String zurückgegeben.

Beispiel

Config aConfig;

aConfig.SetGroup( aUserName );

USHORT n = aConfig.ReadKey( "AutoSaveMin", 30 );

_______________


Config::DeleteKey( const String& rKey)
Config::DeleteKey()

void Config::DeleteKey( const String& rKey );

Beschreibung

Der übergebene Schlüssel wird mit seinem Wert in der eingestellten Gruppe gelöscht. Die Konfigurationsdatei wird sofort aktualisiert.

Parameter

const String& rKey	Der Name des Schlüssels, der gelöscht werden soll.

_______________


Config::GetKeyCount()

USHORT Config::GetKeyCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der in der aktuellen Gruppe enthaltenen Schlüssel.

Rückgabewert

USHORT	Die Anzahl der in der aktuellen Gruppe enthaltenen Schlüssel.

_______________


Config::GetKeyName( USHORT nkey)
Config::GetKeyName()

String Config::GetKeyName( USHORT nKey ) const;

Beschreibung

Die Methode ermittelt den Namen des Schlüssels mit der angegebenen Nummer.

Parameter

USHORT nKey	Die Nummer des zu ermittelnden Schlüssels. Der Höchstwert für nKey ist GetKeyCount() - 1.

Rückgabewert

String	Der Name des Schlüssels.

_______________

8


Config::ReadKey( USHORT nKey)
Config::ReadKey()

String Config::ReadKey( USHORT nKey ) const;

Beschreibung

Der übergebene Schlüssel wird in der eingestellten Gruppe gesucht; der zum gefundenen Schlüssel gehörende Wert wird zurückgegeben.

Parameter

USHORT nKey	Die Nummer des zu ermittelnden Schlüssels. Der Höchstwert für nKey ist GetKeyCount() - 1.

Rückgabewert

String	Der Wert des übergebenen Schlüssels.

_______________


Config::operator =( const Config& rConfig )
Config::operator =()

Config& Config::operator =( const Config& rConfig );

Beschreibung

Zuweisungsoperator der Klasse Config. Der Dateiname und der Gruppenname der übergebenen Config-Instanz werden übernommen.

Parameter

const Config& rConfig	Die Config-Instanz, von der der Dateiname und der Gruppenname übernommen werden sollen.

Rückgabewert

Config&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Config::operator ==( const Config& rConfig )
Config::operator ==()

BOOL Config::operator ==( const Config& rConfig ) const;

Beschreibung

Vergleichsoperator der Klasse Config. Dieser Operator prüft, ob beide Config-Instanzen den gleichen Dateinamen beinhalten und der gleiche Gruppenname eingestellt ist.

Parameter

const Config& rConfig	Die Config-Instanz, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Dateinamen sowie der eingestellte Gruppenname beider Config-Instanzen stimmen überein.

FALSE

Die Dateinamen oder der eingestellte Gruppenname beider Config-Instanzen stimmen nicht überein.

_______________


Config::operator != ( const Config& rConfig )
Config::operator !=()

BOOL Config::operator !=( const Config& rConfig ) const;

Beschreibung

Vergleichsoperator der Klasse Config. Dieser Operator prüft, ob beide Config-Instanzen unterschiedliche Dateinamen beinhalten oder ein unterschiedlicher Gruppenname eingestellt ist.

Parameter

const Config& rConfig	Die Config-Instanz, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Dateinamen oder der eingestellte Gruppenname beider Config-Instanzen stimmen nicht überein.

FALSE

Die Dateinamen sowie der eingestellte Gruppenname beider Config-Instanzen stimmen überein.

_______________


Container

#define CONTAINER_APPEND          ((ULONG)0xFFFFFFFF)

#define CONTAINER_ENTRY_NOTFOUND  ((ULONG)0xFFFFFFFF)

class Container

{

public:

Container( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize );

Container( ULONG nSize );

Container( const Container& rCont );

~Container();

void	Insert( void* p );

void	Insert( void* p, ULONG nPos );

void	Insert( void* pNew, void* pOld );

void*	Remove();

void*	Remove( ULONG nPos );

void*	Remove( void* p );

void*	Replace( void* p );

void*	Replace( void* p, ULONG nPos );

void*	Replace( void* pNew, void* pOld );

ULONG	ChangeSize( ULONG nNewSize );

ULONG	GetSize() const;

ULONG	Count() const;

void	Clear();

void*	GetCurObject() const;

ULONG	GetCurPos() const;

void*	GetObject( ULONG nPos ) const;

ULONG	GetPos( const void* p ) const;

void*	Seek( ULONG nPos );

void*	Seek( void* p );

void*	First();

void*	Last();

void*	Next();

void*	Prev();

Container&	operator =( const Container& rCont );

BOOL	operator ==( const Container& rCont ) const;

BOOL	operator !=( const Container& rCont ) const;

};

Beschreibung

Der Container verwaltet Zeiger und eignet sich dadurch für die Verwaltung von beliebigen Objekten. Dabei werden die Daten nicht kopiert oder gelöscht, auf die die Zeiger zeigen.

Der Container ist eine Verbindung zwischen einem Array und einer Liste, wobei intern Blöcke verwaltet werden, die miteinander verkettet werden. Dies hat verschiedene Vorteile:

-	Weniger Overhead, da bei großen Blöcken weniger Speicher für die Verwaltung der Liste angelegt wird. Bei einer normalen Liste würde jeweils der Overhead doppelt soviel Speicherplatz belegen wie der Zeiger selbst.

-	Innerhalb einer derartigen Liste kann auf beliebige Zeiger zugegriffen werden, ohne sich durch die Liste hangeln zu müssen. Bei häufigem Zugriff auf einen bestimmten Zeiger sollte eine große Blockgröße gewählt werden, da die Zugriffe desto schneller erfolgen, je größer die Blöcke sind. Wird jedoch häufig eingefügt und entfernt, sollten die Blöcke kleiner sein, falls nicht der Overhead dagegen spricht.

-	Auf Rechnern mit Segmenten von 64KB können auch Arrays verwaltet werden, die fast beliebig viele Zeiger beinhalten. Dazu werden intern die Blockgröße auf die maximale Segmentgröße gesetzt und nur dann indirekte Zugriffe ausgeführt, wenn die Anzahl der Zeiger die Segmentgröße überschreitet.

-	Weniger Code-Overhead, da der gleiche Code für Listen und Arrays benutzt wird. Obwohl mit dem Container Listen und Arrays verwaltet werden, ist der entstehende Geschwindigkeitsnachteil so gering, daß er sowohl für die Liste als auch für das Array ignoriert werden kann.

Da der Container für fast alle Verwaltungsklassen Methoden bereitstellt, werden von dieser Klasse normalerweise keine Instanzen angelegt, sondern Klassen für eine bestimmte Verwaltung abgeleitet, wie z.B. Stack, Queue oder List. Die abgeleiteten Klassen sollten auch nur diejenigen Methoden zur Verfügung stellen, die für diese Klasse gebraucht werden. Alle anderen Methoden sollte die abgeleitete Klasse verstecken, indem die Klasse private von Container abgeleitet wird.

Es sollte darauf geachtet werden, daß entweder Insert()/Remove() und Count(), oder ChangeSize() und GetSize() verwendet werden. Es können zwar alle Methoden aufgerufen werden, jedoch würden bei einem Array durch ein Einfügen alle Positionen hinter der eingefügten Position verschoben werden.

Der Zugriff kann über die Position oder über einen Zeiger erfolgen. Die Zählung der Position beginnt bei 0. Sofern der Container nicht leer ist, existiert stets ein aktueller Zeiger, welcher auch gesetzt und verschoben werden kann.

Anmerkungen

Wenn die Methoden des Containers mit einem Zeiger aufgerufen werden, ist zu beachten, daß der gleiche Zeiger mehrfach enthalten sein kann. In diesem Fall wird die Methode immer auf den ersten gefundenen Zeiger angewendet.

Es sollten keine NULL-Zeiger übergeben oder gespeichert werden. Andernfalls ist es nicht möglich, bei den Methoden, die einen Zeiger zurückgeben, zu unterscheiden, ob es der gespeicherte Zeiger oder kein gültiger Zeiger ist.

_______________


Container::Container( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize )
Container::Container()

Container::Container( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize );

Beschreibung

Konstruktor der Klasse Container. Dieser Konstruktor wird verwendet, wenn der Container als eine Liste verwendet werden soll. Dazu kann die Verwaltung durch verschiedene Parameter beeinflußt werden. Je nach Verwendung ist es möglich, die Verwaltung so zu beeinflussen, daß maximale Performance bei minimalem Overhead erreicht werden kann und nicht durch eine statische Verwaltung des Containers Nachteile entstehen.

Parameter

USHORT nBlockSize	Die Anzahl der Zeiger, die ein Block enthalten soll, bevor ein neuer Block angelegt wird. Je größer die Blöcke sind, desto schneller geht der Zugriff auf bestimmte Zeiger, und desto weniger Overhead wird für die Verwaltung gebraucht. Falls jedoch sehr häufig eingefügt und entfernt wird und der Container über den aktuellen Zeiger gesteuert wird, sollte die Blockgröße kleiner gesetzt werden, wenn nicht der Overhead dagegen spricht. Die Blockgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert vom Container vorgegeben.

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen des Containers gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte nicht größer als die Blockgröße und ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert vom Container vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die ein Block erweitert wird, wenn der Block neuen Speicherplatz anfordern muß. Der Parameter sollte größer als 0 sein, sonst wird der Wert vom Container vorgegeben. Durch diesen Parameter ist es möglich, daß der Container große Blöcke verwalten kann und nicht immer Speicherplatz für einen kompletten  Block angelegen muß.

_______________


Container::Container( ULONG nSize )
Container::Container()

Container::Container( ULONG nSize );

Beschreibung

Konstruktor der Klasse Container. Dieser Konstruktor wird verwendet, wenn der Container als ein Array verwendet werden soll.

Das Array wird in der übergebenen Größe erzeugt, wobei alle Zeiger mit NULL initialisiert werden.

Parameter

ULONG nSize	Die Anzahl der Zeiger, die der Container enthalten kann. Der Parameter sollte größer als 0 sein, sonst wird der Wert vom Container vorgegeben.

_______________


Container::Container( const Container& rCont )
Container::Container()

Container::Container( const Container& rCont );

Beschreibung

Copy-Konstruktor der Klasse Container. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Containers. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const Container& rCont	Der Container, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


Container::~Container()

Container::~Container();

Beschreibung

Destruktor der Klasse Container. Es werden alle vom Container angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


Container::Insert( void* p )
Container::Insert()

void Container::Insert( void* p );

Beschreibung

Der übergebene Zeiger wird vor dem aktuellen Zeiger eingefügt. Der aktuelle Zeiger bleibt erhalten, jedoch wird die aktuelle Position angepaßt. Ist der Container leer, so wird der eingefügte Zeiger der erste und aktuelle Zeiger.

Parameter

void* p	Der Zeiger, der eingefügt werden soll.

_______________


Constainer::Insert( void* p, ULONG nPos )
Container::Insert()

void Container::Insert( void* p, ULONG nPos );

Beschreibung

Der übergebene Zeiger wird vor der angegebenen Position nPos eingefügt. Sind weniger als nPos Zeiger im Container, so wird der Zeiger angehängt.

Wird der Zeiger vor dem aktuellen Zeiger eingefügt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Position. Ist der Container leer, so wird der eingefügte Zeiger zum ersten und aktuellen.

Parameter

void* p	Der Zeiger, der eingefügt werden soll.

ULONG nPos	Die Position, an der der Zeiger eingefügt werden soll. Wird hier die Konstante CONTAINER_APPEND angegeben oder sind weniger als nPos Zeiger enthalten, so wird der Zeiger angehängt.

_______________


Container::Insert( void* pNew, void* pOld )
Container::Insert()

void Container::Insert( void* pNew, void* pOld );

Beschreibung

Der übergebene Zeiger pNew wird vor dem Zeiger pOld eingefügt.

Wird der Zeiger vor dem aktuellen Zeiger eingefügt, so wird die Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Position. Ist der Container leer, so wird der eingefügte Zeiger zum ersten und aktuellen.

Parameter

void* pNew	Der Zeiger, der eingefügt werden soll.

void* pOld	Der Zeiger, vor dem der Zeiger pNew eingefügt wird. Befindet sich der Zeiger mehr als einmal im Container, so wird der Zeiger pNew vor dem ersten übereinstimmenden Zeiger eingefügt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

_______________


Container::Remove()

void* Container::Remove();

Beschreibung

Es wird der aktuelle Zeiger entfernt. Der Zeiger hinter dem aktuellen Zeiger wird zum aktuellen. Ist der aktuelle Zeiger der letzte im Container, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist der Container leer, so wird NULL zurückgegeben.

_______________


Container::Remove( ULONG- nPos )
Container::Remove()

void* Container::Remove( ULONG nPos );

Beschreibung

Es wird der Zeiger an der Position nPos entfernt.

Wird der Zeiger vor dem aktuellen Zeiger entfernt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Position. Wird der aktuelle Zeiger entfernt, so wird der Zeiger hinter dem aktuellen Zeiger zum aktuellen. Ist der aktuelle Zeiger der letzte im Container, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Parameter

ULONG nPos	Die Position, an der der Zeiger entfernt werden soll. Liegt die Position außerhalb des vorhandenen Bereichs, so wird kein Zeiger entfernt.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Liegt die aktuelle Position außerhalb des vorhandenen Bereichs, so wird NULL zurückgegeben.

_______________


Container::Remove( void* p )
Container::Remove()

void* Container::Remove( void* p );

Beschreibung

Es wird der übergebene Zeiger entfernt. Wird der Zeiger vor dem aktuellen Zeiger entfernt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Index-Position. Wird der aktuelle Zeiger entfernt, so wird der Zeiger hinter dem aktuellen Zeiger zum aktuellen. Ist der aktuelle Zeiger der letzte im Container, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Parameter

void* p	Der Zeiger, der entfernt werden soll. Befindet sich der Zeiger mehr als einmal im Container, so wird der erste übereinstimmende Zeiger entfernt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist der Container leer oder ist der übergebene Zeiger nicht enthalten, so wird NULL zurückgegeben.

_______________


Container::Replace( void* p )
Container::Replace()

void* Container::Replace( void* p );

Beschreibung

Es wird der aktuelle Zeiger durch den übergebenen Zeiger ersetzt. Die aktuelle Index-Position wird nicht beeinflußt. Ist der Container leer, hat der Aufruf keine Wirkung.

Parameter

void* p	Der Zeiger, der den aktuellen Zeiger ersetzt.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Ist der Container leer, so wird NULL zurückgegeben.

_______________


Container::Replace( void* p, ULONG nPos )
Container::Replace()

void* Container::Replace( void* p, ULONG nPos );

Beschreibung

Der Zeiger, der sich an der Position nPos befindet, wird durch den übergebenen Zeiger ersetzt. Wird der aktuelle Zeiger ersetzt, so wird der übergebene Zeiger zum aktuellen. Die aktuelle Position wird nicht beeinflußt.

Parameter

void* p	Der Zeiger, der den Zeiger an der Position nPos ersetzt.

ULONG nPos	Die Position des zu ersetzenden Zeigers. Befindet sich die Position außerhalb des Bereiches, so wird kein Zeiger ersetzt.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Liegt die Position außerhalb des Indexbereiches, so wird NULL zurückgegeben.

_______________


Container::Replace( void * pNew, void* pOld )
Container::Replace()

void* Container::Replace( void* pNew, void* pOld );

Beschreibung

Der Zeiger pOld wird durch den Zeiger pNew ersetzt. Wird der aktuelle Zeiger ersetzt, so wird der übergebene Zeiger zum aktuellen. Die aktuelle Position wird nicht beeinflußt.

Parameter

void* pNew	Der Zeiger, der den Zeiger pOld ersetzt.

void* pOld	Der Zeiger, der durch den Zeiger pNew ersetzt wird. Befindet sich der Zeiger mehr als einmal im Container, so wird der erste übereinstimmende Zeiger ersetzt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Ist der Container leer oder ist der Zeiger pOld nicht enthalten, so wird NULL zurückgegeben.

_______________


Container::ChangeSize( ULONG NNewSize )
Container::ChangeSize()

ULONG Container::ChangeSize( ULONG nNewSize );

Beschreibung

Falls der Container als Array benutzt wird, kann über diese Methode die Größe des Containers geändert werden. Dabei bleiben die Zeiger, die sich bis zur Position nNewSize-1 befinden, erhalten. Wird der Container vergrößert, werden alle neu angelegten Zeiger mit NULL initialisiert.

Parameter

ULONG nNewSize	Die Anzahl der im Container speicherbaren Zeiger. Falls 0 übergeben wird, so wird die Anzahl vom Container vorgegeben.

Rückgabewert

ULONG	Es wird die zuvor gesetzte Größe des Containers zurückgegeben.

_______________


Container::GetSize()

ULONG Container::GetSize() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger im Container gespeichert werden können.

Rückgabewert

ULONG	Die Anzahl der im Container speicherbaren Zeiger.

_______________


Constainer::Count()
Container::Count()

ULONG Container::Count() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger im Container gespeichert sind.

Rückgabewert

ULONG	Die Anzahl der im Container gespeicherten Zeiger.

_______________


Container::Clear()

void Container::Clear();

Beschreibung

Es werden alle gespeicherten Zeiger gelöscht. Dabei werden jedoch nicht die Daten gelöscht, auf die die Zeiger zeigen. Der Container ist nach Aufruf dieser Methode leer.

_______________


Container::GetCurObject()

void* Container::GetCurObject() const;

Beschreibung

Der aktuelle Zeiger wird zurückgegeben.

Rückgabewert

void*	Der aktuelle Zeiger oder NULL, wenn der Container leer ist.

_______________


Container::GetCurPos()

ULONG Container::GetCurPos() const;

Beschreibung

Die aktuelle Position im Container wird zurückgegeben.

Rückgabewert

ULONG	Die aktuelle Position im Container oder

CONTAINER_ENTRY_NOTFOUND, wenn der Container leer ist.

_______________


Container::GetObject( ULONG nPos )
Container::GetObject()

void* Container::GetObject( ULONG nPos ) const;

Beschreibung

Der Zeiger an der Position nPos innerhalb des Containers wird zurückgegeben, ohne die aktuelle Position oder den aktuellen Zeiger zu verändern.

Parameter

ULONG nPos	Die Position des Zeigers innerhalb des Containers, der zurückgegeben werden soll.

Rückgabewert

void*	Der Zeiger, der sich an der Position nPos befindet. Liegt die Position außerhalb des Indexbereiches, so wird NULL zurückgegeben.

_______________


Container::GetPos( const void* p )
Container::GetPos()

ULONG Container::GetPos( const void* p ) const;

Beschreibung

Die Position des angegebenen Zeigers relativ zum Containeranfang wird zurückgegeben, ohne die aktuelle Position oder den aktuellen Zeiger zu verändern.

Parameter

const void* p	Der Zeiger, dessen Position zurückgegeben werden soll.

Rückgabewert

ULONG	Die Position des ersten Auftretens des übergebenen Zeigers innerhalb des Containers. Befindet sich der Zeiger nicht im Container, so wird

CONTAINER_ENTRY_NOTFOUND zurückgegeben.

_______________


Constainer::Seek( ULONG nPos )
Container::Seek()

void* Container::Seek( ULONG nPos );

Beschreibung

Mit dieser Methode kann der aktuelle Zeiger gesetzt werden. Dazu wird der Zeiger, der sich an der Position nPos befindet, zum aktuellen Zeiger. Liegt die Position außerhalb des Bereiches, so wird der letzte Zeiger zum aktuellen.

Parameter

ULONG nPos	Die Position des Zeigers, der zum aktuellen Zeiger werden soll. Liegt die Position außerhalb des Bereiches, so wird der letzte Zeiger zum aktuellen.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer, so wird NULL zurückgegeben.

_______________


Container::Seek( void* p )
Container::Seek()

void* Container::Seek( void* p );

Beschreibung

Mit dieser Methode wird der übergebene Zeiger zum aktuellen Zeiger. Befindet sich der Zeiger mehr als einmal im Container, so wird der erste übereinstimmende Zeiger zum aktuellen.

Parameter

void* p	Der Zeiger, der zum aktuellen Zeiger werden soll. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer oder ist der übergebene Zeiger nicht enthalten, so wird NULL zurückgegeben.

_______________


Container::First()

void* Container::First();

Beschreibung

Der erste Zeiger wird zum aktuellen Zeiger des Containers.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer, so wird NULL zurückgegeben.

_______________


Container::Last()

void* Container::Last();

Beschreibung

Der letzte Zeiger wird zum aktuellen Zeiger.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer, so wird NULL zurückgegeben.

_______________


Container::Next()

void* Container::Next();

Beschreibung

Der aktuelle Zeiger wird auf den nächsten Zeiger weitergeschaltet. Steht der aktuelle Zeiger auf dem Containerende, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer oder steht der aktuelle Zeiger auf dem Containerende, so wird NULL zurückgegeben.

_______________


Container::Prev()

void* Container::Prev();

Beschreibung

Der aktuelle Zeiger wird auf den vorherigen Zeiger weitergeschaltet. Steht der aktuelle Zeiger auf dem Containeranfang, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist der Container leer oder steht der aktuelle Zeiger auf dem Containeranfang, so wird NULL zurückgegeben.

_______________


Container::operator =()

Container& Container::operator =( const Container& rCont );

Beschreibung

Zuweisungsoperator der Klasse Container. Dieser Operator löscht alle intern angelegten Daten und übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Containers. Die Daten, auf die die Zeiger zeigen, werden weder im linken Operanden gelöscht noch vom rechten Operanden kopiert.

Parameter

const Container& rCont	Der Container, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

Rückgabewert

Container&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Container::operator ==()
Container::operator !=()

BOOL Container::operator ==( const Container& rCont ) const;

BOOL Container::operator !=( const Container& rCont ) const;

Beschreibung

Vergleichsoperatoren der Klasse Container. Diese Operatoren prüfen, ob die gespeicherten Zeiger auf dieselben Daten in der gleichen Reihenfolge zeigen.

Parameter

const Container& rCont	Der Container, mit dem verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


Control

class Control : public Window

{

protected:

virtual void	GetFocus();

virtual void	LoseFocus();

public:

Control( Window* pParent, WinBits nWinStyle = 0 );

Control( Window* pParent, const ResId& rResId );

virtual	~Control();

void	ShowFocus( const Rectangle& rRect );

void	HideFocus();

void	DrawCtrlText( const Point& rPos,const String& rStr, USHORT nIndex = 0, USHORT nLen = STRING_LEN, BOOL bDisable = FALSE );

Size	GetCtrlTextSize(const String& rStr,USHORT nIndex=0, USHORT nLen = STRING_LEN ) const;

Link	ChangeGetFocusHdl( const Link& rLink );

Link	GetGetFocusHdl() const;

Link	ChangeLoseFocusHdl( const Link& rLink);

Link	GetLoseFocusHdl() const;

};

Beschreibung

Controls sind eigenständige Bedienelemente, die einem Parent-Window zugeordnet sind. Die Controls teilen Zustandsänderungen über Handler mit; diese kann die Applikation setzen. In der Klasse Control können Handler gesetzt werden, die beim Erhalten bzw. Abgeben des Focus aufgerufen werden. Die spezifischen Handler werden bei den abgeleiteten Klassen beschrieben.

Controls unterscheiden sich von normalen Fenstern dadurch, daß die Controls in Dialogboxen die Dialogboxsteuerung unterstützen. Die Dialogboxsteuerung wird jedoch nur unterstützt, wenn es sich beim Parent des Controls um eine Dialogbox handelt. Es gibt drei verschiedene Arten der Dialogboxsteuerung:

-	Accelerator

Bei verschiedenen Controls kann ein Text mit Tilde (~) gesetzt werden. Diese Controls können über den Buchstaben, vor dem die Tilde steht, direkt angewählt werden. Auf dem Macintosh und bei einigen Controls, wie Edit und ListBox, wird diese Steuerung nicht unterstützt. Vor die Controls, die nicht die direkte Anwahl unterstützen, kann ein FixedText gesetzt werden, bei dem ein Accelerator-Text gesetzt wird. Dadurch wird der Focus auf das Control gesetzt, das nach dem FixedText erzeugt wurde. Um eine Tilde im Text zu setzen, müssen 2 Tilden hintereinander geschrieben werden.

-	Tabulatorsteuerung

Bei den Controls, bei denen das Stylebit WB_TABSTOP gesetzt ist, kann mit der Tabulatortaste gewechselt werden. Dieses Stylebit wird auf dem Macintosh nur bei den Controls unterstützt, bei denen es auf dem Macintosh üblich ist.

-	Gruppensteuerung

Das Stylebit WB_GROUP setzt den Beginn oder das Ende einer Gruppe. Das erste Control einer Gruppe muß dieses Stylebit erhalten. Damit wird zugleich das Ende der vorigen Gruppe angezeigt. Innerhalb einer Gruppe kann zwischen den Controls mit den Cursortasten gewechselt werden. Außerdem werden innerhalb einer Gruppe die RadioButtons automatisch geschaltet. Bei den Controls, die Cursortasten für ihre eigene Steuerung brauchen, kann mit den Cursortasten nicht mehr aus dem Control gewechselt werden. Dieses Stylebit wird auf dem Macintosh nur für die RadioButton-Steuerung verwendet.

Für eigene Bedienelemente können Klassen von Control abgeleitet werden.

Basisklassen

Window : OutputDevice : Resource : LinkHdl

Beispiel

Das folgende Beispiel zeigt die Implementierung eines benutzerdefinierten Controls, das einen Wert anzeigt. Der Wert kann mit Hilfe der Tasten "+" und "-" inkrementiert bzw. dekrementiert werden. Der Anfangswert wird entweder im Konstruktor angegeben oder aus der Resource geladen. Die normale Dialogboxsteuerung (Gruppensteuerung usw.) wird durch Aufruf des KeyInput-Handlers der Basisklasse unterstützt.

class MyControl : public Control

{

private:

short	nLevel;

public:

virtual void	KeyInput( const KeyEvent& rKeyEvt );

};

MyControl::MyControl( Window* pParent, short nStartLevel ) :

             Control( pParent, WinBits( WB_BORDER ) )

{

nLevel = nStartLevel;

}

MyControl::MyControl( Window* pWindow, const ResId& rResId ) :

             Control( pParent, rResId )

{

nLevel = *(short*)GetClassRes();

IncrementRes( sizeof( short ) );

}

void MyControl::Paint( const Rectangle& rRect )

{

DrawText( Point( 5, 5 ), String( nLevel ) );

}

void MyControl::KeyInput( const KeyEvent& rKeyEvt )

{

switch( rKeyEvt.GetCharCode() )

{

case '+':

nLevel++;

Invalidate();

Update();

break;

case '-':

nLevel--;

Invalidate();

Update();

break;

default:

Control::KeyInput( rKeyEvt );

s}

}

// in der Resource ...

EXTRADATA = 77;

_______________


Control::GetFocus()

virtual void Control::GetFocus();

Beschreibung

Dieser Handler wird gerufen, wenn ein Control aktiviert wird. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeGetFocusHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeGetFocusHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

Control::ChangeGetFocusHdl(), Window::GetFocus()

_______________


virtual void Control::LoseFocus()
Control::LoseFocus()

virtual void Control::LoseFocus();

Beschreibung

Dieser Handler wird gerufen, wenn ein Control deaktiviert wird. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeLoseFocusHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeLoseFocusHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

Control::ChangeLoseFocusHdl(), Window::LoseFocus()

_______________


Control::Control( Window* pParent, WinBits nWinStyle = 0 )
Control::Control()

Control::Control( Window* pParent, WinBits nWinStyle  = 0 );

Beschreibung

Konstruktor der Klasse Control. Mit diesem Konstruktor ist es möglich, eigene Controls zu implementieren.

Parameter

Window* pParent	Der Parent des Controls.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_BORDER

Das Control hat einen Rahmen.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_SVLOOK

Das Control und dessen Child-Fenster erscheinen im StarView-Look. Wird das Flag nicht übergeben, wird es durch den Parent gesetzt, wenn dieser das Flag WB_SVLOOK übergeben bekommen hat.

Querverweise

Application::EnableSVLook()

_______________


Control::Control( Window* pParent, const ResId& rResId )
Control::Control()

Control::Control( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Control. Mit diesem Konstruktor ist es möglich, eigene Controls zu implementieren.

Parameter

Window* pParent	Der Parent des Controls.

const ResId& rResId	Die ID des Controls in der Resource.

Querverweise

Resource

_______________


Control::~Control()

virtual Control::~Control();

Beschreibung

Destruktor der Klasse Control.

_______________


Control::ShowFocus( const Rectangle& rRect )
Control::ShowFocus()

void Control::ShowFocus( const Rectangle& rRect );

Beschreibung

Diese Methode zeigt in einem Control an, daß es zur Zeit den Focus besitzt. Sie sollte im GetFocus-Handler eines Controls aufgerufen werden.

Die Anzeige ist abhängig vom verwendeten Basisfenstersystem. Unter Windows und PM wird ein graues Rechteck gezeichnet, unter Motif bekommt das Control einen Rahmen, und auf dem Macintosh wird diese Methode ignoriert.

Parameter

Rectangle& rRect	Ein Rechteck in logischen Einheiten für die Focusanzeige (nur Windows und PM).

Anmerkungen

Damit in der Windows- und der PM-Version das Focus-Rechteck auch nach einem Aufruf von Window::Paint() korrekt gezeichnet wird, muß im Paint-Handler der Hintergrund neu ausgefüllt werden. Andernfalls würde sich das Focus-Rechteck mit seiner XOR-Ausgabe selbst löschen.

_______________


Control::HideFocus()

void Control::HideFocus();

Beschreibung

Diese Methode hebt die Wirkung der Methode ShowFocus() auf. Sie sollte im LoseFocus-Handler eines Controls aufgerufen werden.

_______________


Control::DrawCtrlText( const Point& rPos, const String& rText )
Control::DrawCtrlText()

void Control::DrawCtrlText( const Point& rPos, const String& rText, USHORT nIndex = 0, USHORT nLen = STRING_LEN, BOOL bDisable = FALSE );

Beschreibung

Mit dieser Methode kann ein Text in einem eigenen Control ausgegeben werden. Dabei wird ein Accelerator-Text unterstützt. Kommt eine Tilde (~) im Text vor, wird der folgende Buchstabe als Accelerator hervorgehoben. Um eine Tilde auszugeben, müssen 2 Tilden hintereinander stehen. Wenn das Control nicht aktivierbar ist, wird der Text entsprechend dargestellt. Zur Ausgabe wird der aktuelle Font verwendet. Wenn das Control disabled ist, wird der Text entsprechend disabled dargestellt (z.B. mit grauer Schrift).

Parameter

const Point& rPos	Die Startposition der Ausgabe in logischen Einheiten.

const String& rText	Der Text, der ausgegeben werden soll.

USHORT nIndex	Das Zeichen im String, bei dem die Ausgabe beginnt.

USHORT nLen	Die Anzahl der Character, die ausgegeben werden sollen. Defaultwert (STRING_LEN) ist die gesamte Anzahl der Character im String.

BOOL bDisable	TRUE

Der Text wird grundsätzlich disbled dargestellt, und zwar auch dann, wenn das Control selbst enabled ist.

FALSE

Der Text wird nur dann disabled dargestellt, wenn das Control selbst disabled ist. Im anderen Fall wird auch der Text enabled dargestellt.

Querverweise

Font, OutputDevice::ChangeFont(), OutputDevice::DrawText()

_______________


Control::GetCtrlTextSize( const String& rStr, USHORT nIndex=0 )
Control::GetCtrlTextSize()

Size Control::GetCtrlTextSize( const String& rStr, USHORT nIndex =0, USHORT nLen = STRING_LEN ) const;

Beschreibung

Diese Methode erzeugt keine Ausgabe, sondern berechnet lediglich die für eine Textausgabe mit der Methode DrawCtrlText() benötigte Breite und Höhe in logischen Einheiten. Als Berechnungsgrundlage dient der aktuelle Font.

Parameter

const String& rStr	Der String, für den die Berechnung durchgeführt werden soll.

USHORT nIndex	Das Zeichen im String, ab dem die Größe ermittelt wird.

USHORT nLen	Die Anzahl der Character im String, für die die Berechnung durchgeführt werden soll. Der Defaultwert (STRING_LEN) ist die gesamte Anzahl der Character im String. Wird hier 0 angegeben, so kann die Höhe einer Textausgabe berechnet werden. Die zurückgegebene Breite ist in diesem Fall 0.

Rückgabewert

Size	Die zur Ausgabe des Strings benötigte Größe.

Querverweise

Font, OutputDevice::ChangeFont(), OutputDevice::GetTextSize()


Control::ChangeGetFocusHdl ( const Link& rLink )
Control::ChangeGetFocusHdl()

Link Control::ChangeGetFocusHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn das Control den Focus erhält.

Parameter

const Link& rLink	Der Link zeigt auf den Control-Handler, der gerufen wird, wenn das Control den Focus bekommt. Als Parameter erhält der Handler einen Zeiger auf das Control.

Prototyp des Handlers:

void MyClass::GetFocus( Control* pControl );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, Control::GetFocus()

_______________


Control::GetGetFocusHdl()

Link Control::GetGetFocusHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn das Control den Focus bekommt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


Control::ChangeLoseFocusHdl()

Link Control::ChangeLoseFocusHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn das Control den Focus verliert.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn das Control den Focus verliert. Als Parameter erhält der Handler einen Zeiger auf das Control.

Prototyp des Handlers:

void MyClass::LoseFocus( Control* pControl );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, Control::LoseFocus()

_______________


Control::GetLoseFocusHdl()

Link Control::GetLoseFocusHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn das Control den Focus verliert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


CurrencyBox

class CurrencyBox : public ComboBox, public CurrencyFormatter

{

public:

CurrencyBox(Window* pParent, WinBits nWinStyle);

CurrencyBox( Window* pParent, const ResId& rResId );

void	InsertValue( longnValue, USHORT nPos = COMBOBOX_APPEND);

void	RemoveValue( longnValue);

long	GetValue( USHORTnPos) const;

USHORT	GetValuePos( longnValue) const;

};

Beschreibung

Eine CurrencyBox ist eine ComboBox für formatierte Zahleneinträge mit Währungseinheiten. Die Formatierung der Eingaben und der Listeneinträge geschieht durch die Basisklasse CurrencyFormatter.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

NumericFormatter : CurrencyFormatter

Querverweise

CurrencyFormatter, CurrencyField

_______________


CurrrencyBox::CurrencyBox( Window* pParent, WinBits nWinStyle = 0)
CurrencyBox::CurrencyBox()

CurrencyBox::CurrencyBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse CurrencyBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der CurrencyBox werden aufsteigend sortiert.

_______________


CurrencyBox::CurrencyBox()

CurrencyBox::CurrencyBox( Window*pParent, constResId& rResId);

Beschreibung

Resource-Konstruktor für die Klasse CurrencyBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der CurrencyBox in der Resource.

Querverweise

Resource

_______________


CurrencyBox::InsertValue(long nValue, USHORT nPos = COMBOBOX APPEND )
CurrencyBox::InsertValue()

void CurrencyBox::InsertValue( long nValue, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen Wert an der angegebenen Position in der CurrencyBox ein.

Parameter

long nValue	Der einzufügende Wert.

USHORT nPos	Die Position, an der der Wert eingefügt werden soll. Falls nichts angegeben wird, wird der Wert hinter dem bisher letzten Eintrag eingefügt.

Querverweise

ComboBox

_______________


CurrencyBox::RemoveValue( long nValue )
CurrencyBox::RemoveValue()

void CurrencyBox::RemoveValue( longnValue);

Beschreibung

Die Methode entfernt den übergebenen Wert aus der CurrencyBox.

Parameter

long nValue	Der Wert, der entfernt werden soll.

Querverweise

ComboBox

_______________


CurrencyBox::GetValue( USHORT nPos )
CurrencyBox::GetValue()

long CurrencyBox::GetValue( USHORTnPos) const;

Beschreibung

Die Methode liefert den Wert zurück, der sich an der angegebenen Position innerhalb der CurrencyBox befindet.

Parameter

USHORT nPos	Die Position, an der sich der Wert befindet, der ermittelt werden soll.

Rückgabewert

long	Der Wert, der sich an der Position nPos befindet.

Querverweise

ComboBox

_______________


CurrencyBox::GetValuePos long nValue )
CurrencyBox::GetValuePos()

USHORT CurrencyBox::GetValuePos( longnValue) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Werts innerhalb der CurrencyBox.

Parameter

long nValue	Der Wert, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Werts.

Querverweise

ComboBox

_______________


CurrencyField

class CurrencyField : publicSpinField, publicCurrencyFormatter

{

public:

CurrencyField( Window* pParent, WinBits nWinStyle);

CurrencyField( Window* pParent, constResId& rResId);

long	ChangeFirst( longnNewFirst);

long	GetFirst() const;

long	ChangeLast( longnNewLast);

long	GetLast() const;

};

Beschreibung

Das CurrencyField ist ein Eingabefeld für formatierte Zahleneingaben mit Währungseinheiten.

Basisklassen

SpinField  :  Edit : Control :  Window  :  OutputDevice  :  Resource  :  LinkHdl ;

NumericFormatter : CurrencyFormatter

Querverweise

SpinField, CurrencyBox, CurrencyFormatter

_______________


CurrencyField::CurrencyField( Window* pParent, WinBits nWinStyle = 0 )
CurrencyField::CurrencyField()

CurrencyField::CurrencyField(Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse CurrencyField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das CurrencyField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das CurrencyField erhält einen SpinButton.

WB_REPEAT

Bei längerem Betätigen des SpinButtons soll die Aktion fortlaufend durchgeführt werden.

Querverweise

SpinField, Edit, Window

_______________


CurrendyField::CurrencyField( Window* pParent, const ResId rResId )
CurrencyField::CurrencyField()

CurrencyField::CurrencyField( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse CurrencyField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des CurrencyFields.

Querverweise

Resource

_______________


CurrencyField::ChangeFirst( long nNewFirst )
CurrencyField::ChangeFirst()

long CurrencyField::ChangeFirst( long nNewFirst );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Parameter

long nNewFirst	Der neue Wert, der durch Betätigen der Taste <PGDOWN>  gesetzt wird. Dieser  Wert muß in dem mit den Methoden ChangeMin() und :ChangeMax() eingestellten Bereich liegen.

Querverweise

CurrencyField::First(), NumericFormatter::ChangeMin(), NumericFormatter::ChangeMax()

_______________


CurrencyField::GetFirst()

long CurrencyField::GetFirst() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

_______________


CurrencyField::ChangeLast( long nNewLast )
CurrencyField::ChangeLast()

long CurrencyField::ChangeLast( longnNewLast);

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGUP> gesetzt wird.

Parameter

long nNewLast	Der neue Wert, der durch Betätigen der Taste <PGUP> gesetzt wird. Dieser  Wert muß in dem mit den Methoden ChangeMin() und ChangeMax() eingestellten Bereich liegen.

Querverweise

CurrencyField::GetLast(), NumericFormatter::ChangeMin(), NumericFormatter::ChangeMax()

_______________


CurrencyField::GetLast()

long CurrencyField::GetLast() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGUP> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

_______________


CurrencyField::ChangeSpinSize( long nSpinSize )
CurrencyField::ChangeSpinSize()

long CurrencyField::ChangeSpinSize( long nSpinSize );

Beschreibung

Die Methode legt fest, um welchen Wert der Wert des CurrencyFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten nach oben bzw. nach unten erhöht bzw. erniedrigt werden soll.

Parameter

long nSpinSize	Der Wert, um den der Wert des CurrencyFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt werden soll.

Rückgabewert

long	Der zuvor gesetzte Wert, um den der aktuelle Wert des CurrencyFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt wurde.

Querverweise

CurrencyField::GetSpinSize(), SpinField

_______________


CurrencyField::GetSpinSize()

long CurrencyField::GetSpinSize() const;

Beschreibung

Die Methode gibt den zurück, um den das CurrencyField bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten nach oben bzw. nach unten erhöht bzw. erniedrigt wird.

Rückgabewert

long	Der Wert, um den der Wert des CurrencyFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt wird.

_______________


CurrencyFormatter

class CurrencyFormatter : public NumericFormatter

{

CurrencyFormatter();

CurrencyFormatter( constResId& rResId);

public:

void	SetValue( longnNewValue);

long	GetValue() const;

void	Reformat();

};

Beschreibung

Die Klasse CurrencyFormatter ist eine Basisklasse für die Klassen CurrencyField und CurrencyBox. Aufbauend auf die Funktionalität der Basisklasse NumericFormatter sorgt diese Klasse für die Formatierung der Eingabe und Anzeige von Währungsangaben. Es können keine Instanzen dieser Klasse direkt erzeugt werden.

Basisklassen

NumericFormatter

Querverweise

NumericFormatter, CurrencyField, CurrencyBox

_______________


CurrencyFormatter::CurrencyFormatter()

CurrencyFormatter::CurrencyFormatter();

Beschreibung

Konstruktor der Klasse CurrencyFormatter. Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Querverweise

CuurencyField, CurrencyBox

_______________


CurrencyFormatter::CurrencyFormatter( constResId& rResId)
CurrencyFormatter::CurrencyFormatter()

CurrencyFormatter::CurrencyFormatter( constResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse CurrencyFormatter. Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Parameter

const ResId& rResId	Der Resource-Identifier des CurrencyFormatter.

Querverweise

CurrencyField, CurrencyBox

_______________


void CurrencyFormatter::SetValue( longnValue)
CurrencyFormatter::SetValue()

void CurrencyFormatter::SetValue( longnValue);

Beschreibung

Die Methode setzt einen neuen Wert für das CurrencyField bzw. die CurrencyBox.

Parameter

long nValue	Der neue Wert. Der Wert beinhaltet auch die Nachkommastellen. Bei zwei Nachkommastellen entspricht der Wert 10099 für nValue beispielsweise dem Betrag von 100,99. Ist der übergebene Wert kleiner als der Minimalwert, so wird der Feldinhalt auf den Minimalwert gesetzt. Ist der Wert größer als der Maximalwert, so wird entsprechend der Maximalwert gesetzt.

Querverweise

CurrencyFormatter::GetValue(), NumericFormatter, CurrencyField, CurrencyBox

_______________


CurrencyFormatter::GetValue()

long CurrencyFormatter::GetValue() const;

Beschreibung

Die Methode ermittelt den gesetzten Wert des CurrencyField oder der CurrencyBox.

Rückgabewert

long	Der aktuell gesetzte Wert. Der Wert beinhaltet auch die Nachkommastellen. Bei zwei Nachkommastellen entspricht der Wert 10099 für nValue beispielsweise dem Betrag von 100,99.

Querverweise

CurrencyFormatter::SetValue(), NumericFormatter, CurrencyField, CurrencyBox

_______________


CurrencyFormatter::Reformat()

virtual void CurrencyFormatter::Reformat();

Beschreibung

Diese Methode überprüft den Inhalt des CurrencyField oder der CurrencyBox auf korrekten Inhalt und korrigiert die Formatierung entsprechend den Einstellungen. Diese Methode wird automatisch gerufen, wenn das Eingabefeld den Focus verliert. Durch Aufruf dieser Methode kann eine Applikation jederzeit zusätzlich eine Überprüfung und Korrektur des Inhalts der CurrencyField oder der CurrencyBox vornehmen.

Querverweise

CurrencyField, CurrencyBox

_______________


Cursor

class Cursor

{

public:

Cursor();

Cursor( const Cursor& rCursor );

~Cursor();

void	Show();

void	Hide();

BOOL	IsVisible() const;

Point	ChangePos( const Point& rPos );

Point	GetPos() const;

Size	ChangeSize( const Size& rNewSize );

Size	GetSize() const;

short	ChangeSlant( short nSlant = 0 );

short	GetSlant() const;

Cursor&	operator =( const Cursor& rCursor );

BOOL	operator ==( const Cursor& rCursor ) const;

BOOL	operator !=( const Cursor& rCursor ) const;

};

Beschreibung

Die Klasse Cursor stellt einen Texcursor für Textausgaben in einem Fenster zur Verfügung. In der Regel stellt der Textcursor eine blinkende senkrechte Linie dar. Die Position, Breite und Höhe der Linie sowie deren Neigung (zur Anpassung an kursive Fonts) kann verändert werden. Der Textcursor ist nach seiner Erzeugung unsichtbar und muß von der Applikation durch Aufruf der Methode Show() sichtbar geschaltet werden. Der Zustand der Sichtbarkeit wird in der Instanz der Klasse Cursor gespeichert.

Es kann lediglich ein Textcursor im gesamten Fenstersystem sichtbar sein. Dies ist der Textcursor des Fensters, das den Focus besitzt. Aus diesem Grund ist es möglich, daß ein Textcursor bei Aufruf der Methode IsVisible() den Wert TRUE liefert, obwohl der Textcursor auf dem Bildschirm nicht sichtbar ist. Der Cursor wird automatisch nur in dem Fenster angezeigt, das den Focus besitzt.

Querverweise

Window

_______________


Cursor::Cursor()

Cursor::Cursor();

Beschreibung

Konstruktor der Klasse Cursor. Die Werte für Slant und Größe müssen nachträglich eingestellt werden.

Querverweise

Cursor::ChangeSize(), Cursor::ChangeSlant()

_______________


Cursor( const Cursor& rCursor )
Cursor::Cursor()

Cursor::Cursor( const Cursor& rCursor );

Beschreibung

Copy-Konstruktor der Klasse Cursor.

Parameter

const Cursor& rCursor	Referenz auf einen Cursor.

_______________


Cursor::~Cursor()

Cursor::~Cursor();

Beschreibung

Destruktor der Klasse Cursor.

_______________


Cursor::Show()

void Cursor::Show();

Beschreibung

Der Aufruf der Methode schaltet den Textcursor sichtbar. Er wird im zugeordneten Fenster dargestellt, wenn dieses den Focus besitzt.

_______________


Cursor::Hide()

void Cursor::Hide();

Beschreibung

Der Aufruf der Methode schaltet den Textcursor unsichtbar.

_______________


Cursor::IsVisible()

BOOL Cursor::IsVisible() const;

Beschreibung

Diese Methode liefert den Wert TRUE, wenn der Textcursor mit Hilfe der Methode Show() sichtbar gemacht wurde. Der Rückgabewert ist unabhängig davon, ob das zugeordnete Fenster den Focus besitzt.

Rückgabewert

BOOL	TRUE

Der Cursor ist sichtbar.

FALSE

Der Cursor ist nicht sichtbar.

_______________


Cursor::ChangePos( const Point& rPos )
Cursor::ChangePos()

Point Cursor::ChangePos( const Point& rPos );

Beschreibung

Die Methode setzt die Textcursorposition. Die Position wird in logischen Koordinaten des zugeordneten Fensters angegeben und bezieht sich auf die linke obere Ecke des den Textcursor umschließenden Rechtecks.

Parameter

const Point& rPos	Die neue Position des Textcursors in logischen Koordinaten.

Rückgabewert

Point	Die alte Position des Textcursors in logischen Koordinaten.

Querverweise

MapMode

_______________


Cursor::GetPos()

Point Cursor::GetPos() const;

Beschreibung

Die Methode liefert die aktuelle Position des Textcursors. Die Position wird in logischen Koordinaten des zugeordneten Fensters zurückgegeben und bezieht sich auf die linke obere Ecke des den Textcursor umschließenden Rechtecks.

Rückgabewert

Point	Die Position des Textcursors in logischen Koordinaten.

Querverweise

MapMode

_______________


Cursor::ChangeSize( const Size& rSize )
Cursor::ChangeSize()

Size Cursor::ChangeSize( const Size& rSize );

Beschreibung

Die Methode setzt die Größe des Textcursors. Die Größe wird in logischen Koordinaten des zugeordneten Fensters angegeben. Wird bei der Höhe oder Breite 0 angegeben, so ist der Textcursor 1 Pixel hoch bzw. breit.

Parameter

const Size& rSize	Die neue Größe des Textcursors in logischen Koordinaten des zugeordneten Fensters.

Rückgabewert

Size	Die alte Größe des Textcursors in logischen Koordinaten des zugeordneten Fensters.

Querverweise

MapMode

_______________


Cursor::GetSize()

Size Cursor::GetSize() const;

Beschreibung

Die Methode liefert die Größe des Textcursors in logischen Koordinaten des zugeordneten Fensters. Die Größe kann mit der Methode ChangeSize() geändert werden.

Rückgabewert

Size	Die Größe des Textcursors in logischen Koordinaten des zugeordneten Fensters.

Querverweise

MapMode

_______________


Cursor::ChangeSlant( short nSlanc = 0 )
Cursor::ChangeSlant()

short Cursor::ChangeSlant( short nSlant = 0 );

Beschreibung

Die Methode setzt die Verschiebung der linken oberen Ecke des Cursors. Die Verschiebung wird in logischen Koordinaten des zugeordneten Fensters angegeben. Die Neigung nSlant = 0 bedeutet, daß der Textcursor senkrecht steht. Ein positiver Wert von nSlant erzeugt einen Textcursor in der Form eines "/", ein negativer Wert von nSlant einen Textcursor in der Form eines "\".

Parameter

short nSlant	Die neue Verschiebung der linken oberen Ecke des Cursors in logischen Koordinaten des zugeordneten Fensters.

Rückgabewert

short	Die alte Verschiebung der linken oberen Ecke des Cursors in logischen Koordinaten des zugeordneten Fensters.

_______________


Cursor::GetSlant()

short Cursor::GetSlant() const;

Beschreibung

Die Methode liefert die Verschiebung der linken oberen Ecke des Cursors in logischen Einheiten des zugeordneten Fensters. Sie kann mit der Methode ChangeSlant() geändert werden.

Rückgabewert

short	Die Verschiebung der linken oberen Ecke des Cursors in logischen Koordinaten des zugeordneten Fensters.

_______________


Cursor::operator =()

Cursor& Cursor::operator =( const Cursor& rCursor );

Beschreibung

Zuweisungsoperator der Klasse Cursor.

Parameter

const Cursor& rCursor	Referenz auf einen Cursor.

Rückgabewert

Cursor&	Eine Referenz auf das Ergebnis der Zuweisung.

_______________


Cursor::operator ==( const Cursor rCursor )
Cursor::operator ==()

BOOL Cursor::operator ==( const Cursor& rCursor ) const;

Beschreibung

Vergleichsoperator der Klasse Cursor.

Parameter

const Cursor& rCursor	Referenz auf einen Cursor.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Textcursor sind identisch.

FALSE

Die Eigenschaften der verglichenen Textcursor sind unterschiedlich.

_______________


Cursor::operator !=( const Cursor& rCursor )
Cursor::operator !=()

BOOL Cursor::operator !=( const Cursor& rCursor ) const;

Beschreibung

Vergleichsoperator der Klasse Cursor.

Parameter

const Cursor& rCursor	Referenz auf einen Cursor.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Textcursor sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Textcursor sind identisch.

_______________


Date

enum DayOfWeek	{ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY };

class Date

{

public:

Date();

Date( const ResId & rResId );

Date( ULONG nDate );

Date( const Date& rDate );

Date( USHORT nDay, USHORT nMonth, USHORT nYear );

ULONG	ChangeDate( ULONG nNewDate );

ULONG	GetDate() const;

USHORT	ChangeDay( USHORT nNewDay );

USHORT	ChangeMonth( USHORT nNewMonth );

USHORT	ChangeYear( USHORT nNewYear );

USHORT	GetDay() const;

USHORT	GetMonth() const;

USHORT	GetYear() const;

DayOfWeek	GetDayOfWeek() const;

USHORT	GetDayOfYear() const;

USHORT	GetWeekOfYear() const;

USHORT	GetDaysInMonth() const;

USHORT	GetDaysInYear() const;

BOOL	IsLeapYear() const;

BOOL	IsValid() const;

BOOL	IsBetween( const Date& rFrom, const Date& rTo ) const;

friend BOOL	operator ==( const Date& rDate1, const Date& rDate2 );

friend BOOL	operator !=( const Date& rDate1, const Date& rDate2 );

friend BOOL	operator  >( const Date& rDate1, const Date& rDate2 );

friend BOOL	operator  <( const Date& rDate1, const Date& rDate2 );

friend BOOL	operator >=( const Date& rDate1, const Date& rDate2 );

friend BOOL	operator <=( const Date& rDate1, const Date& rDate2 );

Date&	operator =( const Date& rDate );

Date&	operator +=( ULONG nDays );

Date&	operator -=( ULONG nDays );

Date& 	operator ++();

Date  	operator ++( int )

Date	operator --();

Date	operator --( int );

friend Date	operator +( const Date& rDate, ULONG nDays );

friend Date	operator -( const Date& rDate, ULONG nDays );

friend ULONG	operator -( const Date& rDate1, const Date& rDate2 );

};

Beschreibung

Die Klasse Date bietet Methoden zur Verwaltung eines Datums. Es können verschiedene Operationen auf ein Datum ausgeführt werden. So ist es z.B. möglich, 2 Daten miteinander zu vergleichen oder eine bestimmte Anzahl von Tagen zu addieren oder zu subtrahieren. Mit dieser Klasse läßt sich auch der Wochentag bestimmen.

_______________


enum DayOfWeek

enum DayOfWeek	{ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY };

Beschreibung

Die Werte des enum DayOfWeek bestimmen den Wochentag.

MONDAY	Montag

TUESDAY	Dienstag

WEDNESDAY	Mittwoch

THURSDAY	Donnerstag

FRIDAY	Freitag

SATURDAY	Samstag

SUNDAY	Sonntag

_______________


Date::Date()

Date::Date();

Beschreibung

Konstruktor der Klasse Date. Als Wert wird das heutige Datum genommen.

_______________


Date::Date( const ResId& rResId )
Date::Date()

Date::Date( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Date.

Parameter

const ResId& rResId	Der Resource-Identifier des Datums.

_______________


Date::Date( ULONG nDate )
Date::Date()

Date::Date( ULONG nDate );

Beschreibung

Konstruktor der Klasse Date. Dieser Konstruktor ist dazu gedacht, ein Datum mit einem Wert zu erzeugen, der mit GetDate() abgefragt wurde. Dies wird zum Beispiel gebraucht, wenn ein Datum in einer Datei oder in einer Datenbank gespeichert werden soll.

Parameter

ULONG nDate	Das Datum, das mit GetDate() abgefragt wurde.

_______________


Date::Date( const Date& rDate )
Date::Date()

Date::Date( const Date& rDate );

Beschreibung

Copy-Konstruktor der Klasse Date. Als Wert wird der Wert des übergebenen Datums übernommen.

Parameter

const Date& rDate	Das Datum, dessen Wert übernommen werden soll.

_______________


Date::Date( USHORT nDay, USHORT nMonth, USHORT nYear )
Date::Date()

Date::Date( USHORT nDay, USHORT nMonth, USHORT nYear );

Beschreibung

Dieser Konstruktor erzeugt ein Datum aus den übergebenen Werten für Tag, Monat und Jahr.

Parameter

USHORT nDay	Der gewünschte Tag des Datums (1-31).

USHORT nMonth	Der gewünschte Monat des Datums (1-12).

USHORT nYear	Das gewünschte Jahr des Datums (1800-9999).

_______________


Date::ChangeDate( ULONG nNewDate )
Date::ChangeDate()

ULONG Date::ChangeDate( ULONG nNewDate );

Beschreibung

Diese Methode ändert das Datum. Diese Methode ist dazu gedacht, ein Datum, das mit GetDate() abgefragt wurde, wieder in eine Instanz der Klasse Datum zu setzen. Dies wird zum Beispiel gebraucht, wenn ein Datum in einer Datei oder in einer Datenbank gespeichert werden soll.

Parameter

ULONG nNewDate	Das neue Datum.

Rückgabewert

ULONG	Das vorher gesetzte Datum.

_______________


Date::GetDate()

ULONG Date::GetDate() const;

Beschreibung

Diese Methode ermittelt das gesetzte Datum. Dieser Wert kann dazu benutzt werden, das Datum einfach in einer Datei oder in einer Datenbank zu speichern. Der Wert kann mit ChangeDate() in eine andere Datumsinstanz gesetzt werden.

Rückgabewert

ULONG	Das gesetzte Datum.

_______________


Date::ChangeDay( USHORT nNewDay )
Date::ChangeDay()

USHORT Date::ChangeDay( USHORT nNewDay );

Beschreibung

Diese Methode ändert den Tag.

Parameter

USHORT nNewDay	Der gewünschte neue Tag des Datums (1-31).

Rückgabewert

USHORT	Der vorher gesetzte Tag (1-31).

_______________


Date::ChangeMonth( USHORT nNewMonth )
Date::ChangeMonth()

USHORT Date::ChangeMonth( USHORT nNewMonth );

Beschreibung

Diese Methode ändert den Monat.

Parameter

USHORT nNewMonth	Der gewünschte neue Monat des Datums (1-12).

Rückgabewert

USHORT	Der vorher gesetzte Monat (1-12).

_______________


Date::ChangeYear( USHORT nNewYear )
Date::ChangeYear()

USHORT Date::ChangeYear( USHORT nNewYear );

Beschreibung

Diese Methode ändert das Jahr.

Parameter

USHORT nNewYear	Das gewünschte neue Jahr des Datums (1800-9999).

Rückgabewert

USHORT	Das vorher gesetzte Jahr (1800-9999).

_______________


Date::GetDay()

USHORT Date::GetDay() const;

Beschreibung

Die Methode liefert den gesetzten Tag zurück.

Rückgabewert

USHORT	Der Tag, der gesetzt ist (1-31).

_______________


Date::GetMonth()

USHORT Date::GetMonth() const;

Beschreibung

Die Methode liefert den gesetzten Monat zurück.

Rückgabewert

USHORT	Der Monat, der gesetzt ist (1-12).

_______________


Date::GetYear()

USHORT Date::GetYear() const;

Beschreibung

Die Methode liefert das gesetzte Jahr zurück.

Rückgabewert

USHORT	Das Jahr, das gesetzt ist (1800-9999).

_______________


Date::GetDayOfWeek()

DayOfWeek Date::GetDayOfWeek() const;

Beschreibung

Die Methode liefert den Wochentag des Datums zurück.

Rückgabewert

DayOfWeek	Der Wochentag des Datums.

_______________


Date::GetDayOfYear()

USHORT Date::GetDayOfYear() const;

Beschreibung

Die Methode liefert den Tag des Datums relativ zum Beginn des Jahres zurück.

Rückgabewert

USHORT	Der Tag des Datums relativ zum Beginn des Jahres (1-366).

_______________


Date::GetWeekOfYear()

USHORT Date::GetWeekOfYear() const;

Beschreibung

Die Methode liefert die Woche des Datums relativ zum Beginn des Jahres zurück.

Rückgabewert

USHORT	Die Woche des Datums relativ zum Beginn des Jahres (1-53).

_______________


Date::GetDaysInMonth()

USHORT Date::GetDaysInMonth() const;

Beschreibung

Die Methode liefert die Anzahl der Tage im gesetzten Monat zurück.

Rückgabewert

USHORT	Die Anzahl der Tage im gesetzten Monat (1-31).

_______________


Date::GetDaysInYear()

USHORT Date::GetDaysInYear() const;

Beschreibung

Die Methode liefert die Anzahl der Tage im gesetzten Jahr zurück.

Rückgabewert

USHORT	Die Anzahl der Tage im gesetzten Jahr (365 oder 366).

_______________


Date::IsLeapYear()

BOOL Date::IsLeapYear() const;

Beschreibung

Die Methode ermittelt, ob es sich bei dem Jahr des Datums um ein Schaltjahr handelt.

Rückgabewert

BOOL	TRUE

Bei dem Jahr handelt es sich um ein Schaltjahr.

FALSE

Bei dem Jahr handelt es sich nicht um ein Schaltjahr.

_______________


Date::IsValid()

BOOL Date::IsValid() const;

Beschreibung

Diese Methode prüft, ob es sich um ein gültiges Datum handelt.

Rückgabewert

BOOL	TRUE

Es handelt sich um ein gültiges Datum.

FALSE

Es handelt sich nicht um ein gültiges Datum.

_______________


Date::IsBetween( const Date& rFrom, const Date& rTo )
Date::IsBetween()

BOOL Date::IsBetween( const Date& rFrom, const Date& rTo ) const;

Beschreibung

Die Methode ermittelt, ob sich das Datum zwischen den übergebenen Daten befindet. Sie liefert TRUE zurück, wenn das Datum größer oder gleich dem Datum rFrom und kleiner oder gleich dem Datum rTo ist.

Parameter

const Date& rFrom	Das Datum, ab dem geprüft werden soll.,

const Date& rTo	Das Datum, bis zu dem geprüft werden soll.

Rückgabewert

BOOL	TRUE

Das Datum ist größer oder gleich dem Datum rFrom und kleiner oder gleich dem Datum rTo.

FALSE

Das Datum befindet sich außerhalb dieses Bereiches.

_______________


Date::operator ==( const Date& rDate1, const Date& rDate2 )
Date::operator ==()

friend BOOL Date::operator ==( const Date& rDate1, const Date& rDate2 );

Beschreibung

Die Methode prüft, ob die übergebenen Datumswerte übereinstimmen.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Die Datumswerte unterscheiden sich nicht.

FALSE

Die Datumswerte unterscheiden sich.

_______________


Date::operator !=( const Date& rDate1, const Date& rDate2 )
Date::operator !=()

friend BOOL Date::operator !=( const Date& rDate1, const Date& rDate2 );

Beschreibung

Die Methode prüft, ob die übergebenen Datumswerte unterschiedlich sind.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Die Datumswerte unterscheiden sich.

FALSE

Die Datumswerte unterscheiden sich nicht.

_______________


Date::operator >( const Date& rDate1, const Date& rDate2 )
Date::operator >()

friend BOOL Date::operator >( const Date& rDate1, const Date& rDate2 );

Beschreibung

Die Methode prüft, ob das erste übergebene Datum größer ist als das zweite.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Das erste übergebene Datum ist größer als das zweite.

FALSE

Das erste Datum ist nicht größer als das zweite.

_______________


Date::operator <( const Date& rDate1, const Date& rDate2 )
Date::operator <()

friend BOOL Date::operator <( const Date& rDate1, const Date& rDate2 );

Beschreibung

Die Methode prüft, ob das erste übergebene Datum kleiner ist als das zweite.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Das erste übergebene Datum ist kleiner als das zweite.

FALSE

Das erste Datum ist nicht kleiner als das zweite.

_______________


Date::operator >=( const Date& rDate1,const Date& rDate2 )
Date::operator >=()

friend BOOL Date::operator >=( const Date& rDate1,const Date& rDate2 );

Beschreibung

Die Methode prüft, ob das erste übergebene Datum größer oder gleich dem zweiten ist.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Das erste übergebene Datum ist größer oder gleich dem zweiten Datum.

FALSE

Das erste Datum ist kleiner als das zweite.

_______________


Date::operator <=( const Date& rDate1, const Date& rDate2 )
Date::operator <=()

friend BOOL Date::operator <=( const Date& rDate1, const Date& rDate2 );

Beschreibung

Die Methode prüft, ob das erste übergebene Datum kleiner oder gleich dem zweiten ist.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Datumswerte.

Rückgabewert

BOOL	TRUE

Das erste übergebene Datum ist kleiner oder gleich dem zweiten Datum.

FALSE

Das erste Datum ist größer als das zweite.

_______________


Date::operator =( const Date& rDate )
Date::operator =()

Date& Date::operator =( const Date& rDate );

Beschreibung

Zuweisungsoperator der Klasse Date. Als Wert wird der Wert des übergebenen Datums gesetzt.

Parameter

const Date& rDate	Das Datum, dessen Wert übernommen werden soll.

Rückgabewert

Date&	Referenz auf die eigene Instanz.

_______________


Date::operator +=( ULONG nDays )
Date::operator +=()

Date& Date::operator +=( ULONG nDays );

Beschreibung

Dieser Operator setzt das Datum um die Anzahl der übergebenen Tage weiter.

Parameter

ULONG nDays	Die Anzahl der Tage, um die das Datum weitergesetzt werden soll.

Rückgabewert

Date&	Referenz auf die eigene Instanz.

_______________


Date::operator -=( ULONG nDays )
Date::operator -=()

Date& Date::operator -=( ULONG nDays );

Beschreibung

Dieser Operator setzt das Datum um die Anzahl der übergebenen Tage zurück.

Parameter

ULONG nDays	Die Anzahl der Tage, um die das Datum zurückgesetzt werden soll.

Rückgabewert

Date&	Referenz auf die eigene Instanz.

_______________


Date::operator ++()

Date& Date::operator ++();

Beschreibung

Prefix ++ Operator der Klasse Date. Dieser Operator setzt das Datum um einen Tag weiter und gibt das neue Datum zurück.

Rückgabewert

Date&	Referenz auf die eigene Instanz.

_______________


Date::operator -- ()

Date& Date::operator --();

Beschreibung

Prefix -- Operator der Klasse Date. Dieser Operator setzt das Datum um einen Tag zurück und gibt das neue Datum zurück.

Rückgabewert

Date&	Referenz auf die eigene Instanz.

_______________


Date::operator ++( int )
Date::operator ++()

Date Date::operator ++( int );

Beschreibung

Postfix ++ Operator der Klasse Date. Dieser Operator setzt das Datum um einen Tag weiter und gibt das zuvor gesetzte Datum zurück.

Parameter

int	Dummy-Parameter.

Rückgabewert

Date	Das zuvor gesetzte Datum.

_______________


Date::operator --( int )
Date::operator --()

Date Date::operator --( int );

Beschreibung

Postfix -- Operator der Klasse Date. Dieser Operator setzt das Datum um einen Tag zurück und gibt das zuvor gesetzte Datum zurück.

Parameter

int	Dummy-Parameter.

Rückgabewert

Date	Das zuvor gesetzte Datum.

_______________


operator +( const Date& rDate, ULONG nDays )
Date::operator +()

friend Date operator +( const Date& rDate, ULONG nDays );

Beschreibung

Dieser Operator setzt eine Kopie des übergebenen Datums um die übergebene Anzahl der Tage weiter und gibt das neue Datum zurück.

Parameter

const Date& rDate	Das Ausgangsdatum.

ULONG nDays	Die Anzahl der Tage, um die das Ausgangsdatum weitergesetzt werden soll.

Rückgabewert

Date	Das übergebene Datum, weitergesetzt um die Anzahl der übergebenen Tage.

_______________


operator -( const Date& rDate, ULONG nDays )
Date::operator -()

friend Date operator -( const Date& rDate, ULONG nDays );

Beschreibung

Dieser Operator setzt eine Kopie des übergebenen Datums um die übergebene Anzahl der Tage zurück und gibt das neue Datum zurück.

Parameter

const Date& rDate	Das Ausgangsdatum.

ULONG nDays	Die Anzahl der Tage, um die das Ausgangsdatum zurückgesetzt werden soll.

Rückgabewert

Date	Das übergebene Datum, zurückgesetzt um die Anzahl der übergebenen Tage.

_______________


operator -( const Date& rDate1, const Date& rDate2 )
Date::operator -()

friend ULONG operator -( const Date& rDate1, const Date& rDate2 );

Beschreibung

Dieser Operator liefert den Unterschied zwischen den beiden übergebenen Daten in Tagen zurück.

Parameter

const Date& rDate1,

const Date& rDate2	Die beiden zu vergleichenden Daten.

Rückgabewert

ULONG	Der Unterschied zwischen den beiden übergebenen Daten in Tagen.

_______________


DateBox

class DateBox : public ComboBox, public DateFormatter

{

public:

DateBox( Window* pParent, WinBits nWinStyle );

DateBox( Window* pParent, const ResId& rResId );

void	InsertDate( const Date& rDate, USHORT nPos = COMBOBOX_APPEND );

void	RemoveDate( const Date& rDate );

Date	GetDate( USHORT nPos ) const;

USHORT	GetDatePos( const Date& rDate ) const;

};

Beschreibung

Eine DateBox ist eine ComboBox für formatierte Datumseinträge. Die Formatierung der Einträge geschieht durch die Basisklasse DateFormatter.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

DateFormatter

Querverweise

DateFormatter, DateField

_______________


DateBox::DateBox( Window* pParent, WinBits nWinStyle = 0 )
DateBox::DateBox()

DateBox::DateBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse DateBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der DateBox werden aufsteigend sortiert.

_______________


DateBox::DateBox( Window* pParent, const ResId& rResId );
DateBox::DateBox()

DateBox::DateBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse DateBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der DateBox in der Resource.

Querverweise

Resource

_______________


DateBox::InsertDate( const Date& rDate, USHORT nPos = COMBOBOX_APPEND
DateBox::InsertDate()

void DateBox::InsertDate( const Date& rDate, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen Datumswert an der angegebenen Position in der DateBox ein.

Parameter

const Date& rDate	Der einzufügende Datumswert.

USHORT nPos	Die Position, an der der Datumswert eingefügt werden soll. Falls nichts angegeben wird, wird der Datumswert hinter dem letzten Eintrag eingefügt.

Querverweise

ComboBox, Date

_______________


DateBox::RemoveDate( const Date& rDate )
DateBox::RemoveDate()

void DateBox::RemoveDate( const Date& rDate );

Beschreibung

Die Methode entfernt den übergebenen Datumswert aus der DateBox.

Parameter

const Date& rDate	Der Datumswert, der entfernt werden soll.

Querverweise

ComboBox

_______________


DateBox::GetDate( USHORT nPos )
DateBox::GetDate()

Date DateBox::GetDate( USHORT nPos ) const;

Beschreibung

Die Methode liefert den Datumswert zurück, der sich an der angegebenen Position innerhalb der DateBox befindet.

Parameter

USHORT nPos	Die Position des Wertes, der ermittelt werden soll.

Rückgabewert

Date	Der Datumswert, der sich an der Position nPos befindet.

Querverweise

ComboBox

_______________


DateBox::GetDatePos( const Date& rDate )
DateBox::GetDatePos()

USHORT DateBox::GetDatePos( const Date& rDate ) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Datumswerts innerhalb der DateBox.

Parameter

const Date& rDate	Der Datumswert, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Datumswerts.

Querverweise

ComboBox

_______________


DateField

class DateField : public SpinField, public DateFormatter

{

public:

DateField( Window* pParent, WinBits nWinStyle );

DateField( Window* pParent,const ResId& rResId);

Date	ChangeFirst( const Date& rNewFirst );

Date	GetFirst() const;

Date	ChangeLast( const Date& rNewLast );

Date	GetLast() const;

};

Beschreibung

Das DateField ist ein Eingabefeld für formatierte Datumseingaben.

Basisklassen

SpinField : Edit  :  Control  :  Window  :  OutputDevice  :  Resource :  LinkHdl;

DateFormatter

Querverweise

SpinButton, DateBox

_______________


DateField::DateField(Window* pParent,WinBits nWinStyle = 0)
DateField::DateField()

DateField::DateField(Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse DateField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das DateField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das DateField erhält einen SpinButton.
WB_REPEAT

Bei längerem Betätigen des SpinButtons soll die Aktion fortlaufend durchgeführt werden.

Querverweise

SpinField, Edit, Window

_______________


DateField::DateField( Window* pParent, const ResId& rResId)
DateField::DateField()

DateField::DateField( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse DateField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des DateFields.

Querverweise

Resource

_______________


DateField::ChangeFirst( long nNewFirst )
DateField::ChangeFirst()

long DateField::ChangeFirst( long nNewFirst );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Parameter

long nNewFirst	Der neue Wert, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Querverweise

DateField::First(), DateField::ChangeMin (), DateField::ChangeMax()

_______________


DateField::GetFirst()

long DateField::GetFirst() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

_______________


DateField::ChangeLast( long nNewLast )
DateField::ChangeLast()

long DateField::ChangeLast( long nNewLast );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGUP> gesetzt wird.

Parameter

long nNewLast	Der neue Wert, der durch Betätigen der Taste <PGUP> erreicht wird.

Querverweise

DateField::GetLast(), DateField::ChangeMin(), DateField::ChangeMax()

_______________


DateField::GetLast()

long DateField::GetLast() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGUP> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

_______________


DateFormatter

class DateFormatter

{

protected:

DateFormatter();

DateFormatter( const ResId & rResId );

public:

Date	ChangeMin( const Date& rNewMin );

Date	GetMin() const;

Date	ChangeMax( const Date& rNewMax );

Date	GetMax() const;

BOOL	ChangeLongFormat( BOOL bLong );

BOOL	IsLongFormat() const;

BOOL	ChangeStrictFormat( BOOL bStrict );

BOOL	GetStrictFormat() const;

International	ChangeInternational(const International& rInter);

International	GetInternational() const;

void	SetDate( const Date& rNewDate );

Date	GetDate() const;

BOOL	IsDateModified() const;

virtual void	Reformat();

};

Beschreibung

Die Klasse DateFormatter ist eine Basisklasse für die Klassen DateField und DateBox und sorgt für die Formatierung von Eingaben und Anzeige von Datumsangaben. Es können keine Instanzen dieser Klasse direkt erzeugt werden.

Querverweise

DateField, DateBox, Date, International

_______________


DateFormatter::DateFormatter()

DateFormatter::DateFormatter();

Beschreibung

Konstruktor der Klasse DateFormatter.  Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Querverweise

DateField, DateBox

_______________


DateFormatter::DateFormatter( const ResId & rResId )
DateFormatter::DateFormatter()

DateFormatter::DateFormatter( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse DateFormatter. Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Parameter

const ResId& rResId	Der Resource-Identifier des DateFormatter.

Querverweise

DateField, DateBox

_______________


DateFormatter::ChangeMin( const Date& rNewMin )
DateFormatter::ChangeMin()

Date DateFormatter::ChangeMin( const Date& rNewMin );

Beschreibung

Die Methode setzt einen neuen Minimalwert für die Datumseingabe im DateField oder der DateBox. Wird anschließend ein Datumswert eingegeben,. der kleiner ist als der Minimalwert, wird der Wert des DateField oder der DateBox auf den Minimalwert gesetzt.

Parameter

const Date& rMin	Der neue Minimalwert für die Datumseingabe.

Rückgabewert

Date	Der zuvor gesetzte Minimalwert für die Datumseingabe.

Querverweise

DateFormatter::ChangeMax(), DateField, DateBox, Date

_______________


DateFormatter::GetMin()

Date DateFormatter::GetMin() const;

Beschreibung

Die Methode gibt den für die Datumseingabe im DateField oder der DateBox gesetzten Minimalwert zurück.

Rückgabewert

Date	Der gesetzte Minimalwert für die Datumseingabe.

Querverweise

DateFormatter::ChangeMin(), DateField, DateBox, Date

_______________


DateFormatter::ChangeMax( const Date& rNewMax )
DateFormatter::ChangeMax()

Date DateFormatter::ChangeMax( const Date& rNewMax );

Beschreibung

Die Methode setzt einen neuen Maximalwert für die Datumseingabe im DateField oder der DateBox. Wird anschließend ein Datumswert eingegeben, der größer ist als der Maximalwert, wird der Wert des DateField oder der DateBox auf den Maximalwert gesetzt.

Parameter

const Date& rMax	Der neue Maximalwert für die Datumseingabe.

Rückgabewert

Date	Der zuvor gesetzte Maximalwert für die Datumseingabe.

Querverweise

DateFormatter::ChangeMin(), DateField, DateBox, Date

_______________


DateFormatter::GetMax()

Date DateFormatter::GetMax() const;

Beschreibung

Die Methode gibt den für die Datumseingabe im DateField oder der DateBox gesetzten Maximalwert zurück.

Rückgabewert

Date	Der gesetzte Maximalwert für die Datumseingabe.

Querverweise

DateFormatter::ChangeMax(), DateField, DateBox, Date

_______________


DateFormatter::ChangeLongFormat( BOOL bLong )
DateFormatter::ChangeLongFormat()

BOOL DateFormatter::ChangeLongFormat( BOOL bLong );

Beschreibung

Die Methode setzt die kurze oder lange Darstellungsform für Datumswerte.

Parameter

BOOL bLong	TRUE

Das Datum soll im Langformat dargestellt werden,
z.B. "Freitag, der 13. August 1993".

FALSE

Das Datum soll im Kurzformat dargestellt werden,
z.B. "13.08.93".

Rückgabewert

BOOL	TRUE

Das Datum wurde bisher im Langformat dargestellt.

FALSE

Das Datum wurde bisher im Kurzformat dargestellt.

Querverweise

Date, International, DateField, DateBox

_______________


DateFormatter::IsLongFormat()

BOOL DateFormatter::IsLongFormat() const;

Beschreibung

Die Methode liefert zurück, ob Datumswerte im Lang- oder Kurzformat dargestellt werden.

Rückgabewert

BOOL	TRUE

Das Datum wird im Langformat dargestellt.

FALSE

Das Datum wird im Kurzformat dargestellt.

Querverweise

DateFormatter::ChangeLongFormat(), DateField, DateBox, Date, International

_______________


DateFormatter::ChangeStrictFormat( BOOL bStrict )
DateFormatter::ChangeStrictFormat()

BOOL DateFormatter::ChangeStrictFormat( BOOL bStrict );

Beschreibung

Die Methode legt fest, ob im DateField oder der DateBox das gültige Format bereits während der Eingabe kontrolliert werden soll. Es ist dann z.B. nicht möglich, bei Kurzformateinstellung andere Zeichen als Zahlen oder gültige Trennzeichen einzugeben.

Parameter

BOOL bStrict	TRUE

Die Eingabe jedes Zeichens wird überprüft.

FALSE

Die Eingabe wird erst bei Verlassen des Feldes oder bei Aufruf der Methode Reformat() überprüft und korrigiert.

Rückgabewert

BOOL	TRUE

Die ständige Überprüfung der Eingabe war eingeschaltet.

FALSE

Die ständige Überprüfung der Eingabe war ausgeschaltet.

Querverweise

DateFormatter::Reformat(), DateField, DateBox, Date

_______________


DateFormatter::GetStrictFormat()

BOOL DateFormatter::GetStrictFormat() const;

Beschreibung

Die Methode ermittelt, ob im DateField oder der DateBox die ständige Überprüfung der Eingaben eingeschaltet ist.

Rückgabewert

BOOL	TRUE

Die ständige Überprüfung der Eingabe ist eingeschaltet.

FALSE

Die ständige Überprüfung der Eingabe ist ausgeschaltet.

Querverweise

DateFormatter::ChangeStrictFormat(), DateField, DateBox, Date

_______________


DateFormatter::ChangeInternational( const International& rInter )
DateFormatter::ChangeInternational()

International DateFormatter::ChangeInternational( const International& rInter );

Beschreibung

Die Methode setzt neue Einstellungen für die landesspezifische Formatierung der Datumseingabe und Datumsanzeige.

Parameter

const International& rInter	Eine Referenz auf eine Instanz der Klasse International mit den neuen landesspezifischen Einstellungen.

Rückgabewert

International	Eine Instanz der Klasse International mit den bisherigen landesspezifischen Einstellungen.

Querverweise

International, Date, DateField, DateBox

_______________


DateFormatter::GetInternational()

International DateFormatter::GetInternational() const;

Beschreibung

Die Methode gibt eine Instanz der Klasse International zurück, deren Einstellungen die landesspezifische Formatierung der Datumseingabe und Datumsanzeige enthält.

Rückgabewert

International	Eine Instanz der Klasse International mit den aktuellen landesspezifischen Einstellungen.

Querverweise

International, DateFormatter::ChangeInternational(), DateField, DateBox, Date

_______________


DateFormatter::SetDate( const Date& rNewDate )
DateFormatter::SetDate()

void DateFormatter::SetDate( const Date& rNewDate );

Beschreibung

Die Methode setzt ein neues Datum im DateField oder in der DateBox.

Parameter

const Date& rNewDate	Das neue Datum.

Querverweise

DateField, DateBox, Date

_______________


DateFormatter::GetDate()

Date DateFormatter::GetDate() const;

Beschreibung

Die Methode ermittelt das zur Zeit gesetzte Datum in einem DateField oder einer DateBox.

Rückgabewert

Date	Das gesetzte Datum.

Querverweise

DateField, DateBox, Date

_______________


DateFormatter::IsDateModified()

BOOL DateFormatter::IsDateModified() const;

Beschreibung

Die Methode ermittelt, ob der Inhalt eines DateFields oder einer DateBox seit dem letzten Aufruf der Methode SetDate() geändert wurde.

Rückgabewert

BOOL	TRUE

Das Datum wurde geändert.

FALSE

Das Datum wurde nicht geändert.

Querverweise

DateField, DateBox

_______________


DateFormatter::Reformat()

virtual void DateFormatter::Reformat();

Beschreibung

Diese Methode überprüft den Inhalt des DateField oder der DateBox auf korrekten Inhalt und korrigiert die Formatierung entsprechend den Einstellungen. Diese Methode wird automatisch gerufen, wenn das Eingabefeld den Focus verliert. Durch Aufruf dieser Methode kann eine Applikation jederzeit zusätzlich eine Überprüfung und Korrektur des Inhalts des DateField oder der DateBox vornehmen.

Querverweise

DateField, DateBox, Date, DateFormatter::ChangeInternational()

_______________


DateTime

class DateTime : public Date, public Time

{

public:

DateTime() : Date(),Time();

DateTime( constDate& rDate) : Date(rDate),Time();

DateTime( constTime& rTime) : Date(),Time( rTime);

DateTime( constDate& rDate, const Time& rTime ) : Date( rDate ),Time( rTime);

BOOL	IsBetween( constDateTime& rFrom, const DateTime& rTo) const;

friend BOOL	operator==( constDateTime& rDateTime1, const DateTime& rDateTime2);

friend BOOL	operator !=( constDateTime& rDateTime1, const DateTime& rDateTime2);

friend BOOL	operator  >( constDateTime& rDateTime1, const DateTime& rDateTime2);

friend BOOL	operator  <( constDateTime& rDateTime1, const DateTime& rDateTime2);

friend BOOL	operator >=( constDateTime& rDateTime1, const DateTime& rDateTime2);

friend BOOL#	operator <=( constDateTime& rDateTime1, const DateTime& rDateTime2);

};

Beschreibung

Die Klasse DateTime verwaltet eine Kombination aus einem Datum und einer Zeit. Wenn die Uhrzeit an einen bestimmten Tag gebunden ist, sollte diese Klasse verwendet werden, anstatt zwei voneinander getrennte Instanzen der Klassen Date und Time.

Basisklassen

Date, Time

_______________


DateTime::DateTime() : Date(), Time()
DateTime::DateTime()

DateTime::DateTime() : Date(), Time();

Beschreibung

Konstruktor der Klasse DateTime. Als Wert wird das heutige Datum mit der aktuellen Uhrzeit genommen.

_______________


DateTime::DateTime( constDate& rDate) : Date(rDate),Time()
DateTime::DateTime()

DateTime::DateTime( constDate& rDate) : Date(rDate),Time();

Beschreibung

Beschreibung

Konstruktor der Klasse DateTime, der eine Instanz mit dem übergebenen Datum und der aktuellen Uhrzeit anlegt.

Parameter

const Date& rDate	Das Datum, dessen Wert übernommen werden soll.

Querverweise

Date

_______________


DateTime::DateTime( constTime& rTime) : Date(),Time(rTime)
DateTime::DateTime()

DateTime::DateTime( constTime& rTime) : Date(),Time(rTime);

Beschreibung

Konstruktor der Klasse DateTime, der eine Instanz mit dem aktuellem Datum und der übergebenen Uhrzeit anlegt.

Parameter

const Time& rTime	Die Zeit, deren Wert übernommen werden soll.

Querverweise

Time

_______________


DateTime::DateTime( const Date& rDate, const Time& rTime ) : Date( rDate ), Time( rTime )
DateTime::DateTime()

DateTime::DateTime( const Date& rDate, const Time& rTime ) : Date( rDate ), Time( rTime );

Beschreibung

Konstruktor der Klasse DateTime. Als Werte werden der Wert des übergebenen Datums und der übergebenen Zeit übernommen.

Parameter

const Date& rDate	Das Datum, dessen Wert übernommen werden soll.

const Time& rTime	Die zeit, deren Wert übernommen werden soll.

Querverweise

Date, Time

_______________


DateTime::IsBetween( const DateTime& rFrom, const DateTime& rTo )
DateTime::IsBetween()

BOOL DateTime::IsBetween( const DateTime& rFrom, const DateTime& rTo ) const;

Beschreibung

Die Methode ermittelt, ob sich die Datumzeit zwischen den übergebenen Daten befindet. Sie liefert TRUE zurück, wenn die Datumzeit größer oder gleich der Datumzeit rFrom und kleiner oder gleich der Datumzeit rTo ist.

Parameter

const DateTime& rFrom	Die Datumzeit, ab der geprüft werden soll.,

const DateTime& rTo	Die Datumzeit, bis zu der geprüft werden soll.

Rückgabewert

BOOL	TRUE

Die Datumzeit ist größer oder gleich rFrom und kleiner oder gleich rTo.

FALSE

Die Datumzeit befindet sich außerhalb dieses Bereiches.

_______________


DateTime::operator ==( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator ==()

friend BOOL DateTime::operator ==( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die übergebenen Datumzeitwerte übereinstimmen.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die Datumzeitwerte unterscheiden sich nicht.

FALSE

Die Datumzeitwerte unterscheiden sich.

_______________


DateTime::operator !=( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator !=()

friend BOOL DateTime::operator !=( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die übergebenen Datumzeitwerte unterschiedlich sind.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die Datumzeitwerte unterscheiden sich.

FALSE

Die Datumzeitwerte unterscheiden sich nicht.

_______________


DateTime::operator >( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator >()

friend BOOL DateTime::operator >( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die erste übergebene Datumzeit größer ist als die zweite.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die erste übergebene Datumzeit ist größer als die zweite.

FALSE

Die erste Datumzeit ist nicht größer als die zweite.

_______________


DateTime::operator <( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator <()

friend BOOL DateTime::operator <( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die erste übergebene Datumzeit kleiner ist als die zweite.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die erste übergebene Datumzeit ist kleiner als die zweite.

FALSE

Die erste Datumzeit ist nicht kleiner als die zweite.

_______________


DateTime::operator >=( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator >=()

friend BOOL DateTime::operator >=( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die erste übergebene Datumzeit größer oder gleich der zweiten ist.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die erste übergebene Datumzeit ist größer oder gleich der zweiten.

FALSE

Die erste Datumzeit ist kleiner als die zweite.

_______________


DateTime::operator <=( const DateTime& rDateTime1, const DateTime& rDateTime2 )
DateTime::operator <=()

friend BOOL DateTime::operator <=( const DateTime& rDateTime1, const DateTime& rDateTime2 );

Beschreibung

Die Methode prüft, ob die erste übergebene Datumzeit kleiner oder gleich der zweiten ist.

Parameter

const DateTime& rDateTime1,

const DateTime& rDateTime2	Die beiden zu vergleichenden Datumzeitwerte.

Rückgabewert

BOOL	TRUE

Die erste übergebene Datumzeit ist kleiner oder gleich der zweiten.

FALSE

Die erste Datumzeit ist größer als die zweite.

_______________


Dialog

class Dialog : public SystemWindow

{

protected:

virtual	~Dialog();

};

Beschreibung

Die Klasse Dialog stellt eine spezielle Form eines Fensters zur Verfügung. Ein Dialogfenster enthält eine Anzahl von Controls für Benutzereingaben und Ausgaben enthält. Man unterscheidet generell zwischen modalen und nichtmodalen Dialogboxen. Modale Dialogboxen müssen bearbeitet und beendet werden, bevor weitere Schritte innerhalb der Applikation erfolgen können. Nichtmodale Dialogboxen erlauben das Weiterarbeiten in der Applikation, während die Dialogbox sichtbar ist.

Für eine Applikation werden in der Regel spezielle Dialogboxen abgeleitet. Diese werden als private Daten die Controls und die Handler für die Benutzereingaben enthalten. In der Regel wird es notwendig sein, daß die abgeleiteten Dialogboxen für diejenigen Controls entsprechende Instanzen erzeugen, auf die sie entweder zugreifen wollen oder deren Input sie bekommen möchten. Controls in einer Dialogbox können aus der Resource geladen werden.

Die Reihenfolge, in der die Controls einer Dialogbox bearbeitet werden, wird durch die Reihenfolge der Konstruktoren bestimmt. Automatische Controls aus der Resource werden immer vor allen Member-Controls erzeugt. Werden nach dem Erzeugen einer Dialogbox weitere Controls dynamisch hinzugefügt, so werden diese an das Ende der Bearbeitungsreihenfolge gestellt.

Über die Control-Stylebits WB_GROUP und WB_TABSTOP werden in einer Dialogbox diejenigen Controls ausgezeichnet, die eine Gruppe beginnen bzw. eine TabStop-Markierung besitzen.

Hat eine Dialogbox das Stylebit WB_CLOSEABLE, so wird durch die Esc-Taste ein Close ausgelöst.

Ausnahmen

Eigene Klassen dürfen nur von den Klassen ModalDialog und ModelessDialog, nicht aber von der Basisklasse Dialog abgeleitet werden, da die Klasse Dialog nur Implementierungszwecken dient.

Basisklassen

SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

ModalDialog, ModelessDialog, Control

_______________


Dialog::~Dialog()

virtual Dialog::~Dialog();

Beschreibung

Destruktor der Klasse Dialog.

_______________


Dir

class Dir : public DirEntry

{

public:

Dir();

Dir( const DirEntry& rDirEntry, DirEntryKind nKind = FSYS_KIND_ALL );

Dir( const DirEntry& rDirEntry, DirEntryKind nKind = FSYS_KIND_ALL, FSysSort nSort = FSYS_SORT_END, ... );

~Dir();

FSysError	SetSort( FSysSort nSort, ... );

BOOL	Update();

ULONG	Count() const;

Dir&	operator +=( const Dir& rDir );

DirEntry&	operator []( USHORT nNr ) const;

};

Beschreibung

Mit dieser Klasse können die Inhaltsverzeichnisse des zugrundeliegenden Filesystems eingelesen werden.

Beispiel

int main( int, char * [] )

{

Dir aDir;

aDir.SetSort( FSYS_SORT_SIZE | FSYS_SORT_DESCENDING, FSYS_SORT_NAME, FSYS_SORT_END );

aDir += Dir( "/postings/*.exe" );

aDir += Dir( "/postings/*.com" );

aDir += Dir( "/postings/*.bat" );

for ( int nNr = 0; nNr < pDir->Count(); nNr++ )

printf( "%20s: %8ld Bytes", aDir[ nNr ].GetName(),

   FileStat( aDir[ nNr ] ).GetSize() );

}

_______________


Dir::Dir()

Dir::Dir();

Dir::Dir( const DirEntry& rDirEntry, DirEntryKind nKind = FSYS_KIND_ALL );

Dir::Dir( const DirEntry& rDirEntry, DirEntryKind, FSysSort nSort, ... );

Beschreibung

Konstruktoren der Klasse Dir. Es kann ein leeres Dir oder eine Kopie eines bestehenden Directories erzeugt oder ein Directory aus dem Basis-Filesystem eingelesen werden. Wird ein Directory des Basis-Filesystems eingelesen, dann kann per Wildcard und Eintrags-Typ ein Filter gesetzt werden. Außerdem können die Einträge nach verschiedensten Kriterien sortiert werden.

Parameter

const DirEntry& rDirEntry	Das Directory-Entry des Basis-Filesystems, welches auf ein Directory verweist oder eine Wildcard beschreibt.

DirEntryKind nKind	Typen-Filter (ggf. miteinander verodert).

FSysSort nSort	Sortierkriterien.

...	Weitere Sortierkriterien.

Anmerkungen

Die Anwendung der Sortierkriterien ist unter SetSort() näher beschrieben.

_______________


Dir::~Dir()

Dir::~Dir();

Beschreibung

Der Destruktor der Klasse Dir gibt den Speicher für alle eingelesenen DirEntries frei.

_______________


Dir::SetSort()

FSysError Dir::SetSort( FSysSort nSort, ... );

Beschreibung

Die Methode setzt eine neue Sortierreihenfolge für das Directory. Sortiert wird nach dem im ersten Parameter angegebenen Sortierkriterium. Kann nach dem ersten Kriterium zwischen zwei Einträgen kein Unterschied festgestellt werden, wird das im zweiten Parameter beschriebene herangezogen usw. Jedes der Hauptkriterien kann mit FSYS_SORT_ASCENDING oder FSYS_SORT_DESCENDING verodert werden. Der letzte Parameter besteht ausschließlich aus FSYS_SORT_NONE.

Parameter

FSysSort nSort	Erstes Sortierkriterium

...	Weitere Sortierkriterien, ggf. FSYS_SORT_END.

Rückgabewert

FSysError	Der Fehlercode zeigt Erfolg oder Mißerfolg der Operation an.

Anmerkungen

Falls die statistischen Daten der einzelnen Directory-Entries nachgeladen werden müssen, weil sie für die neue Sortierreihenfolge benötigt werden, kommt es zu Zugriffen auf das Basis-Filesystem. Dabei können Fehler auftreten, wie z.B. fehlende Zugriffsrechte.

_______________


Dir::Update()

BOOL Dir::Update();

Beschreibung

Das Directory wird erneut aus dem Basis-Filesystem eingelesen. Filter und Sortierkriterien bleiben erhalten.

Rückgabewert

BOOL	TRUE

Das Directory konnte erfolgreich eingelesen werden.

FALSE

Das Directory konnte nicht erfolgreich eingelesen werden.

_______________


Dir::Count()

ULONG Dir::Count() const;

Beschreibung

Die Anzahl der im Directory enthaltenen Einträge wird ermittelt.

Rückgabewert

ULONG	Anzahl der Einträge.

_______________


Dir::operator+= ( const Dir& rDir )
Dir::operator+= ()

Dir& Dir::operator+= ( const Dir& rDir );

Beschreibung

Die Methode fügt die Einträge des als Parameter übergebenen Directories dem Dir hinzu. Ist eine Sortierung gesetzt, dann werden diese Einträge entsprechend einsortiert.

Parameter

const Dir& rDir	Das Directory, dessen Einträge eingefügt werden sollen.

Rückgabewert

Dir&	Referenz auf die eigene Instanz.

_______________


Dir::operator [] ( USHORT nNr )
Dir::operator [] ()

DirEntry& Dir::operator [] ( USHORT nNr ) const;

Beschreibung

Dieser Operator liefert den DirEntry des Directories mit der übergebenen Nummer.

Parameter

USHORT nNr	Die Nummer des DirEntries, der zurückgegeben werden soll. Der Wertebereich liegt zwischen 0 und Count()-1.

Rückgabewert

DirEntry&	Referenz auf den entsprechenden DirEntry.

Anmerkungen

Das Verhalten außerhalb des Wertebereichs des Parameters ist undefiniert.

_______________


DirEntry

typedef int DirEntryKind;

#define FSYS_KIND_UNKNOWN     ((DirEntryKind)     0)

#define FSYS_KIND_FILE        ((DirEntryKind)     1)

#define FSYS_KIND_DIR         ((DirEntryKind)     2)

#define FSYS_KIND_DEV         ((DirEntryKind)     4)

#define FSYS_KIND_BLOCK       ((DirEntryKind)     8)

#define FSYS_KIND_CHAR        ((DirEntryKind)    16)

#define FSYS_KIND_WILD        ((DirEntryKind)    32)

#define FSYS_KIND_REMOVEABLE  ((DirEntryKind)   128)

#define FSYS_KIND_FIXED       ((DirEntryKind)   256)

#define FSYS_KIND_REMOTE      ((DirEntryKind)   512)

#define FSYS_KIND_RAM         ((DirEntryKind)  1024)

#define FSYS_KIND_ALL         ((DirEntryKind)  2047)

enum DirEntryFlag	{ FSYS_FLAG_NORMAL, FSYS_FLAG_VOLUME, FSYS_FLAG_ABSROOT, FSYS_FLAG_RELROOT, FSYS_FLAG_CURRENT = FSYS_FLAG_RELROOT, FSYS_FLAG_PARENT, FSYS_FLAG_TEMPORARY, FSYS_FLAG_INVALID };

typedef int FSysSort;

#define FSYS_SORT_NONE          ((FSysSort)   0)

#define FSYS_SORT_SIZE          ((FSysSort)   1)

#define FSYS_SORT_CREATED       ((FSysSort)   2)

#define FSYS_SORT_MODIFY        ((FSysSort)   4)

#define FSYS_SORT_ACCESSED        ((FSysSort)   8)

#define FSYS_SORT_ASCENDING     ((FSysSort)  16)

#define FSYS_SORT_DESCENDING    ((FSysSort)  32)

#define FSYS_SORT_EXT           ((FSysSort)  64)

#define FSYS_SORT_NAME          ((FSysSort) 128)

#define FSYS_SORT_KIND          ((FSysSort) 256)

#define FSYS_SORT_CREATOR       ((FSysSort) 512)

#define FSYS_SORT_END           ((FSysSort)1024)

enum FSysError	{ FSYS_ERR_OK, FSYS_ERR_MISPLACEDCHAR, FSYS_ERR_INVALIDCHAR, FSYS_ERR_NOTEXISTS, FSYS_ERR_ALREADYEXISTS, FSYS_ERR_NOTADIRECTORY, FSYS_ERR_NOTAFILE, FSYS_ERR_INVALIDDEVICE, FSYS_ERR_ACCESSDENIED, FSYS_ERR_LOCKVIOLATION, FSYS_ERR_VOLUMEFULL, FSYS_ERR_NOENTRYASSIGNED, FSYS_ERR_ISWILDCARD, FSYS_ERR_NOTSUPPORTED, FSYS_ERR_UNKNOWN };

enum FSysPathStyle	{ FSYS_STYLE_HOST, FSYS_STYLE_FAT, FSYS_STYLE_MSDOS = FSYS_STYLE_FAT, FSYS_STYLE_HPFS, FSYS_STYLE_OS2 = FSYS_STYLE_HPFS, FSYS_STYLE_SYSV, FSYS_STYLE_BSD, FSYS_STYLE_UNX = FSYS_STYLE_BSD, FSYS_STYLE_MAC, FSYS_STYLE_DETECT, FSYS_STYLE_UNKNOWN };

class DirEntry

{

public:

DirEntry( DirEntryFlag aDirFlag = FSYS_FLAG_CURRENT );

DirEntry( const DirEntry& rEntry );

DirEntry( const String& rInitName, FSysPathStyle eParser = FSYS_STYLE_HOST );

~DirEntry();

BOOL	IsValid() const;

void	ChangeExtension( const String& rExt, char cSep = '.' );

String	GetExtension( char cSep = '.' ) const;

String	CutExtension( char cSep = '.' );

void	ChangeName( const String& rName, FSysPathStyle eFormatter = FSYS_STYLE_HOST );

String	GetName( FSysPathStyle eFormatter = FSYS_STYLE_HOST ) const;

String	CutName( FSysPathStyle eFormatter = FSYS_STYLE_HOST );

void	ChangeBase( const String& rBase, char cSep = '.' );

String	GetBase( char cSep = '.' ) const;

DirEntry	GetPath() const;

DirEntry	GetDevice() const;

String	GetVolume() const;

String	GetFull( FSysPathStyle eFormatter = FSYS_STYLE_HOST, BOOL bWithDelimiter = FALSE ) const;

BOOL	IsAbs() const;

BOOL	ToAbs();

BOOL	Find( const String& rPfad );

BOOL	ToRel();

BOOL	ToRel( const DirEntry& rRefDir );

BOOL	SetCWD( BOOL bSloppy = FALSE );

BOOL	CreatePath() const;

BOOL	Exists() const;

BOOL	First();

USHORT	Level() const;

FSysError	CopyTo( constDirEntry&rDestDir, BOOLbFile=FALSE ) const;

FSysError	MoveTo( const DirEntry& rDestDir ) const;

FSysError	Kill() const;

DirEntry&	operator =( constDirEntry&rOrigDir );

DirEntry	operator +( constDirEntry&rSubDir ) const;

DirEntry&	operator +=( constDirEntry&rSubDir );

BOOL	operator == ( constDirEntry&rAnotherDir ) const;

BOOL	operator != ( constDirEntry&rAnotherDir ) const;

const DirEntry&	operator[] ( USHORTnParentLevel ) const;

static String	GetAccessDelimiter( FSysStyleeStyle=FSYS_STYLE_HOST );

static String	GetSearchDelimiter( FSysStyleeStyle=FSYS_STYLE_HOST );

static BOOL	IsCaseSensitive( FSysStyleeStyle=FSYS_STYLE_HOST );

};

Beschreibung

Diese Klasse bietet eine systemunabhängige Darstellung von Dateinamen, Gerätenamen und Zugriffspfaden.

Insbesondere werden die folgenden Systemeigenschaften versteckt:

-	verschiedene Pfad-Namens-Regeln

absolute Pfade:

/src/util/posting/mi141100.rfc unter UNIX

g:\util\postings\mi141100.rfc unter MS-DOS oder OS/2

hd3:util:postings:mi141100.rfc auf Macintosh

relative Pfade:

../test/foo.c unter UNIX

..\test\foo.c unter MS-DOS und OS/2

::test:foo.c auf dem Macintosh

-	unterschiedliche erlaubte Längen der Namen

-	unterschiedliche erlaubte Zeichen in den Namen

-	unterschiedliche Handhabung von Extensionen

-	unterschiedliche Namen und Parameter der Systemfunktionen

Anmerkungen

Das aktuelle Verzeichnis kann explizit mit DirEntry( FSYS_CURRENT ) angefordert werden, was aussagekräftiger ist als DirEntry( FSYS_RELROOT ), wenn auch gleichbedeutend.

Jeder DirEntry hat einen Namen, der, abhängig vom Betriebssystem, aus bestimmten Zeichen bestehen darf und eine ggf. beliebige Länge hat. Namen auf MS-DOS werden immer in Kleinbuchstaben umgewandelt. Auf dem Macintosh und HPFS (OS/2) werden Groß- und Kleinbuchstaben gleichbehandelt, unter UNIX unterschieden.

Jeder DirEntry innerhalb eines Zugriffspfades, der keine Root und keine aktuelle Directory eines Laufwerks ist, hat einen Parent, welcher wiederum selbst ein DirEntry ist.

Eine Root kann folgendermaßen dargestellt werden:

MS-DOS, OS/2:	"C:\\", "D:\\"

UNIX:	"/"

Macintosh:	"HD1:"

Ob ein Name eine Root darstellt, ob diese absolut ("C:\\") oder relativ ("C:") ist, ist daher betriebssystemabhängig.

Das Parentverzeichnis wird mit DirEntry( FSYS_PARENT ) angesprochen, es darf auch der jeweils im Betriebssystem übliche Bezeichner dafür verwendet werden (z.B.: DirEntry( ".." ) oder DirEntry( "::" ) ).

Bis auf die Methoden CreatePath(), Kill(), MoveTo(), CopyTo() und SetCWD() wirken alle Methoden der Klasse DirEntry nur auf die Objekte dieser Klasse, nicht aber auf das Basis-Filesystem selbst.

Beispiele

Pfade können betriebssystemunabhängig aufgebaut werden:

DirEntry aFoo =	DirEntry( FSYS_PARENT ) +

DirEntry( "bin" ) +

DirEntry( "c510r" ) + DirEntry( "cc.exe" );

Oder auch in der Notation eines speziellen Betriebssystems:

DirEntry aFoo =	DirEntry( "::bin::c510r::cc.exe", FSYS_MAC );

Oder auch absolut und (bis auf die Root) betriebssystemunabhängig. Die Root wird i. d. R. bei der Installation von Softwarepaketen zusammen mit einem Basispfad angegeben:

DirEntry aPrefixDir( "c:\\bin" );

...

DirEntry aFoo =	aPrefixDir + DirEntry( "c510r" ) +

DirEntry( "cc.exe" );

Angenommen, wir befinden uns unter MS-DOS im Verzeichnis "c:\etc":

DirEntry a( "..\\bin\\c510r\\cc.exe" );

a.ToAbs();

printf( "               should be  and is\n" );

printf( "---------------------------------------\n" );

printf( "                    [c:]==[%s]\n", a.GetDevice().GetFull());

printf( "        [c:\\bin\\c510r]==[%s]\n", a.GetPath().GetFull() );

printf( "                [cc.exe]==[%s]\n", a.GetName() );

printf( "                    [cc]==[%s]\n", a.GetBase() );

printf( "                   [exe]==[%s]\n", a.GetExt() );

printf( "[c:\\bin\\c510r\\cc.exe]==[%s]\n", a.GetFull() );

Angenommen, wir befinden uns unter UNIX im Verzeichnis "/bin":

DirEntry aFoo( "../bin/c510r/cc.exe" );

aFoo.ToAbs();

printf( "           should be  and is\n" );

printf( "-----------------------------------\n" );

printf( "       [/dev/hdd01a]==[%s]\n", aFoo.GetDevice().GetFull());

printf( "        [/bin/c510r]==[%s]\n", aFoo.GetPath().GetFull() );

printf( "            [cc.exe]==[%s]\n", aFoo.GetName() );

printf( "                [cc]==[%s]\n", aFoo.GetBase() );

printf( "               [exe]==[%s]\n", aFoo.GetExtension() );

printf( " [/bin/c510r/cc.exe]==[%s]\n", aFoo.GetFull() );

Querverweise

FileStat, DirEntryType

_______________


typedef int DirEntryKind
typedef DirEntryKind

typedef int DirEntryKind;
#define FSYS_KIND_UNKNOWN     ((DirEntryKind)     0)
#define FSYS_KIND_FILE        ((DirEntryKind)     1)
#define FSYS_KIND_DIR         ((DirEntryKind)     2)
#define FSYS_KIND_DEV         ((DirEntryKind)     4)
#define FSYS_KIND_BLOCK       ((DirEntryKind)     8)
#define FSYS_KIND_CHAR        ((DirEntryKind)    16)
#define FSYS_KIND_WILD        ((DirEntryKind)    32)
#define FSYS_KIND_REMOVEABLE  ((DirEntryKind)   128)
#define FSYS_KIND_FIXED       ((DirEntryKind)   256)
#define FSYS_KIND_REMOTE      ((DirEntryKind)   512)
#define FSYS_KIND_RAM         ((DirEntryKind)  1024)
#define FSYS_KIND_ALL         ((DirEntryKind)  2047)

Diese Typen bezeichnen die Art des Directory-Entries im Basis-Filesystem.

Konstanten

FSYS_KIND_UNKNOWN

FSYS_KIND_FILE	Reguläre Datei (echte Kind)

FSYS_KIND_DIR	Directory (echte Kind)

FSYS_KIND_DEV	Device (echte Kind)

FSYS_KIND_BLOCK	Block-Device (Flag)

FSYS_KIND_CHAR	Character-Device (Flag)

FSYS_KIND_WILD	Wildcard

FSYS_KIND_REMOVEABLE	liegt auf auswechselbarem Medium (Flag)

FSYS_KIND_FIXED	liegt auf nicht auswechselbarem Medium (Flag)

FSYS_KIND_REMOTE	liegt auf Netzwerk-Medium (Flag)

FSYS_KIND_RAM	liegt auf RAM-Disk (Flag)

FSYS_KIND_ALL	arithm. Veroderung aller echten Kinds

Querverweise

Dir, FileStat

_______________


enum DirEntryFlag

enum DirEntryFlag	{ FSYS_FLAG_NORMAL, FSYS_FLAG_VOLUME, FSYS_FLAG_ABSROOT, FSYS_FLAG_RELROOT, FSYS_FLAG_CURRENT = FSYS_FLAG_RELROOT, FSYS_FLAG_PARENT, FSYS_FLAG_TEMPORARY, FSYS_FLAG_INVALID };

Beschreibung

Diese Flags werden zur Kennzeichnung besonderer DirEntries benötigt. Die in den einzelnen Basis-Filesystemen verwendeten Kennzeichen wie ".." und "." für Parent-bzw. Current-Directory in UNIX, MS-DOS und OS/2 können nicht verwendet werden, da diese auf dem Macintosh zulässige Dateinamen (ohne implizite Sonderbedeutung) sind. Auch die Zeichen des Macintosh ("::" bzw. ":") können nicht benutzt werden, da diese unter UNIX zulässige Dateinamen (ohne implizite Sonderbedeutung) darstellen.

Konstanten

FSYS_FLAG_NORMAL	Der Name des DirEntry ist gültig, es ist ein normaler, benannter DirEntry, oder der DirEntry ist leer.

FSYS_FLAG_VOLUME	Das Flag beschreibt den Volume-Namen des Mediums. Dies ist nur bei DirEntries möglich, die über ein Dir eingelesen wurden.

FSYS_FLAG_ABSROOT	Der DirEntry stellt eine (bzw. die) Root dar, je nach Betriebssystem ist der Name dann leer (UNIX) oder kennzeichnet den Namen der Root (z.B. eines MS-DOS Laufwerks bzw. einer Macintosh-Volume).

FSYS_FLAG_RELROOT	Der DirEntry stellt ein relatives Startverzeichnis (auf einem bestimmten Laufwerk) dar. Wenn der Name dann leer ist, ist dies also das aktuelle Verzeichnis auf dem aktuellen Laufwerk.

FSYS_FLAG_CURRENT	Es handelt sich um das aktuelle Arbeitsverzeichnis auf dem aktuellen Laufwerk, dies ist nur ein Synonym für FSYS_FLAG_RELROOT.

FSYS_FLAG_PARENT	Es handelt sich um das (relative) Parentverzeichnis, der Name wird automatisch abhängig vom Betriebssystem gewählt.

FSYS_FLAG_TEMPORARY	Zum Erzeugen temporärer Dateinamen.

FSYS_FLAG_INVALID	Der Name des DirEntry ist ungültig.

_______________


typedef int FSysSort

typedef int FSysSort;
#define FSYS_SORT_NONE          ((FSysSort)   0)
#define FSYS_SORT_SIZE          ((FSysSort)   1)
#define FSYS_SORT_CREATED       ((FSysSort)   2)
#define FSYS_SORT_MODIFY        ((FSysSort)   4)
#define FSYS_SORT_ACCESSED      ((FSysSort)   8)
#define FSYS_SORT_ASCENDING     ((FSysSort)  16)
#define FSYS_SORT_DESCENDING    ((FSysSort)  32)
#define FSYS_SORT_EXT           ((FSysSort)  64)
#define FSYS_SORT_NAME          ((FSysSort) 128)
#define FSYS_SORT_KIND          ((FSysSort) 256)
#define FSYS_SORT_CREATOR       ((FSysSort) 512)
#define FSYS_SORT_END           ((FSysSort)1024)

Beschreibung

Mit diesen Flags wird die Sortierreihenfolge der DirEntries in Dirs festgelegt.

Konstanten

FSYS_SORT_NONE	Keine Sortierung.

FSYS_SORT_SIZE	Sortieren nach der Dateigröße.

FSYS_SORT_CREATED	Sortieren nach der Create-Zeit.

FSYS_SORT_MODIFY	Sortieren nach der Modify-Zeit.

FSYS_SORT_ACCESSED	Sortieren nach der Access-Zeit.

FSYS_SORT_ASCENDING	Aufsteigende Sortierreihenfolge (default).

FSYS_SORT_DESCENDING	Absteigende Sortierreihenfolge.

FSYS_SORT_EXT	Sortieren nach der Extension (hinter letztem '.').

FSYS_SORT_NAME	Sortieren nach dem Namen.

FSYS_SORT_KIND	Sortieren nach dem Typ.

FSYS_SORT_CREATOR	Sortieren nach dem Creator.

FSYS_SORT_END	Ende der Sortierung.

Anmerkungen

Alle angegebenen Sortierkriterien lassen sich mit FSYS_SORT_ASCENDING und mit FSYS_SORT_DESCENDING arithmetisch verodern.

Querverweise

Dir::SetSort()

_______________


enum FSysError

enum FSysError	{ FSYS_ERR_OK, FSYS_ERR_MISPLACEDCHAR, FSYS_ERR_INVALIDCHAR, FSYS_ERR_NOTEXISTS, FSYS_ERR_ALREADYEXISTS, FSYS_ERR_NOTADIRECTORY, FSYS_ERR_NOTAFILE, FSYS_ERR_INVALIDDEVICE, FSYS_ERR_ACCESSDENIED, FSYS_ERR_LOCKVIOLATION, FSYS_ERR_VOLUMEFULL, FSYS_ERR_NOENTRYASSIGNED, FSYS_ERR_ISWILDCARD, FSYS_ERR_NOTSUPPORTED, FSYS_ERR_UNKNOWN };

Beschreibung

Diese Konstanten werden als Return-Codes der Methoden der Klassen DirEntry, Dir und FileStat verwendet.

Konstanten

FSYS_ERR_OK	Kein Fehler.

FSYS_ERR_MISPLACEDCHAR	Ein für Namen gültiges Zeichen wurde an einer Stelle angetroffen, an der es nicht zulässig ist.

FSYS_ERR_INVALIDCHAR	Ein nicht gültiges Zeichen wurde angetroffen.

FSYS_ERR_NOTEXISTS	Der angeforderte DirEntry existiert nicht.

FSYS_ERR_ALREADYEXISTS	Der Eintrag existiert bereits.

FSYS_ERR_NOTADIRECTORY	Der angeforderte DirEntry ist kein Directory.

FSYS_ERR_NOTAFILE	Die angeforderte Operation kann nur auf Dateien arbeiten, wurde jedoch auf einen anderen Directory-Entry angewendet.

FSYS_ERR_INVALIDDEVICE	Nicht verfügbares Device.

FSYS_ERR_ACCESSDENIED	Der Zugriff wurde (grundsätzlich) verweigert.

FSYS_ERR_LOCKVIOLATION	Der Zugriff wurde (temporär) verweigert.

FSYS_ERR_VOLUMEFULL	Kein Speicherplatz mehr auf dem Medium.

FSYS_ERR_ISWILDCARD	Kein eindeutiger Dateiname verfügbar.

FSYS_ERR_NOTSUPPORTED	Die angeforderte Funktion ist auf dem Basis-Betriebssystem nicht verfügbar.

FSYS_ERR_UNKNOWN	Ein nicht näher bekannter Fehler ist aufgetreten.

Anmerkungen

Ist in einer Instanz ein anderer Fehlerstatus als FSYS_ERR_OK gesetzt, dann ist das Verhalten der meisten Methoden undefiniert. (In der Debug-Version wird eine Exception ausgelöst.)

Querverweise

FileStat::Error()

_______________


enum FSysPathStyle

enum FSysPathStyle	{ FSYS_STYLE_HOST, FSYS_STYLE_FAT, FSYS_STYLE_MSDOS = FSYS_STYLE_FAT, FSYS_STYLE_HPFS, FSYS_STYLE_OS2 = FSYS_STYLE_HPFS, FSYS_STYLE_SYSV, FSYS_STYLE_BSD, FSYS_STYLE_UNX = FSYS_STYLE_BSD, FSYS_STYLE_MAC, FSYS_STYLE_DETECT, FSYS_STYLE_UNKNOWN };

Beschreibung

Zur Bestimmung der erlaubten Zeichen in Dateinamen, der maximalen Länge, des Aufbaus von Extensionen etc. wird mit diesem Aufzählungstyp das Betriebssystem festgelegt.

Konstanten

FSYS_STYLE_HOST	Das Betriebssystem, auf dem die Applikation läuft.

FSYS_STYLE_FAT	8 Zeichen vor, 3 Zeichen nach dem "." (Dateisystem für MS-DOS oder OS/2, Groß- und Kleinschreibung nicht berücksichtigt - automatische Umsetzung in Kleinschreibung)

FSYS_STYLE_MSDOS	Synonym für FSYS_STYLE_FAT

FSYS_STYLE_HPFS	High Performance File System (255 Zeichen, beliebige ".", Groß- und Kleinschreibung nicht berücksichtigt, bleibt aber unangetastet)

FSYS_STYLE_OS2	Synonym für FSYS_STYLE_HPFS

FSYS_STYLE_BSD	Berkeley UNIX System (insgesamt 255 Zeichen, Unterscheidung von Groß- und Kleinschreibung)

FSYS_STYLE_SYSV	UNIX System VR3 (insgesamt 14 Zeichen, Unterscheidung von Groß- und Kleinschreibung)

FSYS_STYLE_UNX	Synonym für FSYS_STYLE_BSD

FSYS_STYLE_MAC	Apple-Macintosh-Betriebssystem (Groß- und Kleinschreibung nicht beachtet, bleibt aber unangetastet)

FSYS_STYLE_DETECT	An Hand des Dateinamens ermitteln

FSYS_STYLE_UNKNOWN	(intern verwendet)

_______________


DirEntry::DirEntry()

DirEntry( DirEntryFlag eDirFlag = FSYS_FLAG_CURRENT );

DirEntry( const DirEntry& rEntry );

DirEntry( const String& rInitName, FSysPathStyle eParser = FSYS_STYLE_HOST );

Beschreibung

Konstruktoren der Klasse DirEntry. Der Konstruktor mit dem DirEntryFlag als Parameter dient in erster Linie der Erzeugung von Parent- und Current-Directories sowie temporären Dateinamen. Er ist gleichzeitig (ohne Parameter) als einfacher Konstruktor einsetzbar.

Der letzte Konstruktor nimmt einen Dateinamen entgegen, der zusammengesetzt sein darf und in der spezifizierten Art und Weise ausgewertet wird. Falls der zu parsende String mit dem angegebenen Parser nicht in einen gültigen DirEntry umgewandelt werden kann (z.B. ungültige Zeichen verwendet wurden), dann wird im DirEntry ein Fehlerstatus gesetzt, der mit IsValid() abgefragt werden kann.

Parameter

DirEntryFlag eDirFlag	Hier wird der Typ des DirEntry angegeben.

const DirEntry& rEntry	Eine Referenz auf einen DirEntry, der als Vorlage für den neuen dienen soll.

const String& rInitName	Ein Dateiname, der ggf. seinen Pfad und eine Root in der betriebssystemabhängigen Schreibweise enthalten darf. Wenn ein aus mehreren Teilen zusammengesetzter Pfad verwendet wird, wird automatisch ein Stack von DirEntries erzeugt.

FSysPathStyle eParser	Die Art und Weise, mit der rInitName geparst werden soll. Hiermit kann das Parsing verschiedener Betriebssysteme eingestellt werden. Default ist das Betriebssystem, auf dem die Applikation läuft.

Anmerkungen

Soll ein (relativer) Pfad betriebssystemunabhängig angegeben werden, so darf als String in jedem Konstruktor nur ein einzelner Name stehen, der zudem nur die Zeichen enthält, die auf allen Systemen zur Verfügung stehen. Die einzelnen DirEntries können dann mit dem "+"-Operator zu einem Pfad verbunden werden (siehe Beispiel in der Klassenbeschreibung).

Alternativ kann der Pfad auch in betriebssystemabhängiger Form eingegeben werden, wobei jedoch das Betriebssystem angegeben wird. Dadurch funktioniert dies ebenfalls auf allen Betriebssystemen. Auch hier darf es sich aber nur um relative Pfade handeln.

Beispiele

// ein Eintrag (falls ausgewertet: im aktuellen Verzeichnis)

DirEntry aEntry1( "temp.doc" );

// ein Eintrag im Parent-Verzeichnis

DirEntry aEntry2 = DirEntry( FSYS_PARENT ) + DirEntry( "temp.doc" );

// ein Eintrag in einem anderen Unterverzeichnis des Parent

DirEntry aEntry3 = DirEntry( FSYS_PARENT ) + DirEntry( "subdir" ) + DirEntry("temp.doc");

// einen Eintrag mit einem anderen initialisieren

DirEntry aEntry( "temp.doc" );

DirEntry aAnotherEntry( aEntry );

// einen Eintrag mit einem kompletten Pfad initialisieren

DirEntry aEntry( "/usr/timm/source/temp.cxx" );

// auch systemabhängiger Style, funktioniert jedoch überall

DirEntry aEntry( "timm/source/temp.cxx", FSYS_STYLE_UNIX );

Querverweise

DirEntry::operator=()

_______________


DirEntry::~DirEntry()

DirEntry::~DirEntry();

Beschreibung

Der Directory-Entry im Direktzugriff und seine Parent-Strukturen werden freigegeben. Auch falls sich der Eintrag auf einen physikalisch existierenden bezieht, hat diese Methode darauf keine Auswirkungen.

_______________


DirEntry::IsValid()

BOOL DirEntry::IsValid() const;

Beschreibung

Die Methode überprüft, ob der DirEntry gültig ist.

Rückgabewert

BOOL	TRUE

Es handelt sich um einen prizipiell gültigen DirEntry.

FALSE

Der DirEntry wurde mit einem ungültigen String erzeugt.

Anmerkung

Diese Methode fragt nicht ab, ob der Directory-Entry tatsächlich existiert. Dafür ist Exists() zu verwenden.

_______________


DirEntry::ChangeExtension( const String& rExt, char cSep = '.' )
DirEntry::ChangeExtension()

void DirEntry::ChangeExtension( const String& rExt, char cSep = '.' );

Beschreibung

Diese Methode ersetzt die aktuelle Extension im DirEntry durch den übergebenen String. Der per default auf '.' gesetzte Separator kann dabei frei gewählt werden.

Parameter

const String& rExt	Die neue Extension des DirEntries als String ohne den Separator.

char cSep	Der Separator.

Ausnahmen

Hat der DirEntry keine Extension, dann wird die neue Extension - ggf einschließlich von cSep - angehängt. Ist der DirEntry leer, so besteht der DirEntry danach aus dem Separator und der neuen Extension.

Anmerkungen

Durch diese Methode wird nicht der Directory-Entry im Basis-Filesystem umbenannt, dies ist mit der Methode MoveTo() machbar.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

aDirEntry.ChangeExtension("doc" );

assert( aDirEntry.GetName() == "command.doc" );

...

Querverweise

DirEntry::GetExtension(), DirEntry::CutExtension(), DirEntry::MoveTo()

_______________


DirEntry::GetExtension( char cSep = '.' )
DirEntry::GetExtension()

String DirEntry::GetExtension( char cSep = '.' ) const;

Beschreibung

Diese Methode liefert die Extension des DirEntry zurück. Der per default auf '.' gesetzte Separator kann dabei frei gewählt werden.

Die Extension wird als die Teilzeichenkette hinter dem letzten Separator definiert.

Parameter

char cSep	Der Separator.

Rückgabewert

String	Die Extension des DirEntry ohne den Separator.

Ausnahmen

Ist der DirEntry leer oder keine solche Extension vorhanden, wird ein Leerstring zurückgeliefert.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

assert( aDirEntry.GetExtension() == "com" ) );

...

Querverweise

DirEntry::CutExtension(), DirEntry::ChangeExtension(), DirEntry::GetBase(), DirEntry::ChangeBase()

_______________


DirEntry::CutExtension( char cSep = '.' )
DirEntry::CutExtension()

String DirEntry::CutExtension( char cSep = '.' );

Beschreibung

Diese Methode entfernt die aktuelle Extension vom DirEntry und liefert diese zurück. Der per default auf '.' gesetzte Separator kann dabei frei gewählt werden. Dieser Separator wird ebenfalls entfernt.

Parameter

char cSep	Der Separator.

Rückgabewert

String	Die entfernte Extension des DirEntry ohne den Separator.

Ausnahmen

Ist der DirEntry leer oder keine solche Extension vorhanden, wird ein Leerstring zurückgeliefert. In diesen beiden Fällen bleibt der DirEntry unverändert.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

assert( aDirEntry.CutExtension() == "com" );

assert( aDirEntry.GetName() == "command" );

...

Querverweise

DirEntry::GetExtension(), DirEntry::ChangeExtension()

_______________


DirEntry::ChangeName()

void DirEntry::ChangeName( const String& rName, FSysPathStyle eFormatter = FSYS_STYLE_HOST );

Beschreibung

Diese Methode ersetzt den aktuellen Namen des DirEntry durch den übergebenen String. Der Zugriffspfad bleibt dabei erhalten. Dieser Name kann der Name einer Datei, eines Directory oder aller anderen Eintrags-Typen in den Directories des zugrundeliegenden Filesystems sein.

Parameter

const String& rName	Der neue Name für das DirEntry ohne seinen Zugriffspfad.

FSysPathStyle eFormatter	Zu verwendender Formatierer. Default ist die Schreibweise des Betriebssystems, auf dem die Applikation läuft.

Anmerkungen

Der Name wird nur im logischen DirEntry geändert, nicht im Basis-Filesystem.

Querverweise

DirEntry::GetName(), DirEntry::GetPath(), DirEntry::operator[]()

_______________


DirEntry::GetName()

String DirEntry::GetName( FSysPathStyle eFormatter = FSYS_STYLE_HOST ) const;

Beschreibung

Diese Methode liefert einen String zurück, welcher den Namen des DirEntry ohne seinen Zugriffspfad enthält. Dieser Name kann der Name einer Datei, eines Directory oder aller anderen Eintrags-Typen in den Directories des zugrundeliegenden Filesystems sein.

Parameter

FSysPathStyle eFormatter	Zu verwendender Formatierer. Default ist die Schreibweise des Betriebssystems, auf dem die Applikation läuft.

Rückgabewert

String	Der Name des DirEntry ohne seinen Zugriffspfad.

Ausnahmen

Der Name eines Parent-DirEntries ist betriebssystemabhängig. Er wird so zurückgeliefert, wie ihn das zugrundeliegende Filesystem erwartet. Unter UNIX, MS-DOS und OS/2 ist dies "..", unter Macintosh ist dies "::".

Handelt es sich um das aktuelle Verzeichnis, so wird ein String zurückgeliefert, der das betriebssystemabhängige Zeichen dafür enthält. Unter MS-DOS, UNIX, und OS/2 ist dies ".", beim Macintosh ist dies ":".

Ist der DirEntry leer, wird ein Leerstring zurückgeliefert.

Beispiel

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

assert( aDirEntry.GetName() == "command.com" ) );

assert( DirEntry( "A:", FSYS_MSDOS ).GetName == "a:" );

Querverweise

DirEntry::ChangeName(), DirEntry::GetPath(), DirEntry::operator[]()

_______________


DirEntry::CutName()

String DirEntry::CutName( FSysPathStyle eFormatter = FSYS_STYLE_HOST );

Beschreibung

Diese Methode entfernt den aktuellen Namen vom DirEntry und liefert diese zurück. Der Zugriffspfad bleibt dabei erhalten. Dieser Name kann der Name einer Datei, eines Directory oder aller anderen Eintrags-Typen in den Directories des zugrundeliegenden Filesystems sein.

Parameter

FSysPathStyle eFormatter	Zu verwendender Formatierer. Default ist die Schreibweise des Betriebssystems, auf dem die Applikation läuft.

Rückgabewert

String	Der entfernte Name des DirEntry ohne seinen Zugriffspfad.

Ausnahmen

Ist der DirEntry leer, wird ein Leerstring zurückgeliefert, und der DirEntry bleibt unverändert.

Der Name eines Parent-DirEntries ist betriebssystemabhängig. Er wird so zurückgeliefert, wie ihn das zugrundeliegende Filesystem erwartet. Unter UNIX, MS-DOS und OS/2 ist dies "..", unter Macintosh ist dies "::".

Handelt es sich um das aktuelle Verzeichnis, so wird ein String zurückgeliefert, der das betriebssystemabhängige Zeichen dafür enthält. Unter MS-DOS, UNIX, und OS/2 ist dies ".", beim Macintosh ist dies ":".

Querverweise

DirEntry::GetName(), DirEntry::ChangeName()

_______________


DirEntry::ChangeBase()

void DirEntry::ChangeBase( const String& rBase, char cSep = '.');

Beschreibung

Diese Methode ersetzt die aktuelle Basis im DirEntry durch den übergebenen String und liefert die alte Basis zurück. Der per default auf '.' gesetzte Separator kann dabei frei gewählt werden.

Parameter

const String& rExt	Die neue Basis des DirEntries als String.

char cSep	Der Separator.

Ausnahmen

Hat der DirEntry keine Basis, dann wird die neue Basis vor der Extension eingefügt. Ist der DirEntry leer, so besteht der DirEntry danach nur aus der neuen Basis.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

aDirEntry.ChangeBase("keyb" );

assert( aDirEntry.GetName() == "keyb.com" );

...

Querverweise

DirEntry::GetBase()

_______________


DirEntry::GetBase()

String DirEntry::GetBase( char cSep = '.' ) const;

Beschreibung

Diese Methode liefert die Basis des DirEntry zurück. Der per default auf '.' gesetzte Separator kann dabei frei gewählt werden.

Die Basis wird als die Teilzeichenkette vor dem letzten Separator definiert.

Parameter

char cSep	Der Separator.

Rückgabewert

String	Die Basis des DirEntry.

Ausnahmen

Ist der DirEntry leer oder keine solche Basis vorhanden, wird ein Leerstring zurückgeliefert.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

assert( aDirEntry.GetBase() == "command" ) );

...

Querverweise

DirEntry::ChangeBase(), DirEntry::GetExt(), DirEntry::ChangeExt()

_______________


DirEntry::GetPath()

DirEntry DirEntry::GetPath();

Beschreibung

Diese Methode liefert den DirEntry mit dem Zugriffspfad einschließlich seiner Root, aber ohne den Namen selbst, als DirEntry zurück. Es werden dabei nur die in dem DirEntry Objekt gespeicherten Teile verwendet, ein absoluter Pfad müßte also explizit erzeugt werden.

Rückgabewert

DirEntry	Zugriffspfad einschließlich der Root.

Beispiel

assert( DirEntry( "c:\\bin\\dos33\\command.com" ).GetPath() ==         DirEntry( "c:\\bin\\dos33" ) );

assert( DirEntry( "a:" ).GetPath() == DirEntry() );

assert( DirEtnry( "c:\\tmp" ).GetPath().GetFull() == "c:\\" );

Querverweise

DirEntry::GetName(), DirEntry::GetFull()

_______________


DirEntry::GetDevice()

DirEntry DirEntry::GetDevice() const;

Beschreibung

Diese Methode liefert den DirEntry des Devices zurück, auf dem sich im Basis-Filesystem der DirEntry befindet.

Rückgabewert

DirEntry	Das Device, auf dem sich der DirEntry befindet.

Ausnahmen

Ist in dem Zugriffspfad keine Root angegeben, dann wird temporär ein absoluter DirEntry erzeugt, dessen Device ermittelt werden kann.

Beispiel

unter MS-DOS:

DirEntry aDirEntry( "c:\\bin\\dos33\\command.com" );

DirEntry aDevice = aDirEntry.GetDevice();

assert( aDevice == DirEntry( "c:" ) );

unter UNIX:

DirEntry aDirEntry( "/mnt/cdrom/readme" );

DirEntry aDevice = aDirEntry.GetDevice();

assert( aDevice == DirEntry( "/dev/sd0b" ) );

Querverweise

DirEntry::GetName()

_______________


DirEntry::GetVolume()

String DirEntry::GetVolume() const;

Beschreibung

Diese Methode liefert einen String mit dem Namen des Mediums zurück, welches sich in dem Device befindet, auf dem der DirEntry liegt.

Rückgabewert

String	Der Name des Mediums.

Anmerkungen

Der Name des Mediums ist vom Gerät unabhängig, wenn es sich um ein auswechselbares Medium handelt.

_______________


DirEntry::GetFull()

String DirEntry::GetFull( FSysPathStyle eFormatter = FSYS_STYLE_HOST, BOOL bWithDelimiter = FALSE ) const;

Beschreibung

Der durch den DirEntry beschriebene Zugriffspfad wird so, wie er im DirEntry gespeichert ist, in einen String umgewandelt. Die Trennzeichen werden nur zwischen einzelnen Namen, nicht jedoch am Ende und am Anfang des Pfades eingefügt, es sei denn, es wird explizit gewüscht (bWithDelimiter), oder der Name ist eine absolute Root und der Style nicht FSYS_STYLE_MAC.

Parameter

FSysPathStyle eFormatter	Zu verwendender Formatierer. Default ist die Schreibweise des Betriebssystems, auf dem die Applikation läuft.

BOOL bWithDelimiter	TRUE

Abschließendes Trennzeichen anhängen.

FALSE

Kein abschließendes Trennzeichen anhängen.

Rückgabewert

String	Der String, der den durch den DirEntry beschriebenen Zugriffspfad enthält.

Ausnahmen

Der Name eines Parent-DirEntries ist betriebssystemabhängig. Er wird so zurückgeliefert, wie ihn das zugrundeliegende Filesystem erwartet. Unter UNIX, MS-DOS und OS/2 ist dies "..", auf dem Macintosh ist dies "::".

Handelt es sich (ausschließlich) um das aktuelle Verzeichnis, so wird ein String zurückgeliefert, der das betriebssystemabhängige Zeichen dafür enthält. Unter MS-DOS, UNIX, und OS/2 ist dies ".", beim Macintosh ist dies ":".

Anmerkungen

Es wird weder die Existenz des DirEntries überprüft, noch wird dieser in einen absoluten Pfad umgewandelt.

Beispiel

DirEntry aDirEntry;

aDirEntry = DirEntry( "source" ) + DirEntry( "temp.cxx" );

assert( aDirEntry->GetFull( FSYS_STYLE_SYSV ) == "source/temp.cxx" );

aDirEntry.ToAbs();

// im Verzeichnis /usr/timm unter UNIX

assert( aDirEntry->GetFull() == "/usr/timm/source/temp.cxx" );

// im Verzeichnis c:\ unter MS-DOS

assert( aDirEntry->GetFull() == "c:\\source\\temp.cxx" );

...

Querverweise

DirEntry::GetName(), DirEntry::GetPath()

_______________


DirEntry::IsAbs()

BOOL DirEntry::IsAbs();

Beschreibung

Diese Methode ermittelt, ob der DirEntry ein absoluter, also bei einer absoluten Root beginnender Zugriffspfad ist, und ob ein Device/Volume angegeben wurde.

Rückgabewert

BOOL	TRUE

Es handelt sich um einen absoluten Zugriffspfad.

FALSE

Es handelt sich nicht um einen absoluten Zugriffspfad.

_______________


DirEntry::ToAbs()

BOOL DirEntry::ToAbs();

Beschreibung

Diese Methode wandelt den DirEntry in einen absoluten, also bei einer absoluten Root beginnenden, und kürzestmöglichen Zugriffspfad um.

Rückgabewert

BOOL	TRUE

Es wurde ein absoluter Zugriffspfad erzeugt.

FALSE

Es konnte kein absoluter Zugriffspfad erzeugt werden.

Anmerkungen

Beginnt der Directory-Entry mit einem DirEntry( FSYS_CURRENT ), so wird dieser durch den aktuellen Zugriffspfad ersetzt. Beginnt er mit einem normalen Eintrag, wird dort automatisch ein DirEntry( FSYS_CURRENT ) vorgehängt. Daher wird auch ein einzelner Name zu einem kompletten Pfad erweitert.

Zugriffe auf DirEntry( FSYS_PARENT ) werden ebenfalls aufgelöst.

Zum Ermitteln des absoluten Zugriffspfades sind Zugriffe auf das zugrundeliegende Filesystem nötig. Dabei wird ggf. das aktuelle Verzeichnis abgerufen, welches dann mit dem relativen Pfad im DirEntry kombiniert wird.

Ein mit dieser Methode vervollständigter DirEntry ist in keinem Fall mehr betriebssystem-, ja nicht einmal mehr systemunabhängig, da er eine systemabhängige Root einträgt.

Beispiel

Angenommen sei als aktuelles Verzeichnis "/bin", dann kann dieses mit folgendem Programmfragment ermittelt werden:

DirEntry aDirEntry( FSYS_CURRENT )

aDirEntry().ToAbs();

assert( aDirEntry() == "/bin" );

Querverweise

DirEntry::ToRel()

_______________


DirEntry::Find()

BOOL DirEntry::Find( const String& rPfad );

Beschreibung

Diese Methode sucht den DirEntry in den angegebenen Directories. Der DirEntry wird durch den ersten gefundenen Pfad, in dem er gefunden wird, vervollständigt.

Parameter

String& rPfad	Eine Liste von (systemabhängigen) Suchpfaden, die mit cSep getrennt sind. Diese Liste wird von vorne nach hinten durchsucht. Die Darstellungsweise ist die der entsprechenden Environment-Variablen.

Rückgabewert

BOOL	TRUE

Der DirEntry wurde in einem der Pfade gefunden, und ein vervollständigter Zugriffspfad konnte erzeugt werden.

FALSE

Der DirEntry wurde in keinem der Pfade gefunden, er ist unverändert.

Anmerkungen

Es wird nicht implizit im aktuellen Verzeichnis gesucht. Ist dies gewollt, so muß dies explizit angegeben werden.

Auf UNIX wird als Trennzeichen der Doppelpunkt ":", auf den anderen Betriebssytemen das Semikolon ";" verwendet.

Beispiel

Das UNIX which kann in etwa folgendermaßen implementiert werden:

int main( int argc, char* arga[] }

{

if ( argc > 1 )

{

aEntry DirEntry( arga[1] );

if ( aEntry.Find( getenv( "PATH" ) ) )

{

puts( "error: file not found" );

return 1;

}

else

{

puts( aEntry() );

return 0;

}

}

}

Querverweise

DirEntry::ToRel(), DirEntry::ToAbs()

_______________


DirEntry::ToRel()

BOOL DirEntry::ToRel();

BOOL DirEntry::ToRel( const DirEntry& rRefDir );

Beschreibung

Diese Methoden wandeln einen DirEntry in eine relative Pfad-Adressierung um. Dabei kann der neue Zugriffspfad relativ zum aktuellen Verzeichnis (ohne Parameter) oder zu einem bestimmten anderen DirEntry (mit Parameter) sein.

Parameter

const DirEntry& rRefDir	Ein Zugriffspfad, zu dem relativ adressiert werden soll.

Rückgabewert

BOOL	TRUE

Es konnte eine relative Adressierung gefunden werden.

FALSE

Eine relative Adressierung ist nicht möglich.

Anmerkungen

Ist eine relative Adressierung nicht möglich, dann bleibt der Pfad unverändert.

Beispiel

DirEntry aDirEntry( "c:\\temp\\temp.doc" ).ToRel( "c:\\temp" );

assert( aDirEntry() == "temp.doc" );

Querverweise

DirEntry::ToAbs(), DirEntry::Find()

_______________


DirEntry::SetCWD()

BOOL DirEntry::SetCWD( BOOL bSloppy = FALSE ) const;

Beschreibung

Falls es sich bei dem DirEntry um ein Directory handelt, wird dieses zum aktuellen Arbeitsverzeichnis gemacht.

Parameter

BOOL bSloppy	TRUE

Das Directory, in dem sich der DirEntry befindet, soll ggf. genommen werden, falls es sich bei dem DirEntry nicht selbst um ein Directory handelt.

FALSE

Das Directory, in dem sich der DirEntry befindet, soll nicht genommen werden.

Rückgabewert

BOOL	TRUE

Der DirEntry (bzw. ggf. das Directory, in dem er sich befindet) ist jetzt das aktuelle Arbeitsverzeichnis.

FALSE

Der DirEntry ist kein gültiges Directory.

Anmerkungen

Diese Methode wurde hier und nicht bei der Klasse Dir eingefügt, da es unsinnig ist, zum Wechseln des CWD (current working directory) seinen Inhalt (die Liste der Einträge) einzulesen.

Beispiel

Das Verzeichnis "c:\bin\dos33" soll zum aktuellen Arbeitsverzeichnis gemacht werden:

...

{ DirEntry( "c:\\bin\\dos33" ).SetCWD(); }

...

Querverweise

DirEntry::Kill(), DirEntry::CreatePath()

_______________


DirEntry::CreatePath()

BOOL DirEntry::CreatePath() const;

Beschreibung

Der Pfad zum angegebenen DirEntry, nicht der DirEntry selbst, wird erzeugt.

Rückgabewert

BOOL	TRUE

Der Pfad konnte erzeugt werden.

FALSE

Der Pfad konnte nicht erzeugt werden.

Anmerkungen

Existiert der Pfad bereits, dann wird keines der angesprochenen Directories in der Modify-Zeit geändert.

Der DirEntry selbst wird nicht erzeugt, weil nicht bestimmbar ist, welche Art von DirEntry (Directory, reguläre Datei etc.) er repräsentieren sollte.

_______________


DirEntry::Exists()

BOOL DirEntry::Exists() const;

Beschreibung

Diese Methode prüft, ob im Basis-Filesystem ein Directory-Entry existiert, der diesem DirEntry entspricht. Dabei bleibt ungeklärt, um was für einen Typ es sich handelt oder über welche Zugriffsrechte der Aufrufer verfügt.

Rückgabewert

BOOL	TRUE

Der Directory-Entry existiert.

FALSE

Der Directory-Entry existiert nicht, oder im dazugehörigen Verzeichnis hat der User kein Leserecht.

Querverweise

DirEntry::First(), DirEntry::Find()

_______________


DirEntry::First()

BOOL DirEntry::First();

Beschreibung

Diese Methode prüft, ob im Basis-Filesystem ein der WildCard im Namen des DirEntry entsprechender Directory-Entry existiert. Dabei bleibt ungeklärt, um was für einen Typ es sich handelt oder über welche Zugriffsrechte der Aufrufer verfügt. Die WildCard im DirEntry-Namen wird durch den ersten passenden, gefundenen Namen ersetzt.

Rückgabewert

BOOL	TRUE

Der Directory-Entry existiert, und die WildCard wurde ersetzt.

FALSE

Der Directory-Entry existiert nicht, oder im dazugehörigen Verzeichnis hat der User kein Leserecht.

Querverweise

DirEntry::Exists(), DirEntry::Find()

_______________


DirEntry::Level()

USHORT DirEntry::Level() const;

Beschreibung

Diese Methode liefert die Stellung des DirEntries in der Hierarchie der Verzeichnisse zurück. Ein DirEntry ohne Parent-Verzeichnis hat dabei den Level 1 (foo.cxx), einer mit einem Parent (c:\foo.cxx) den Level 2 etc.

Rückgabewert

USHORT	Der Level des DirEntries.

Beispiel

DirEntry aDirEntry( "c:\\foo\\bla.cxx" );

for ( USHORT n = 0; n < aDirEntry.Level(); n++ )

puts( aDirEntry[n].GetName() );

Querverweise

DirEntry::operator []

_______________


DirEntry::CopyTo()

FSysError DirEntry::CopyTo( const DirEntry& rDestDir, BOOL bFile = FALSE ) const;

Beschreibung

Diese Methode legt eine Kopie des Directory-Eintrags unter dem angegebenen Zugriffspfad an. Wird FALSE übergeben, entspricht dies dem UNIX hard link. Es wird dann kein File kopiert, sondern im Basic Filesystem nur ein zweiter Directory-Entry für dieselbe Datei angelegt.

Parameter

const DirEntry& rDestDir	Der Zugriffspfad, unter dem die Kopie zu erstellen ist. Endet der Pfad auf ein existierendes Directory, so wird dort der Name des Originals verwendet.

BOOL bFile	TRUE

Die ganze Datei soll kopiert werden.

FALSE

Nur der Directory Entry wird kopiert (entspricht dem UNIX hard link).

Rückgabewert

FSysError	Der Fehlercode gibt den Erfolg des Kopiervorgangs oder den Grund des Versagens an.

Ausnahmen

Existiert unter dem Zielnamen bereits ein Eintrag, dann wird FALSE zurückgeliefert. Der Errorstatus ist dann FSYS_ERR_ALREADYEXISTS.

Anmerkungen

Es wird nur der DirEntry kopiert, was von den unterstützen Betriebssystemen nur bei UNIX möglich ist (Link). Bei allen anderen Betriebssystemen wird immer FALSE und der Errorstatus FSYS_ERR_NOTSUPPORTED zurückgeliefert.

Beispiel

Für die Datei "/usr/timm/beispiel.z" soll unter dem selben Namen im (ggf anzulegenden) Verzeichnis "/usr/karl/vontimm" ein zusätzlicher Directory-Eintrag (link) angelegt werden.

...

DirEntry( "/usr/timm/beispiel.z" ).

Copy( DirEntry( "/usr/karl/vontimm/" ) );

...

Querverweise

DirEntry::MoveTo(), DirEntry::Kill()

_______________


DirEntry::MoveTo()

FSysError DirEntry::MoveTo( const DirEntry& rDestDir ) const;

Beschreibung

Der DirEntry wird unter einem neuen Namen abgespeichert. Dieser neue Name kann in einem anderen Zugriffspfad liegen. U.a. können dabei Directory-Entries umbenannt und Directories angelegt werden.

Parameter

const DirEntry& rDestDir	Der Zugriffspfad, unter dem der DirEntry abgelegt werden soll. Endet der Pfad auf ein Directory, so wird dort der Name des Originals verwendet.

Rückgabewert

FSysError	Der Fehlercode zeigt den Erfolg bzw. den Grund des Versagens der Operation an.

Ausnahmen

Für den Fall, daß der Zielname bereits existiert, wird die Umbenennung nicht durchgeführt, und der Fehlercode ist in diesem Fall FSYS_ERR_ALREADYEXISTS.

Anmerkungen

Falls das Basis-Filesystem keine Umbenennung von Pfaden unterstützt, wird dieses durch eine Kopie (des hinter dem DirEntry stehenden Objekts) und anschließendes Löschen des Originals nachgebildet. Falls dies nicht möglich ist, weil der Speicher nicht ausreicht, ergibt dies den Fehlercode FSYS_ERR_VOLUMEFULL. Falls eine solche Vorgehensweise grundsätzlich nicht möglich ist, wird FSYS_ERR_NOTSUPPORTED zurückgegeben.

Beispiel

Die Datei "c:\\command.com" soll nach "c:\\bin\\dos33\\command.com" verlegt werden:

...

DirEntry( "c:\\command.com" ).

MoveTo( DirEntry( "c:\\bin\\dos33" ) );

...

Querverweise

DirEntry::CopyTo(), DirEntry::Kill()

_______________


DirEntry::Kill()

FSysError DirEntry::Kill() const;

Beschreibung

Diese Methode löscht den DirEntry aus dem zugehörigen Directory des Basis-Filesystems. Ist dies der einzige Directory-Eintrag für die referenzierte Datei (existiert also kein Hardlink), wird diese ebenfalls gelöscht.

Rückgabewert

FSysError	Der Fehlercode zeigt den Erfolg bzw. den Grund des Versagens der Operation an.

Anmerkungen

Nicht unbedingt wird mit dem DirEntry auch das zugehörige Objekt (z.B. die Datei) gelöscht. Dies ist beispielsweise unter UNIX der Fall, falls ein oder mehrere weitere Hardlinks bestehen.

Ist der DirEntry jedoch der letzte Link (was unter MS-DOS, OS/2 und Macintosh immer der Fall ist), wird auch der Speicher des zugehörigen Objektes (auf Basis des zugrundeliegenden Basis-Filesystems) wieder freigegeben.

Soll ein Directory gelöscht werden, welches noch weitere Einträge enthält, wird dieses nicht entfernt und der Fehlercode FSYS_ERR_NOTEMPTY zurückgegeben.

Beispiel

Das Directory "c:\temp\bla" soll gelöscht werden:

...

DirEntry( "c:\\temp\\bla" ).Kill();

...

Querverweise

DirEntry::MoveTo(), DirEntry::Copy()

_______________


DirEntry::operator =()

DirEntry& DirEntry::operator =( const DirEntry& rOrigDir );

Beschreibung

Der als Parameter übergebene DirEntry (nicht etwa der Directory-Entry im Basis-Filesystem oder gar die Datei) wird zum neuen Wert der Instanz. Dabei werden alle Substrukturen (die Parent-Directory-Einträge) mitkopiert.

Parameter

const DirEntry& rOrigDir	Der DirEntry, dessen Wert der Instanz zugewiesen werden soll.

Rückgabewert

DirEntry&	Referenz auf die eigene Instanz, die bereits mit den neuen Werten gefüllt ist.

Beispiel

...

DirEntry( "/usr/timm" ).SetCWD();

DirEntry aDirEntry1( "/usr/timm/bla/rattatta.cxx" );

DirEntry aDirEntry2 = aDirEntry1;

assert( aDirEntry1 == aDirEntry2 );

assert( aDirEntry1() == aDirEntry2() );

aDirEntry1.ToRel();

assert( aDirEntry1 == aDirEntry2 );

assert( aDirEntry1() != aDirEntry2() );

...

Querverweise

DirEntry::DirEntry(), DirEntry::~DirEntry()

_______________


DirEntry::operator +()

DirEntry DirEntry::operator +(const DirEntry& rSubDir)const;

Beschreibung

Dieser Operator hängt den als Parameter angegebenen Teilpfad hinter eine Kopie der eigenen Instanz.

Die Instanz selbst und auch der Parameter bleiben unverändert.

Parameter

const DirEntry& rSubDir	Der anzuhängende DirEntry.

Rückgabewert

DirEntry	Ein DirEntry, der die Verkettung der beiden DirEntries enthält.

Beispiel

...

DirEntry aEntry = DirEntry( FSYS_PARENT ) + DirEntry( "temp.doc" );

assert( aEntry.GetFull(FSYS_STYLE_FAT) == "..\\temp.doc" );

...

_______________


DirEntry::operator +=()

DirEntry& DirEntry::operator +=( const DirEntry& rSubDir ) const;

Beschreibung

Dieser Operator hängt den als Parameter angegebenen Teilpfad an die eigene Instanz an. Oben auf dem Stack des resultierenden DirEntries liegt dann der auch zuoberst auf dem Stack des Parameters liegende DirEntry.

Der Parameter selbst bleibt dabei unverändert.

Parameter

const DirEntry& rSubDir	Der anzuhängende DirEntry.

Rückgabewert

DirEntry&	Der resultierende DirEntry.

Beispiel

...

DirEntry aEntry( FSYS_PARENT );

...

aEntry += DirEntry( "temp.doc" );

...

_______________


DirEntry::operator ==()

BOOL DirEntry::operator ==( const DirEntry& rAnotherDir ) const;

Beschreibung

Die eigene Instanz wird mit dem Parameter daraufhin verglichen, ob sie (ohne Berücksichtigung iregendwelcher Aliases) denselben Directory Entry im Basis-Filesystem referenzieren.

Parameter

const DirEntry& rAnotherDir	Referenz auf den zu vergleichenden DirEntry.

Rückgabewert

BOOL	TRUE

Es handelt sich textuell um denselben Directory-Entry.

FALSE

Es handelt sich textuell nicht um denselben Directory-Entry.

Anmerkungen

Es ist möglich, daß die beiden DirEntries im Basis-Filesystem auf denselben Directory-Entry verweisen und der Vergleich trotzdem FALSE liefert. Dies ist beispielsweise der Fall, wenn der eine DirEntry der absolute und der andere ein relativer Pfad zu dem selben Directory-Entry ist.

Beispiel

...

// einen Eintrag mit einem anderen initialisieren

DirEntry aEntry( "temp.doc" );

DirEntry aAnotherEntry( aEntry );

// nun müßten beide gleich sein

assert( aEntry == aAnotherEntry );

// der eine von beiden wird vervollständigt

aEntry.ToAbs();

aEntry.ToRel();

// jetzt sind sie ungleich

assert( aEntry != aAnotherEntry );

...

_______________


DirEntry::operator !=()

BOOL DirEntry::operator != ( const DirEntry& rAnotherDir ) const;

Beschreibung

Die eigene Instanz wird mit dem Parameter textuell verglichen.

Parameter

const DirEntry& rAnotherDir	Referenz auf den zu vergleichenden DirEntry.

Rückgabewert

BOOL	TRUE

Es handelt sich nicht um denselben Directory-Entry.

FALSE

Es handelt sich um denselben Directory-Entry.

Anmerkungen

Dieser Operator kann TRUE zurückliefern, obwohl beide DirEntries auf denselben Directory-Entry verweisen.

_______________


DirEntry::operator[] ()

const DirEntry& DirEntry::operator[]( USHORT nParentLevel ) const;

Beschreibung

Dieser Operator liefert den Parent-DirEntry zurück, der sich auf der angegebenen Hierarchiestufe befindet. Stufe 0 ist dabei der DirEntry selbst.

Parameter

USHORT nParentLevel	Die Stufe innerhalb der Directory-Hierarchie.

Rückgabewert

const DirEntry&	Referenz auf den Parent.

Anmerkungen

Zugriffe außerhalb des verfügbaren Bereichs von 0 bis Level()-1 sind undefiniert.

Beispiel

...

DirEntry aDirEntry( "c:\\foo\\bla.cxx" );

for ( USHORT n = 0; n < aDirEntry.Level(); n++ )

puts( aDirEntry[n].GetName() );

...

Querverweise

DirEntry::Level()

_______________


DirEntry::GetAccessDelimiter()

static String DirEntry::GetAccessDelimiter( FSysStyle eStyle = FSYS_STYLE_HOST );

Beschreibung

Diese Methode liefert das auf dem System gültige Trennzeichen für Zugriffspfade zurück.

Rückgabewert

String	Das gültige Trennzeichen für Zugriffspfade.

_______________


DirEntry::GetSearchDelimiter()

static String DirEntry::GetSearchDelimiter( FSysStyle eStyle = FSYS_STYLE_HOST );

Beschreibung

Diese Methode liefert das auf dem System gültige Trennzeichen für Suchpfade zurück.

Rückgabewert

String	Das gültige Trennzeichen für Suchpfade.

_______________


DirEntry::IsCaseSenitive()

static BOOL DirEntry::IsCaseSensitive( FSysStyle eStyle = FSYS_STYLE_HOST );

Beschreibung

Diese Methode gibt an, ob das betreffende Basis-Filesystem des angegebenen Betriebssystems Groß-/Kleinschreibung unterscheidet.

Rückgabewert

BOOL	TRUE

Das Betriebssystem unterscheidet Groß- und Kleinbuchstaben.

FALSE

Das Betriebssystem behandelt Groß- und Kleinbuchstaben gleich.

_______________


DragServer

class DragServer : public Exchange

{

public:

DragServer();

~DragServer();

static void	Clear();

static void	NewItem();

static BOOL	CopyString( const String& rStr );

static BOOL	CopyBitmap( const Bitmap& rBitmap );

static BOOL	CopyGDIMetaFile( const GDIMetaFile& rGDIMetaFile );

static BOOL	CopyPrivateData( void* pData );

static BOOL	CopyFile( const String& rStr );

static BOOL	CopyData( const void* pData, ULONG nLen, ULONG nFormat, USHORT nTypeLen = 8 );

static BOOL	CopyRequest( ULONG nFormat );

static USHORT	GetItemCount();

static String	PasteString( USHORT nItem );

static Bitmap	PasteBitmap( USHORT nItem );

static BOOL	PasteGDIMetaFile( USHORT nItem, GDIMetaFile& rGDIMetaFile );

static void*	PastePrivateData( USHORT nItem );

static String	PasteFile( USHORT nItem );

static BOOL	PasteData( USHORT nItem, void* pBuf, ULONG nLen, ULONG nFormat );

static ULONG	GetDataLen( USHORT nItem, ULONG nFormat );

static USHORT	GetFormatCount( USHORT nItem );

static ULONG	GetFormat( USHORT nItem, USHORT nPos );

static BOOL	HasFormat( USHORT nItem, ULONG nFormat );

static USHORT	GetRequestItem();

static ULONG	GetRequestFormat();

};

Beschreibung

Die Klasse DragServer dient als Transportmedium für Daten, die über das "Drag and Drop"-Protokoll übertragen werden sollen. Das Interface der Klasse DragServer ist dem Interface der Klasse Clipboard sehr ähnlich. Es ist jedoch im Gegensatz zum Clipboard möglich, mehrere Datenobjekte in den DragServer zu kopieren. Jedes Datenobjekt kann dabei in mehreren Formaten angegeben werden.

Soll ein "Drag and Drop"-Vorgang gestartet werden, stellt der Absender die Daten in den DragServer und ruft danach die Methode Window::ExecuteDrag(). Bei den Fenstern, die während des "Drags" mit der Maus überfahren werden, wird der Handler Window::QueryDrop() gerufen. Innerhalb dieses Handlers kann an der Klasse DragServer erfragt werden, welche Datenobjekte in welchen Formaten zur Verfügung stehen. Anhand der vorgefundenen Daten und Formate kann entschieden werden, ob das Fenster die Daten nach einem "Drop"annehmen kann oder nicht. Innerhalb des Handlers Window::QueryDrop() kann nur auf die vorhandenen Formate der Datenobjekte und nicht auf die Daten selbst zugegriffen werden.

Nach dem Beenden des "Drags" wird an dem Fenster, über dem sich die Maus befindet, der Handler Window::Drop() gerufen. In diesem Handler können die übertragenen Daten an der Klasse DragServer ermittelt werden.

Entsprechend zur Klasse Clipboard ist es möglich, Verweise auf Datenobjekte in den DragServer zu stellen. Die Daten zu einem Verweis werden erst von der Klasse DragServer beim Absender angefordert, wenn ein Fenster im Handler Window::Drop() diese anfordert.

Basisklassen

Exchange

Querverweise

Exchange, Clipboard, Window::ExecuteDrag(), Window::QueryDrop(), Window::Drop()

_______________


DragServer::DragServer()

DragServer::DragServer();

Beschreibung

Konstruktor der Klasse DragServer.

_______________


DragServer::~DragServer()

DragServer::~DragServer();

Beschreibung

Destruktor der KlasseDragServer.

_______________


void DragServer::Clear()
DragServer::Clear()

static void DragServer::Clear();

Beschreibung

Durch Aufruf dieser Methode werden alle Daten, die sich zur Zeit im DragServer befinden, gelöscht.

_______________


DragServer::NewItem()

static void DragServer::NewItem();

Beschreibung

Nach dem Löschen des DragServers wird ein Item automatisch angelegt. Aufrufe der Copy-Methoden fügen Datenformate zu diesem Item ein. Der Aufruf der Methode NewItem() schließt das bestehende Item ab und legt ein neues an. Weitere Aufrufe der Copy-Methoden fügen Datenformate zu dem neuen Item an.

Beispiel

...

DragServer::Clear();

for( i=0; i < 3; i++ )   // 3 Datenobjekte in den DragServer kopieren

{

if( i )

DragServer::NewItem();                // Neues Datenobjekt

DragServer::CopyString( "Hallo Welt" );

DragServer::CopyBitmap( aBmp );

DragServer::CopyGDIMetaFile( aMetaFile );

}

Querverweise

DragServer::GetItemCount()

_______________


DragServer::CopyString( const String& rStr )
DragServer::CopyString()

static BOOL DragServer::CopyString( const String& rStr );

Beschreibung

Mit Hilfe dieser Methode wird der übergebene String in den DragServer kopiert. Es wird das Format FORMAT_STRING benutzt. Bevor neue Daten in den DragServer gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

const String& rStr	Der String, der in denDragServer kopiert werden soll.

Rückgabewert

BOOL	TRUE

Der String wurde in den DragServer kopiert.

FALSE

Der String konnte nicht in den DragServer kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest()

_______________


DragServer::CopyBitmap( const Bitmap& rBitmap )
DragServer::CopyBitmap()

static BOOL DragServer::CopyBitmap( const Bitmap& rBitmap );

Beschreibung

Mit Hilfe dieser Methode wird die übergebene Bitmap in den DragServer kopiert. Es wird das Format FORMAT_BITMAP benutzt. Bevor neue Daten in den DragServer gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

const Bitmap& rBitmap	Die Bitmap, die in den DragServer kopiert werden soll.

Rückgabewert

BOOL	TRUE

Die Bitmap wurde in den DragServer kopiert.

FALSE

Die Bitmap konnte nicht in den DragServer kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest()

_______________


DragServer::CopyGDIMetaFile( const GDIMetaFile& rGDIMetaFile )
DragServer::CopyGDIMetaFile()

static BOOL DragServer::CopyGDIMetaFile( const GDIMetaFile& rGDIMetaFile );

Beschreibung

Mit Hilfe dieser Methode wird das übergebene GDIMetaFile in den DragServer kopiert. Es wird das Format FORMAT_GDIMETAFILE benutzt und eine Konvertierung in das jeweils systemabhängige MetaFile-Format vorgenommen. Bevor neue Daten in den DragServer gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

const GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, das in den DragServer kopiert werden soll.

Rückgabewert

BOOL	TRUE

Das GDIMetaFile wurde in den DragServer kopiert.

FALSE

Das GDIMetaFile konnte nicht in den DragServer kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest()

_______________


DragServer::CopyPrivateData( void* pData )
DragServer::CopyPrivateData()

static BOOL DragServer::CopyPrivateData( void* pData );

Beschreibung

Mit Hilfe dieser Methode werden die übergebenen Daten in den DragServer kopiert. Es wird das Format FORMAT_PRIVATE benutzt. Mit dieser Methode können Daten kopiert werden, die nur in der eigenen Applikation eingefügt werden können.

Dies bietet eine besonders schnelle Möglichkeit des Datentransfers innerhalb einer Applikation, da nicht die Daten selbst, sondern nur ein Pointer auf die Daten in den DragServer gestellt werden. Die Applikation muß sicherstellen, daß der übergebene Pointer zum Zeitpunkt des Einfügens mit Hilfe der Methode DragServer::PastePrivateData() auf gültige Daten verweist.

Bevor neue Daten in den DragServer gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

void* pData	Die Daten, die in den DragServer kopiert werden sollen.

Rückgabewert

BOOL	TRUE

Die Daten wurden in den DragServer kopiert.

FALSE

Die Daten konnten nicht in den DragServer kopiert werden, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest()

_______________


DragServer::CopyFile( const String& rStr )
DragServer::CopyFile()

static BOOL DragServer::CopyFile( const String& rStr );

Beschreibung

Mit Hilfe dieser Methode wird der übergebene String als Pfadname in den DragServer kopiert. Es wird das Format FORMAT_FILE benutzt.  Falls neue Daten in den DragServer gestellt werden, sollten vorher die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

const String& rStr	Der Pfadname, der in den DragServer kopiert werden soll.

Rückgabewert

BOOL	TRUE

Die Daten wurden in den DragServer kopiert.

FALSE

Die Daten wurden nicht in den DragServer kopiert, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest()

_______________


DragServer::CopyData( const void* pData, ULONG nLen, ULONG nFormat, USHORT nTypeLen =8)
DragServer::CopyData()

static BOOL DragServer::CopyData( const void* pData, ULONG nLen, ULONG nFormat, USHORT nTypeLen =8);

Beschreibung

Mit Hilfe dieser Methode werden die übergebenen Daten in den DragServer kopiert. Es wird das übergebene eigene Datenformat benutzt. Das verwendete Datenformat muß vor der Benutzung mit Hilfe der Methode Exchange::RegisterFormatName() registriert worden sein. Falls neue Daten in den DragServer gestellt werden, sollten vorher die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

const void* pData	Der Zeiger auf die Daten, die in den DragServer kopiert werden sollen.

ULONG nLen	Die Länge der zu kopierenden Daten in Bytes.

ULONG nFormat	Die ID des privaten Datenformats. IDs für eigene Datenformate werden mit Hilfe der Methode Exchange::RegisterFormatName() ermittelt.

USHORT nTypeLen	Dieser Wert gibt die Länge des Datentypes in Bits an. Falls die Daten aus Short- oder Long-Arrays bestehen, werden durch diesen Datentyp die Daten automatisch gedreht, falls die Daten über verschiedene Maschinen ausgetauscht werden, die anderes Alignment besitzen.

Rückgabewert

BOOL	TRUE

Die Daten wurden in den DragServer kopiert.

FALSE

Die Daten wurden nicht in den DragServer kopiert, weil nicht genügend Speicher zur Verfügung steht.

Querverweise

DragServer::CopyRequest(), Exchange::RegisterFormatName()

_______________


DragServer::CopyRequest( ULONG nFormat )
DragServer::CopyRequest()

static BOOL DragServer::CopyRequest( ULONG nFormat );

Beschreibung

Mit Hilfe dieser Methode wird ein Verweis auf ein Datenformat in den DragServer gestellt. Der Verweis gibt an, in welchem Format Daten verfügbar sind, ohne daß diese selbst in den DragServer kopiert werden. Dies ist ein Verfahren (delayed rendering), das es erlaubt, große Datenobjekte (z.B. Bitmaps) erst in den DragServer zu kopieren, wenn diese von einer Applikation angefordert werden. Der DragServer ruft in diesem Fall den Request-Handler. Die Applikation muß als Reaktion darauf mit der entsprechenden Copy-Methode die Daten im gewünschten Format in den DragServer kopieren. Bevor neue Daten in den DragServer gestellt werden, sollten die alten Daten mit der Methode Clear() gelöscht werden. Weitere Aufrufe einer Copy-Methode können dazu dienen, das Datenobjekt in mehreren Formaten in den DragServer zu stellen. Das Format mit dem größten Informationsgehalt sollte als erstes in den DragServer gestellt werden.

Parameter

ULONG nFormat	Die ID des Datenformats, in dem Daten zur Verfügung stehen. IDs für eigene Datenformate werden mit Hilfe der Methode Exchange::RegisterFormatName() ermittelt.

Rückgabewert

BOOL	TRUE

Der Verweis wurde in den DragServer kopiert.

FALSE

Der Verweis wurde nicht in den DragServer kopiert.

Querverweise

DragServer::CopyRequest(), Exchange::RegisterFormatName()

_______________


DragServer::GetItemCount()

static USHORT DragServer::GetItemCount();

Beschreibung

Die Methode ermittelt die Anzahl der Datenobjekte, die sich zur Zeit im DragServer befinden.

Rückgabewert

USHORT	Die Anzahl der Datenobjekte, die sich zur Zeit im DragServer befinden. Nach dem Aufruf von DragServer::Clear() wird der Wert 1 zurückgegeben, da ein Datenobjekt automatisch erzeugt wird.

Querverweise

DragServer::NewItem()

_______________


DragServer::PasteString( USHORT nItem )
DragServer::PasteString()

static String DragServer::PasteString( USHORT nItem );

Beschreibung

Diese Methode gibt eine Kopie des  Stringformats zum Datenobjekt an der Position nItem. Stehen zur Zeit an der angegebenen Position keine Daten im Format FORMAT_STRING zur Verfügung, wird ein leerer String zurückgegeben.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem der String zurückgegeben werden soll.

Rückgabewert

String	Eine Kopie des Stringformats im DragServer. Steht im DragServer zu dem Datenobjekt kein String zur Verfügung, wird ein leerer String zurückgegeben.

Querverweise

DragServer::GetItemCount(), DragServer::GetFormat(), DragServer::HasFormat()

_______________


DragServer::PasteBitmap( USHORT nItem )
DragServer::PasteBitmap()

static Bitmap DragServer::PasteBitmap( USHORT nItem );

Beschreibung

Diese Methode gibt eine Kopie des Bitmapformats zum Datenobjekt an der Position nItem zurück. Stehen zur Zeit zur angegebenen Position keine Daten im Format FORMAT_BITMAP zur Verfügung, wird eine leere Bitmap zurückgegeben.

Parameter

USHORT nItem	Die Position des Datenobjekts, zu dem das Bitmapformat zurückgegeben werden soll.

Rückgabewert

Bitmap	Eine Kopie des Bitmapformats im DragServer. Steht im DragServer zu dem Datenobjekt keine Bitmap zur Verfügung, wird eine leere Bitmap zurückgegeben.

Querverweise

DragServer::GetItemCount(), DragServer::GetFormat(), DragServer::HasFormat()

_______________


DragServer::PasteGDIMetaFile( USHORT nItem, GDIMetaFile& rGDIMetaFile)
DragServer::PasteGDIMetaFile()

static BOOL DragServer::PasteGDIMetaFile( USHORT nItem, GDIMetaFile& rGDIMetaFile);

Beschreibung

Diese Methode gibt eine Kopie des GDIMetaFile-Formats an der Position nItem zurück. Stehen zur Zeit an der Position keine Daten im Format FORMAT_GDIMETAFILE zur Verfügung, wird ein leeres GDIMetaFile zurückgegeben.

Parameter

USHORT nItem	Die Position des Datenobjekts, zu dem das GDIMetaFile-Format zurückgegeben werden soll.

GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, in das die Daten aus dem DragServer kopiert werden sollen.

Rückgabewert

BOOL	TRUE

Das GDIMetaFile wurde aus dem DragServer kopiert.

FALSE

Es standen keine Daten im angegebenen Format zur Verfügung.

Querverweise

DragServer::GetItemCount(), DragServer::GetFormat(), DragServer::HasFormat()


DragServer::PastePrivateData( USHORT nItem )
DragServer::PastePrivateData()

void* DragServer::PastePrivateData( USHORT nItem );

Beschreibung

Diese Methode gibt einen Pointer auf das private Datenformat an der Position nItem zurück. Stehen zur Zeit an dieser Position keine Daten im Format FORMAT_PRIVATE zur Verfügung, so wird ein NULL-Pointer zurückgegeben.

Paramter

USHORT nItem	Die Position des Datenobjekts, zu dem das private Datenformat zurückgegeben werden soll.

Rückgabewert

void*	Ein Zeiger auf die privaten Daten zu dem Datenobjekt.

Querverweise

DragServer::GetItemCount(), DragServer::GetFormat(), DragServer::HasFormat()

_______________


DragServer::PasteFile( USHORT nItem )
DragServer::PasteFile()

static String DragServer::PasteFile( USHORT nItem );

Beschreibung

Diese Methode gibt das Fileformat an der Stelle nItem zurück. Stehen zur Zeit an dieser Position keine Daten im Format FORMAT_FILE zur Verfügung, so wird ein leerer String zurückgegeben.

Parameter

USHORT nItem	Die Position des Datenobjekts, zu dem das Fileformat zurückgegeben werden soll.

Rückgabewert

String	Der Pfadname des Fileformats an der angegebenen Position.

Querverweise

DragServer::GetItemCount(), DragServer::HasFormat(), DragServer::GetFormat()

_______________


DragServer::PasteData( USHORT nItem, void* pBuf, ULONG nLen, ULONG nFormat )
DragServer::PasteData()

static BOOL DragServer::PasteData( USHORT nItem, void* pBuf, ULONG nLen, ULONG nFormat );

Beschreibung

Diese Methode kopiert die Daten des Formats nFormat an der Position nItem in den übergebenen Puffer pBuf. Stehen zur Zeit keine Daten mit der Format-ID nFormat an dieser Position zur Verfügung, wird FALSE zurückgegeben, und es werden keine Daten kopiert.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem die Daten im angegebenen Format zurückgegeben werden sollen.

void* pBuf	Ein Zeiger auf den Puffer, in den die Daten kopiert werden sollen.

ULONG nLen	Die Länge des Puffers, in den die Daten kopiert werden sollen. Die minimale Länge des benötigten Puffers kann mit Hilfe der Methode GetDataLen() ermittelt werden. Sind die Daten größer als nLen, werden die Daten abgeschnitten.

ULONG nFormat	Die ID des Datenformats, zu dem die Daten gewünscht werden.

Rückgabewert

BOOL	TRUE

Die Daten wurden erfolgreich kopiert.

FALSE

Es standen keine Daten im übergebenen Format zur Verfügung.

Querverweise

DragServer::GetItemCount(), DragServer::GetDataLen(), DragServer::GetFormat(), DragServer::HasFormat()

_______________


DragServer::GetDataLen( USHORT nItem, ULONG nFormat )
DragServer::GetDataLen()

static ULONG DragServer::GetDataLen( USHORT nItem, ULONG nFormat );

Beschreibung

Diese Methode gibt die Länge des Puffers zurück, der benötigt wird, um die Daten zu dem Datenobjekt an der Position nItem im Format nFormat aus dem DragServer zu kopieren.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem die Daten angefordert werden.

ULONG nFormat	Die ID des Datenformats, zu dem die benötigte Puffergröße ermittelt werden soll.

Rückgabewert

ULONG	Die Länge des benötigten Puffers oder 0, wenn das angegebene Datenformat nicht an der Position zur Verfügung steht.

Querverweise

DragServer::GetItemCount(), DragServer::PasteData(), DragServer::GetFormat(), DragServer::HasFormat(), Exchange::RegisterFormatName()

_______________


DragServer::GetFormatCount( USHORT nItem )
DragServer::GetFormatCount()

static USHORT DragServer::GetFormatCount( USHORT nItem );

Beschreibung

Diese Methode gibt die Anzahl der zum Datenobjekt nItem im DragServer zur Verfügung stehenden Datenformate zurück. Der Rückgabewert kann dazu verwendet werden, die IDs der einzelnen Datenformate mit Hilfe der Methode GetFormat() abzufragen.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem die Formatanzahl ermittelt werden soll.

Rückgabewert

USHORT	Die Anzahl der Datenformate, die zu dem Datenobjekt zur Verfügung stehen, oder 0, wenn sich keine Daten zu dem Datenobjekt im  DragServer befinden.

Querverweise

DragServer::GetItemCount(), DragServer::HasFormat(), DragServer::GetFormat()

_______________


DragServer::GetFormat( USHORT nItem, USHORT nPos )
DragServer::GetFormat()

static ULONG DragServer::GetFormat( USHORT nItem, USHORT nPos );

Beschreibung

Diese Methode gibt die ID des Datenformats, das an der Stelle nPos steht, zurück. Mit GetFormat() werden nicht die im DragServer registrierten Formate abgefragt, sondern die Formate, in denen Daten im Datenobjekt an der Position nItem zur Verfügung stehen. Das Format, das als erstes in den DragServer kopiert wurde, hat die höchste Priorität und befindet sich an der Position 0.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem ein Format ermittelt werden soll.

USHORT nPos	Die Position, von der das Datenformat ermittelt werden soll.

Rückgabewert

ULONG	Das Datenformat, das sich an der übergebenen Position befindet, oder 0, wenn die Position ungültig ist.

Beispiel

...

USHORT nItems   = DragServer::GetItemCount()  // Anzahl Datenobjekte

USHORT nFormats;

for( i=0; i < nItems; i++ )

{

// Iteration über alle Items im DragServer

nFormats = DragServer::GetFormatCount( i );

for( j=0; j < nFormats; i++ )

{

// Iteration über alle Formate eines Items

nFormat = DragServer::GetFormat( i, j );

}

}

Querverweise

DragServer::GetItemCount(), DragServer::GetFormatCount()

_______________


DragServer::HasFormat( USHORT nItem, ULONG nFormat )
DragServer::HasFormat()

static BOOL DragServer::HasFormat( USHORT nItem, ULONG nFormat );

Beschreibung

Mit Hilfe dieser Methode kann ermittelt werden, ob Daten im Format nFormat zu dem Datenobjekt an der Stelle nItem zur Verfügung stehen.

Parameter

USHORT nItem	Die Position des Datenobjektes, zu dem ein Format erfragt werden soll.

ULONG nFormat	Die ID des gesuchten Datenformats.

Rückgabewert

BOOL	TRUE

Das gesuchte Datenformat steht zur Verfügung.

FALSE

Das gesuchte Datenformat steht nicht zur Verfügung.

Querverweise

DragServer::GetItemCount(), DragServer::GetFormatCount(), DragServer::GetFormat()

_______________


DragServer::GetRequestItem()

static USHORT DragServer::GetRequestItem();

Beschreibung

Mit Hilfe dieser Methode kann im Request-Handler erfragt werden, für welches Item Daten angefordert werden.

Rückgabewert

USHORT	Die Position des Datenobjektes, zu dem Daten im Request-Handler angefordert werden.

Querverweise

DragServer::CopyRequest(), DragServer::GetRequestFormat()

_______________


DragServer::GetRequestFormat()

static ULONG DragServer::GetRequestFormat();

Beschreibung

Mit Hilfe dieser Methode kann im Request-Handler abgefragt werden, in welchem Format Daten angefordert werden.

Rückgabewert

ULONG	Die ID des angeforderten Datenformats.

Querverweise

DragServer::GetRequestItem(), DragServer::CopyRequest()

_______________


DropEvent

enum DropAction	{ DROP_MOVE, DROP_COPY };

class DropEvent

{

public:

DropEvent();

DropEvent( const Point& rPos, DropAction eAction );

DropAction	GetAction() const;

Point	GetDropPosPixel() const;

};

Beschreibung

Die Klasse DropEvent dient als Paramter beim Aufruf der Handler Window::QueryDrop() und Window::Drop(). Es kann der Typ der Aktion  ("Move" oder "Copy"), sowie die Mausposition zum Zeitpunkt des Events abgefragt werden.

Querverweise

DragServer, Window::Drop(), Window::QueryDrop(), Window::EnableDrop(), Window::ExecuteDrag()

_______________


enum DropAction{ DROP_MOVE, DROP_COPY }
enum DropAction

enum DropAction	{ DROP_MOVE, DROP_COPY };

Beschreibung

Die Werte des enum DropAction geben den Typ des Events an. Die Umschaltung zwischen den verschiedenen Typen geschieht systemabhängig (z.B. Ziehen mit gedrückter Shift-Taste für "Copy").

DROP_MOVE	Das gezogene Objekt soll verschoben werden. Nach dem Beenden der "Drag and Drop"-Aktion soll das gezogene Objekt aus dem Quellbereich entfernt werden.

DROP_COPY	Das gezogene Objekt soll kopiert werden.

Querverweise

Window::ExecuteDrag(), Window::QueryDrop(), Window::Drop()

_______________


DropEvent::DropEvent()

DropEvent::DropEvent();

Beschreibung

Default-Konstruktor der Klasse DropEvent. Die Position wird auf Point( 0, 0 ) und die DropAction auf DROP_COPY initialisiert.

_______________


DropEvent::DropEvent(const Point& rPos, DropAction eAction )
DropEvent::DropEvent()

DropEvent::DropEvent(const Point& rPos, DropAction eAction );

Beschreibung

Konstruktor der Klasse DropEvent.

Parameter

const Point& rPos	Die Position der Maus zu dem Zeitpunkt, an dem der Event eingetreten ist. Die Position wird in Pixeln relativ zur oberen linken Ecke des Zielfensters angegeben.

DropAction eAction	Der Typ der "Drag and Drop"-Aktion.

Querverweise

DropAction, DropEvent::GetAction(), Window::QueryDrop(), Window::Drop()

_______________


DropAction DropEvent::GetAction() const
DropEvent::GetAction()

DropAction DropEvent::GetAction() const;

Beschreibung

Diese Methode liefert den Typ der "Drag and Drop"-Aktion zurück.

Rückgabewert

DropAction	Der Typ der Aktion.

_______________


DropEvent::GetDropPosPixel()

Point DropEvent::GetDropPosPixel() const;

Beschreibung

Diese Methode liefert die Position der Maus zum Zeitpunkt des Eintretens des Events.

Rückgabewert

Point	Die Position der Maus in Pixeln relativ zur oberen linken Ecke des Zielfensters.

_______________


DynArray

class DynArray : private Container

{

public:

DynArray( ULONG nSize = 16 );

DynArray( const DynArray& rAry );

~DynArray();

void*	Put( ULONG nPos, void* p );

void*	Get( ULONG nPos, void* p ) const;

ULONG	ChangeSize( ULONG nNewSize );

ULONG	GetSize() const;

void	Clear();

DynArray&	operator =( const DynArray& rAry );

BOOL	operator ==( const DynArray& rAry ) const;

BOOL	operator !=( const DynArray& rAry ) const;

};

Beschreibung

Die Klasse DynArray stellt die Basisfunktionalität eines Arrays zur Verfügung. Da nur Zeiger verwaltet werden, eignet sich die Klasse für die Speicherung von beliebigen Objekten. Dabei werden nicht die Daten kopiert oder gelöscht, auf die die Zeiger zeigen. Für das Speichern von Zeigern eines bestimmten Typs kann das DECLARE-Makro verwendet werden.

Basisklassen

Container

_______________


DECLARE_DYNARRAY( ClassName, Type )
DECLARE_DYNARRAY()

DECLARE_DYNARRAY( ClassName, Type )

Beschreibung

Die Klasse DynArray speichert ausschließlich typenlose Zeiger (void*). Soll innerhalb einer Applikation ein DynArray erzeugt werden, das nur Zeiger eines bestimmten Typs verarbeitet, so muß eine Ableitung der Klasse DynArray erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht, wobei darauf geachtet werden muß, daß der übergebene Typ ein Zeiger ist, wenn eine Datenstruktur größer als sizeof(void*) gespeichert werden soll. Dieses Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den das DynArray verwalten soll.

Beispiel

// Es wird mit Hilfe des Makros DECLARE_DYNARRAY() eine

// Ableitung der Klasse DynArray erzeugt, die lediglich

// Zeiger auf Instanzen der Klasse MyStruct verarbeitet.

struct MyStruct

{

   ...

};

DECLARE_DYNARRAY( MyArray, MyStruct* );

...

MyArray aArr( 100 );

aArr.Put( 0, new MyStruct(...) );

...

_______________


DynArray::DynArray( ULONG nSize = 16 )
DynArray::DynArray()

DynArray::DynArray( ULONG nSize = 16 );

Beschreibung

Konstruktor der Klasse DynArray. Dieser Konstruktor wird als Default-Konstruktor verwendet oder als Konstruktor, mit dem die Größe eingestellt werden kann.

Es werden alle Zeiger mit NULL initialisiert.

Parameter

ULONG nSize	Die Anzahl der Zeiger, die das Array enthalten kann. Der Parameter sollte größer als 0 sein, sonst wird der Wert vom DynArray vorgegeben.

_______________


DynArray::DynArray( const DynArray& rAry )
DynArray::DynArray()

DynArray::DynArray( const DynArray& rAry );

Beschreibung

Copy-Konstruktor der Klasse DynArray. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Arrays. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const DynArray& rAry	Das Array, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


DynArray::~DynArray()

DynArray::~DynArray();

Beschreibung

Destruktor der Klasse DynArray. Es werden alle vom Array angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


DynArray::Put( ULONG nPos, void* p )
DynArray::Put()

void* DynArray::Put( ULONG nPos, void* p );

Beschreibung

Diese Methode ersetzt den übergebenen Zeiger p an der Position nPos und gibt den vorher enthaltenden Zeiger zurück. Liegt die Position außerhalb des Bereiches, hat der Aufruf keine Wirkung.

Parameter

ULONG nPos	Die Position im Array.

void* p	Der Zeiger, der im Array gespeichert werden soll.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


DynArray::Get( ULONG nPos )
DynArray::Get()

void* DynArray::Get( ULONG nPos ) const;

Beschreibung

Der Zeiger an der Position nPos innerhalb des Arrays wird zurückgegeben.

Parameter

ULONG nPos	Die Position des Zeigers innerhalb des Arrays, der zurückgegeben werden soll.

Rückgabewert

void*	Der Zeiger, der sich an der Position nPos befindet. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


DynArray::ChangeSize( ULONG nNewSize )
DynArray::ChangeSize()

ULONG DynArray::ChangeSize( ULONG nNewSize );

Beschreibung

Es wird die Größe des Arrays geändert. Dabei bleiben die Zeiger, die sich bis zum Index nNewSize-1 im Array befinden, erhalten. Wird das Array vergrößert, werden alle neu angelegten Zeiger mit NULL initialisiert.

Parameter

ULONG nNewSize	Die Anzahl der im Array speicherbaren Zeiger. Falls 0 übergeben wird, so wird die Anzahl vom Array vorgegeben.

Rückgabewert

ULONG	Es wird die zuvor gesetzte Größe des Arrays zurückgegeben.

_______________


DynArray::GetSize()

ULONG DynArray::GetSize() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger im Array gespeichert werden können.

Rückgabewert

ULONG	Die Anzahl der im Array speicherbaren Zeiger.

_______________


DynArray::Clear()

void DynArray::Clear();

Beschreibung

Mit dieser Methode wird der vom Array angelegte Speicher freigegeben. Nach Aufruf dieser Methode können zunächst keine Zeiger gespeichert werden, sondern es muß zuvor mit ChangeSize() neuer Speicherplatz angelegt werden.

_______________


DynArray::operator =( const DynArray& rAry )
DynArray::operator =()

DynArray& DynArray::operator =( const DynArray& rAry );

Beschreibung

Zuweisungsoperator der Klasse DynArray. Dieser Operator löscht alle intern angelegten Daten und übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Arrays. Die Daten, auf die die Zeiger zeigen, werden nicht gelöscht und nicht kopiert.

Parameter

const DynArray& rAry	Das Array, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

Rückgabewert

DynArray&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


DynArray::operator ==( const DynArray& rAry );DynArray::operator !=( const DynArray& rAry )
DynArray::operator ==()
DynArray::operator !=()

BOOL DynArray::operator ==( const DynArray& rAry ) const;

BOOL DynArray::operator !=( const DynArray& rAry ) const;

Beschreibung

Vergleichsoperatoren der Klasse DynArray. Diese Operatoren prüfen, ob die gespeicherten Zeiger auf dieselben Daten in der gleichen Reihenfolge zeigen.

Parameter

const DynArray& rAry	Das Array, mit dem verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


Edit

#define EDIT_NOLIMIT        0xFFFF

class Edit : public Control

{

protected:

virtual void	Modify();

public:

Edit( Window* pParent, WinBits nWinStyle = WB_LEFT | WB_BORDER );

Edit( Window* pParent, const ResId& rResId );

~Edit();

void	ClearModifyFlag();

BOOL	IsModified() const;

USHORT	ChangeMaxTextLen( USHORT nMaxLen = EDIT_NOLIMIT);

USHORT	GetMaxTextLen() const;

Selection	ChangeSelection( const Selection& rSel );

Selection	GetSelection() const;

void	ReplaceSelected( const String& rStr );

void	DeleteSelected();

String	GetSelected() const;

void	Cut();

void	Copy();

void	Paste();

Link	ChangeModifyHdl( const Link& rLink );

Link	GetModifyHdl() const;

};

Beschreibung

Das Edit bietet eine einfache Möglichkeit zur einzeiligen Textanzeige und -bearbeitung. Es stellt die komplette Funktionalität für das Editieren von Texten zur Verfügung. Ferner übernimmt das Edit die Präsentation des Textes und, sofern die Applikation dieses erlaubt, das Scrollen des Textes, falls der Text nicht vollständig im Ausgabebereich dargestellt werden kann.

Mit dem Stylebit WB_BORDER kann das Edit mit einem Rahmen versehen werden.

Das Edit stellt sicher, daß der Bereich des Textes, in dem sich der Cursor befindet, im sichtbaren Bereich des Edits liegt.

Damit das Edit mit seinem Parent oder einem beliebigen anderen Objekt kommunizieren kann, muß die Applikation dem Edit geeignete Handler zuweisen. Diese Handler werden gerufen, wenn das Edit den Focus bekommt oder verliert oder wenn der Benutzer den Text geändert hat.

Der Text kann mit den Methoden Window::SetText() und Window::GetText() gesetzt und abgefragt werden.

Von der Basisklasse wird die Klasse MultiLineEdit abgeleitet. Diese bietet die Möglichkeit für mehrzeiliges Editieren.

Basisklassen

Control  :  Window  :  OutputDevice  :  Resource : LinkHdl

Querverweise

MultiLineEdit

_______________


Edit::Modify()

virtual void Edit::Modify();

Beschreibung

Dieser Handler wird gerufen, wenn Text im Edit geändert wurde. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeModifyHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeModifyHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

Edit::ChangeModifyHdl(), Edit::ClearModifyFlag(), Edit::IsModified()

_______________


Edit::Edit(Window* pParent,WinBits nWinStyle = WB_LEFT | WB_BORDER);
Edit::Edit()

Edit::Edit(Window* pParent,WinBits nWinStyle = WB_LEFT | WB_BORDER);

Beschreibung

Konstruktor der Klasse Edit. Es wird ein einzeiliges Editfeld erzeugt. Das Edit scrollt automatisch in horizontaler Richtung, wenn der Text nicht komplett in das Editfeld paßt. Edits bekommen keine ScrollBars. Wird weder WB_LEFT noch WB_RIGHT oder WB_CENTER angegeben, so wird der Text linksbündig ausgegeben.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es muß eine Textausrichtung gewählt werden):

WB_BORDER

Das Edit hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_PASSWORD

Alle Eingaben werden als "*" angezeigt. Mit Window::GetText() können diese Eingaben abgefragt werden.

_______________


Edit::Edit( Window* pParent, const ResId& rResId );
Edit::Edit()

Edit::Edit( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Edit.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des Edits.

_______________


Edit::~Edit()

Edit::~Edit();

Beschreibung

Destruktor der Klasse Edit.

_______________


Edit::ChangeMaxTextLen( USHORT nMaxLen = EDIT_NOLIMIT )
Edit::ChangeMaxTextLen()

USHORT Edit::ChangeMaxTextLen( USHORT nMaxLen = EDIT_NOLIMIT );

Beschreibung

Die Methode setzt die Maximallänge des Textes, der im Edit bearbeitet werden kann. Befindet sich in einem Edit bereits ein längerer Text, so wird dieser auf nMaxLen Zeichen gekürzt. Mit dem Wert EDIT_NOLIMIT wird keine Begrenzung der Textlänge gesetzt bzw. die Begrenzung wieder aufgehoben.

Parameter

USHORT nMaxLen	Die neue maximale Länge für den Text.

Rückgabewert

USHORT	Die bisherige Maximallänge für den Text.

_______________


Edit::GetMaxTextLen() const
Edit::GetMaxTextLen()

USHORT Edit::GetMaxTextLen() const;

Beschreibung

Die Methode gibt die Maximallänge des Textes zurück. EDIT_NOLIMIT bedeutet, daß die Länge nicht begrenzt ist.

Rückgabewert

USHORT	Die momentane Maximallänge für den Text.

_______________


Edit::ClearModifyFlag()

void Edit::ClearModifyFlag();

Beschreibung

Diese Methode setzt als einzige Methode das Modify-Flag zurück. Wenn ein Zurücksetzen des Flags gewünscht wird, muß diese Methode gerufen werden. Das Modify-Flag wird auch durch Aufruf der Methoden Window::SetText() oder ChangeMaxTextLen() gesetzt, wenn dadurch der Text geändert wird.

_______________


Edit::IsModified() const

Edit::IsModified()

BOOL Edit::IsModified() const;

Beschreibung

Die Methode liefert TRUE, wenn der Text des Edits seit dem letzten Zurücksetzen des Modify-Flags verändert worden ist. Das Modify-Flag wird auch durch Aufruf der Methoden Window::SetText() oder ChangeMaxTextLen() gesetzt, wenn dadurch der Text geändert wird.

Das Flag ist initial auf FALSE gesetzt. Dies gilt auch dann, wenn ein Edit mit Text aus der Resource geladen wird.

Rückgabewert

BOOL	TRUE

Der Text wurde verändert, seitdem das Modify-Flag zurückgesetzt worden ist.

FALSE

Der Text wurde nicht verändert, seitdem das Modify-Flag zurückgesetzt worden ist.

_______________


Edit::ChangeSelection( const Selection& rSel )
Edit::ChangeSelection()

Selection Edit::ChangeSelection( const Selection& rSel );

Beschreibung

Der übergebene Bereich des Edits wird selektiert, und der Textcursor wird auf den Endpunkt gesetzt. Die vorherige Selektion wird aufgehoben.

Sind der Start- und Endpunkt gleich, so wird kein Text selektiert, sondern nur der Textcursor an die Position gesetzt. Andernfalls werden der Bereich vom Startpunkt bis zum Endpunkt selektiert und der Textcursor an das Ende der Selektion gesetzt. Der Endpunkt ist das erste Zeichen, welches nicht selektiert werden soll. Liegt der Endpunkt hinter dem Textende, so wird bis zum Textende selektiert. Wird der Bereich mit 0 und SELECTION_MAX angegeben, so wird der gesamte Text selektiert.

Parameter

const Selection& rSel	Der Bereich, der selektiert werden soll.

Rückgabewert

Selection	Der vorher selektierte Bereich oder die Position des Textcursors.

_______________


Edit::GetSelection() const

Edit::GetSelection()

Selection Edit::GetSelection() const;

Beschreibung

Der selektierte Bereich wird zurückgegeben. Ist kein Bereich selektiert, so wird die Position des Textcursors zurückgegeben.

Rückgabewert

Selection	Der selektierte Bereich oder die Position des Textcursors.

_______________


Edit::ReplaceSelected( const String& rStr )

Edit::ReplaceSelected()

void Edit::ReplaceSelected( const String& rStr );

Beschreibung

Der selektierte Bereich wird durch den übergebenen String ersetzt. Ist kein Text selektiert, so wird der Text an der Position des Textcursors eingefügt.

Parameter

const String& rStr	Der String, der den selektierten Text ersetzt.

_______________


Edit::DeleteSelected()

void Edit::DeleteSelected();

Beschreibung

Der Text innerhalb des selektierten Bereiches wird gelöscht. Ist kein Text selektiert, so hat der Aufruf keine Wirkung.

_______________


Edit::GetSelected() const

Edit::GetSelected()

String Edit::GetSelected() const;

Beschreibung

Der Text innerhalb des selektierten Bereiches wird zurückgegeben. Ist kein Text selektiert, so wird ein leerer String zurückgegeben.

Rückgabewert

String	Der Text innerhalb des selektierten Bereichs.

_______________


Edit::Cut()

void Edit::Cut();

Beschreibung

Der Text innerhalb des selektierten Bereiches wird gelöscht und im Format CLIP_STRING in das Clipboard gestellt. Ist kein Text selektiert, so hat der Aufruf keine Wirkung.

Querverweise

Clipboard

_______________


Edit::Copy()

void Edit::Copy();

Beschreibung

Der Text innerhalb des selektierten Bereiches wird im Format CLIP_STRING in das Clipboard gestellt; der Text und die Selektion werden nicht verändert. Ist kein Text selektiert, so hat der Aufruf keine Wirkung.

Querverweise

Clipboard

_______________


Edit::Paste()

void Edit::Paste();

Beschreibung

Der Text, der im Format CLIP_STRING im Clipboard steht, ersetzt den selektierten Text im Edit. Ist kein Text selektiert, so wird der Text an der aktuellen Position des Textcursors eingefügt. Steht kein Text im Clipboard, so hat der Aufruf keine Wirkung.

Querverweise

Clipboard

_______________


Edit::ChangeModifyHdl( const Link& rLink )
Edit::ChangeModifyHdl()

Link Edit::ChangeModifyHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer Text innerhalb des Edits ändert.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn im Edit der Text verändert wird. Als Parameter erhält der Handler einen Zeiger auf das Edit.

Prototyp des Handlers:

void MyClass::Modify( Edit* pEdit );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, Edit::Modify()

_______________


Edit::GetModifyHdl()

Link Edit::GetModifyHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Benutzer Text innerhalb des Edits ändert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


ErrorBox

class ErrorBox : public MessBox

{

public:

ErrorBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

ErrorBox( Window* pParent, const ResId& rResId );

}

Beschreibung

Die Klasse ErrorBox ist von der Klasse MessBox abgeleitet. Eine ErrorBox enthält je nach Basisfenstersystem ein bestimmtes Icon (z.B. ein Stopschild) sowie einen frei definierbaren Text. Der Titel ist fest vorgegeben und enthält den Namen des Applikationsfensters. Die Eingabe-Buttons sind über Stylebits frei wählbar.

Basisklassen

MessBox : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Icon

_______________


ErrorBox::ErrorBox()

ErrorBox::ErrorBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

Beschreibung

Konstruktor der Klasse ErrorBox. Als Parameter werden ein Zeiger auf den Parent und der Ausgabetext übergeben. Durch den Konstruktor wird eine ErrorBox erzeugt, aber noch nicht angezeigt. Die Anzeige geschieht erst durch Aufruf der Methode MessBox::Execute().

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Folgende Stylebits sind möglich:

WB_SYSMODAL

Die ErrorBox ist systemmodal.

WB_OK

Button OK.

WB_OK_CANCEL

Button OK und Cancel.

WB_YES_NO

Button Yes und No.

WB_YES_NO_CANCEL

Button Yes, No und Cancel.

WB_RETRY_CANCEL

Button Retry und Cancel.

(Es sind keine Kombinationen zulässig)

WB_DEF_OK

Der OK-Button ist der Default-Button.

WB_DEF_CANCEL

Der CANCEL-Button ist der Default-Button.

WB_DEF_YES

Der YES-Button ist der Default-Button.

WB_DEF_NO

Der NO-Button ist der Default-Button.

WB_DEF_RETRY

Der RETRY-Button ist der Default-Button.

(Es sind keine Default-Kombinationen zulässig)

const String& rMessage	Dieser Text wird in der ErrorBox angezeigt.

Querverweise

MessBox, MessBox::Execute()

_______________


ErrorBox::ErrorBox( Window* pParent, const ResId& rResId )
ErrorBox::ErrorBox()

ErrorBox::ErrorBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse ErrorBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource, MessBox::Execute()

_______________


Exchange

#define FORMAT_STRING         1

#define FORMAT_BITMAP         2

#define FORMAT_GDIMETAFILE    3

#define FORMAT_PRIVATE        4

#define FORMAT_FILE           5

class Exchange

{

protected:

virtual void	Request();

Exchange();

~Exchange();

public:

static ULONG	RegisterFormatName( const String& rName );

static String	GetFormatName( ULONG nFormat );

Link	ChangeRequestHdl( const Link& rLink );

Link	GetRequestHdl() const;

};

Beschreibung

Die Klasse Exchange ist die gemeinsame Basisklasse für die Klassen Clipboard und DragServer. In dieser Klasse ist die Registrierung und Verwaltung der benutzerdefinierten Datenaustauschformate implementiert. Zusätzlich wird hier der Link für den Datenaustausch per Request verwaltet.

Querverweise

Cipboard, DragServer

_______________


Exchange::Request()

virtual void Exchange::Request();

Beschreibung

Diese Methode ist ein Handler, der von StarView gerufen wird, wenn Daten zu einem vorher in die Exchange-Instanz gestellten Verweis auf ein Datenformat benötigt werden.

Falls der Handler nicht überladen wurde, wird der mit Hilfe der Methode ChangeRequestHdl() gesetzte Link aufgerufen. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Ist kein Link gesetzt worden, werden keine Daten in die Exchange-Instanz gestellt. Gibt es mehrere Instanzen von Exchange, so wird der Request-Handler aller Instanzen gerufen. Wenn dieser Handler aufgerufen wird, sollten die angeforderten Daten mit der entsprechenden Copy-Methode in die Exchange-Instanz gestellt werden.

Um die angeforderten Daten in die Exchange-Instanz zu stellen, muß zuerst das angeforder Format mit der Methode GetRequestFormat() abgefragt werden. Um die Daten in die Exchange-Instanz zu stellen, muß dann zu dem angeforderten Format die entsprechende Copy-Methode aufgerufen werden, ohne vorher Clear() aufzurufen.

Spätestens beim Zerstören des Applikationsfensters werden alle noch offenen Requests durch Rufen des Request-Handlers mit den entsprechend gesetzten Formaten abgefragt. Deshalb sollten die Request-Daten erst nach dem Zerstören des Applikationsfensters gelöscht werden.

Querverweise

Clipboard, DragServer, Exchange::ChangeRequestHd(), Exchange::GetRequestFormat()

______________


Exchange::Exchange()

Exchange::Exchange();

Beschreibung

Konstruktor der Klasse Exchange. Diese Klasse dient als Basisklasse für die Klassen Clipboard und DragServer. Es können keine Instanzen der Klasse Exchange direkt erzeugt werden.

_______________


Exchange::~Exchange()

Exchange::~Exchange();

Beschreibung

Destruktor der Klasse Exchange.

_______________


Exchange::RegisterFormatName( const String& rName )
Exchange::RegisterFormatName()

static ULONG Exchange::RegisterFormatName( const String& rName );

Beschreibung

Mit Hilfe dieser Methode werden eigene Datenformate angemeldet. Die zurückgegebene Format-ID wird bei nachfolgenden Aufrufen verwendet. Wird ein Name mehrmals registriert, so wird jedesmal die gleiche Format-ID zurückgegeben, auch wenn es sich um verschiedene Applikationen handelt.

Parameter

const String& rName	Eine Referenz auf einen String mit dem Namen des zu registrierenden Formats.

Rückgabewert

ULONG	Die ID des registrierten Formats.

_______________


Exchange::GetFormatName( ULONG nFormat )
Exchange::GetFormatName()

static String Exchange::GetFormatName( ULONG nFormat );

Beschreibung

Diese Methode gibt einen String mit dem bei der Registrierung des Formats angegebenen Formatnamen zurück.

Parameter

ULONG nFormat	Die ID des Formats, zu dem der Name gesucht wird.

Rückgabewert

String	Ein String mit dem Namen des angegebenen Formats. Ist das Format nicht bekannt, wird ein leerer String zurückgegeben.

_______________


Exchange::ChangeRequestHdl( const Link& rLink )
Exchange::ChangeRequestHdl()

Link Exchange::ChangeRequestHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen Request-Handler.

Parameter

const Link& rLink	Ein Link auf den neuen Request-Handler.

Prototyp des Request-Handlers:

void MyClass::ExchangeRequest( Exchange* pExchange );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link mit dem alten Request-Handler.

Querverweise

Link, Exchange::Request()

_______________


Exchange::GetRequestHdl()

Link Exchange::GetRequestHdl() const;

Beschreibung

Diese Methode gibt einen Link mit dem zur Zeit gesetzten Request-Handler.

Rückgabewert

Link	Ein Link mit dem aktuellen Request-Handler.

_______________


FileDialog

class FileDialog : public SystemDialog

{

public:

FileDialog( Window* pParent, WinBits nWinStyle );

FileDialog( Window* pParent, const ResId& rResId );

virtual	~FileDialog();

void	SetPath( const String& rNewPath );

String	GetPath() const;

void	SetDefaultExt( const String& rExt );

String	GetDefaultExt() const;

void	AddFilter( const String& rFilter, const String& rType );

void	RemoveFilter( const String& rFilter );

void	RemoveAllFilter();

void	SetCurFilter( const String& rFilter );

String	GetCurFilter() const;

short	Execute();

};

Beschreibung

Die Klasse FileDialog ist von SystemDialog abgeleitet  und bietet eine einfache Möglichkeit, dem Anwender eine Dateiauswahl anzubieten. Dabei wird auf allen Systemen der Standard-FileDialog benutzt, wenn einer vorhanden ist. Auf den anderen Systemen wird ein entsprechender Dialog nachgebildet.

Basisklassen

SystemDialog : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

SystemDialog, ModalDialog, ModelessDialog, Control

Beispiel

long MyWindow::Open( Menu* )

{

FileDialog aFileDlg( this, WB_OPEN | WB_SVLOOK | WB_STDMODAL );

if ( aFileDlg.Execute() )

{

String aFileName = aFileDlg.GetPath();

...

}

return TRUE;

}

_______________


FileDialog::FileDialog( Window* pParent, WinBits nWinStyle )
FileDialog::FileDialog()

FileDialog::FileDialog( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse FileDialog. Es muß als WinBit entweder WB_OPEN oder WB_SAVEAS übergeben werden, um den Typ des Dialogs zu bestimmen.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_OPEN

Bei der Dialogbox handelt es sich um einen "Öffnen" Dialog.

WB_SAVEAS

Bei der Dialogbox handelt es sich um einen "Speichern als" Dialog

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_SVLOOK

Die Dialogbox erscheint im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


FileDialog::FileDialog( Window* pParent, const ResId& rResId )
FileDialog::FileDialog()

FileDialog::FileDialog( Window* pParent, const ResId& rResId );

Beschreibung

Konstruktor der Klasse FileDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

const ResId& rResId	Der Resource-Identifier der Dialogbox

_______________


FileDialog::~FileDialog()

virtual FileDialog::~FileDialog();

Beschreibung

Destruktor der Klasse FileDialog.

_______________


FileDialog::SetPath( const String& rNewPath )
FileDialog::SetPath()

void FileDialog::SetPath( const String& rNewPath );

Beschreibung

Die Methode setzt einen neuen Dateinamen.

Parameter

const String& rNewPath	Der neue Dateiname.

_______________


FileDialog::GetPath()

String FileDialog::GetPath() const;

Beschreibung

Die Methode gibt den eingestellten Dateinamen zurück.

Rückgabewert

String	Der eingestellte Dateiname.

_______________


FileDialog::SetDefaultExt( const String& rExt )
FileDialog::SetDefaultExt()

void FileDialog::SetDefaultExt( const String& rExt );

Beschreibung

Die Methode setzt eine neue Default-Dateiendung.

Parameter

const String rExt	Die neue Default-Dateiendung.

_______________


FileDialog::GetDefaultExt()

String FileDialog::GetDefaultExt() const;

Beschreibung

Die Methode ermittelt die eingestellte Default-Dateiendung.

Rückgabewert

String	Die eingestellte Default-Dateiendung.

_______________


FileDialog::AddFilter( const String& rFilter, const String& rType );
FileDialog::AddFilter()

void FileDialog::AddFilter( const String& rFilter, const String& rType );

Beschreibung

Die Methode fügt der Liste der Dateifilter einen neuen Filter hinzu.

Parameter

const String& rFilter	Der neue Dateifilter.

const String& rType	...

_______________


FileDialog::RemoveFilter( const String& rFilter )
FileDialog::RemoveFilter()

void FileDialog::RemoveFilter( const String& rFilter );

Beschreibung

Die Methode entfernt den angegebenen Dateifilter aus der Filterliste.

Parameter

const String& rFilter	Der Dateifilter, der entfernt werden soll.

_______________


FileDialog::RemoveAllFilter()

void FileDialog::RemoveAllFilter();

Beschreibung

Die Methode entfernt alle Dateifilter aus der Filterliste.

_______________


FileDialog::SetCurFilter( const String& rFilter )
FileDialog::SetCurFilter()

void FileDialog::SetCurFilter( const String& rFilter );

Beschreibung

Die Methode setzt den voreingestellten Dateifilter.

Parameter

const String& rFilter	Der voreingestellte Dateifilter.

_______________


FileDialog::GetCurFilter()

String FileDialog::GetCurFilter() const;

Beschreibung

Die Methode ermittelt den ausgewählten Dateifilter in der Filterliste.

Rückgabewert

String	Der ausgewählte Dateifilter.

_______________


FileDialog::Execute()

short FileDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die FileDialogbox.

Rückgabewert

short	TRUE

Der Dialog wurde durch Auswahl des OK-Buttons beendet, und der ausgewählte Dateiname kann mit GetPath() abgefragt werden.

FALSE

Der Dialog wurde durch Auswahl des Cancel-Buttons beendet.

_______________


FileStat

class FileStat

{

public:

FileStat();

FileStat( const DirEntry& rDirEntry );

BOOL	Update( const DirEntry& rDirEntry );

FSysError	GetError() const;

ULONG	GetSize() const;

DirEntryKind	GetKind() const;

BOOL	IsKind( DirEntryKind nKind ) const;

String	GetType() const;

String	GetCreator() const;

Date	DateCreated() const;

Date	DateModified() const;

Date	DateAccessed() const;

Time	TimeCreated() const;

Time	TimeModified() const;

Time	TimeAccessed() const;

BOOL	IsYounger( const FileStat& rIsOlder ) const;

};

Beschreibung

Über diese Klasse können statistische Daten eines DirEntries abgefragt werden. Diese Methoden werden separat und nicht innerhalb der Klasse DirEntry implementiert, weil dies aufgrund der Vielzahl von Member-Variablen einerseits die Dir-Tabellen überlasten würde und weil andererseits nicht in jedem Betriebssystem diese Informationen im Directory verfügbar sind, sondern separat angefordert werden müssen.

Beispiel

DirEntry aDirEntry( "/usr/tosh/.cshrc" );

FileStat aFileStat( aDirEntry );

cout << "The size of the file [" << aDirEntry.GetFull() << "] is "

<< aFileStat.Size() << " bytes." << endl;

_______________


FileStat::FileStat()

FileStat::FileStat();

FileStat::FileStat( const DirEntry& rDirEntry );

Beschreibung

Konstruktoren der Klasse FileStat. Ein FileStat kann entweder leer sein oder aus einem DirEntry erzeugt werden. Durch einen Konstruktor für DirEntry, der diesen aus einem String erzeugt, kann auch ein FileStat (indirekt) aus einem String erzeugt werden.

Beim Aufruf mit einem gültigen DirEntry werden dessen statistische Daten in die Member-Variable der neuen Instanz geladen. Diese bleiben bis zum Aufruf der Methode Update() bzw. des Destruktors unverändert, so daß sie (relativ zum Basis-Filesystem gesehen) ungültig werden können.

Parameter

const DirEntry& rDirEntry	Der Directory-Eintrag, dessen statistische Daten gelesen werden sollen. Dieser muß einen gültigen Zugriffspfad beschreiben.

Anmerkungen

Für das Einlesen der statistischen Daten wird in der Regel ein Zugriff auf das Speichermedium nötig sein.

Beispiel

...

assert( FileStat( DirEntry( "c:\\bin" ) ).

IsKind( FSYS_KIND_FIXED ) );

assert( FileStat( DirEntry( "c:\\bin" ) ).

IsKind( FSYS_KIND_DIR ) );

...

_______________


FileStat::Update( const DirEntry& rEntry )
FileStat::Update()

BOOL FileStat::Update( const DirEntry& rEntry );

Beschreibung

Mit dieser Methode wird die statistische Information in den Member-Variablen der betreffenden Instanz auf den neuesten Stand gebracht. Die Werte werden nur durch den Konstruktor oder diese Methode aktualisiert, ansonsten bleiben sie unverändert. Es sind also quasi Momentaufnahmen.

Parameter

const DirEntry& rEntry	Die FileStat-Instanz.

Rückgabewert

BOOL	TRUE

Die Operation konnte erfolgreich durchgeführt werden.

FALSE

Die Operation konnte nicht erfolgreich durchgeführt werden.

Ausnahmen

Das Aktualisieren der statistischen Informationen ist nur möglich, wenn sich der Parameter auf einen im Basis-Filesystem existierenden Directory-Entry bezieht. Ansonsten wird ein Fehlerstatus ungleich FSYS_ERR_OK zurückgeliefert, und die Instanz ist genauso initialisiert wie nach Aufruf des Konstruktors ohne Parameter.

Beispiel

Das folgende Programmfragment beobachtet die Größe eines Files, solange dieses existiert.

DirEntry aDirEntry( "c:\\temp\\temp.doc" );

FileStat aFileStat(  );

while ( aFileStat.Update( aDirEntry ) )

cout << "actual size is:" << aFileStat.Size() << Bytes\n";

cout << "file doesn't exist anymore\n" << endl;

_______________


FileStat::GetError()

FSysError FileStat::GetError() const;

Beschreibung

Der durch einen vorhergehenden Aufruf von Update() oder den Konstruktor dieser Instanz gesetzte Errorstatus wird zurückgegeben.

Rückgabewert

FSysError	Der gesetzte Errorstatus. Für die möglichen Werte siehe FSysError in der Klassenbeschreibung DirEntry.

Anmerkungen

Der Errorstatus von Instanzen dieser Klasse wird ausschließlich in den Konstruktoren und in Update() gesetzt.

Beispiel

...

FileStat aFileStat( DirEntry( "c:\\dos33\\command.com" ) );

switch aFileStat.Error()

{

case FSYS_ERR_NOTEXISTS:

printf( "Fehler: COMMAND.COM nicht gefunden\n" );

break;

case FSYS_ERR_PATHINVALID:

printf( "Fehler: C:\\DOS33 ist kein gültiger Pfad\n" );

break;

...

}

Querverweise

FSysError

_______________


FileStat::GetSize()

ULONG FileStat::GetSize() const;

Beschreibung

Diese Methode liefert die Größe der Datei zum Zeitpunkt des letzten Updates (Konstruktor oder Update()) der zum dort angegebenen DirEntry gehörenden Datei.

Rückgabewert

ULONG	Die Größe der Datei.

Ausnahmen

Stellte der angegebene DirEntry keine Datei dar, so wird immer 0 zurückgeliefert. Dies gilt auch für Directories.

_______________


FileStat::GetKind()

DirEntryKind FileStat::GetKind() const;

Beschreibung

Die Methode liefert den Typ des DirEntries zurück.

Rückgabewert

DirEntryKind	Der Typ des DirEntries.

Querverweise

DirEntryKind

_______________


FileStat::IsKind( DirEntryKind nKind )
FileStat::IsKind()

BOOL FileStat::IsKind( DirEntryKind nKind );

Beschreibung

Mit dieser Methode kann abgefragt werden, ob der Typ des zugehörigen DirEntries dem übergebenen Typ entspricht.

Parameter

DirEntryKind nKind	Der Typ, dem der zugehörige DirEntry entsprechen soll.

Rückgabewert

BOOL	TRUE

Der zugehörige DirEntry entspricht dem genannten Typ.

FALSE

Der angegebene Typ stimmt nicht mit dem des zugehörigen DirEntry überein.

Beispiel

...

DirEntry aDirEntry( "c:\\bin\\dos33" );

if ( aDirEntry.Is( FSYS_KIND_FILE ) )

cout << "es ist ein File" << endl;

if ( aDirEntry.Is( FSYS_KIND_DIR ) )

cout << "es ist ein Directory" << endl;

if ( aDirEntry.Is( FSYS_KIND_DEV ) )

cout << "es ist ein Device" << endl;

...

_______________


FileStat::GetType()

String FileStat::GetType() const;

Beschreibung

Die Methode liefert den Resource-Typ des DirEntries als String zurück. (zur Zeit nur auf dem Macintosh)

Rückgabewert

String	Der Typ des DirEntries als String.

_______________


FileStat::GetCreator()

String FileStat::GetCreator() const;

Beschreibung

Die Methode liefert den Creator (Application) des DirEntries als String zurück. (zur Zeit nur Macintosh)

Rückgabewert

String	Der Creator des DirEntries als String.

_______________


FileStat::DateCreated()
FileStat::DateModified()
FileStat::DateAccessed()

Date FileStat::DateCreated() const;

Date FileStat::DateModified() const;

Date FileStat::DateAccessed() const;

Beschreibung

Mit diesen Methoden kann erfragt werden, wann der korrespondierende DirEntry angelegt (DateCreated()) oder geändert (DateModified()) bzw. wann auf ihn zuletzt zugegriffen wurde (DateAccessed()).

Rückgabewert

Date	Eine Instanz der Klasse Date, welche das erfragte Datum enthält.

Ausnahmen

Unter MS-DOS und OS/2 FAT geben DateCreated() und DateAccessed() immer dasselbe Datum zurück wie DateModified(), da dort nur dieses Datum mitgeführt wird. Auf dem Macintosh entspricht der Rückgabewert von DateAccessed() immer dem von DateModified().

Beispiel

...

FileStat aStat( DirEntry( "c:\\temp\\temp.doc" ) );

cout << "Angelegt am " << aStat.DateCreated() << endl;

cout << "Geändert am " << aStat.DateModified() << endl;

cout << "Gelesen am  " << aStat.DateAccessed() << endl;

...

_______________


FileStat::TimeCreated()
FileStat::TimeModified()
FileStat::TimeAccessed()

Date FileStat::TimeCreated() const;

Date FileStat::TimeModified() const;

Date FileStat::TimeAccessed() const;

Beschreibung

Mit diesen Methoden kann erfragt werden, wann der korrespondierende DirEntry angelegt (TimeCreated()) oder geändert (TimeModified()) bzw. wann auf ihn zuletzt zugegriffen wurde (TimeAccessed()).

Rückgabewert

Time	Eine Instanz der Klasse Time, welche die erfragte Zeit enthält.

Ausnahmen

Unter MS-DOS und OS/2 geben TimeCreated() und TimeAccessed() immer dasselbe Datum zurück wie TimeModified(), da dort nur diese Zeit mitgeführt wird.

Auf dem Macintosh entspricht der Rückgabewert von TimeAccessed() immer dem von TimeModified().

Beispiel

...

FileStat aStat( DirEntry( "c:\\temp\\temp.doc" ) );

cout << "Angelegt um " << aStat.TimeCreated() << endl;

cout << "Geändert um " << aStat.TimeModified() << endl;

cout << "Gelesen um  " << aStat.TimeAccessed() << endl;

...

_______________


Filestat::IsYounger()

String FileStat::GetCreator() const;

Beschreibung

Di

Rückgabewert

BOOL	Der Creator des DirEntries als String.

_______________


FixedBitmap

class FixedBitmap : public Control

{

protected:

virtual void	Paint( const Rectangle& );

virtual void	Resize();

public:

FixedBitmap( Window* pParent, WinBits nWinStyle=0);

FixedBitmap( Window* pParent, const ResId& rResId);

Bitmap	ChangeBitmap( const Bitmap& rBitmap );

Bitmap	GetBitmap() const;

};

Beschreibung

Mit Instanzen dieser Klasse können statische Bitmaps in Fenstern oder Dialogboxen eingesetzt werden. Mit der Methode ChangeBitmap() wird eine Bitmap in dieses Control gesetzt. Die Bitmap kann innerhalb des Controls nicht nachträglich verändert werden.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

Bitmap, FixedIcon, FixedText

_______________


FixedBitmap::Paint( const Rectangle& )
FixedBitmap::Paint()

virtual void FixedBitmap::Paint( const Rectangle& );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn ein Neuzeichnen des Fensterinhaltes erforderlich wird. Dies kann z.B. dadurch hervorgerufen werden, daß ein zeitweilig durch ein anderes Window verdecktes Fenster wieder sichtbar gemacht wird. Der Handler kann auch von der Applikation durch Aufruf der Methoden Invalidate(), ToTop() usw. angestoßen werden.

Querverweise

MapMode, Window::Invalidate(), Window::InvalidateForeground(), Window::Update()

_______________


FixedBitmap::Resize()

virtual void FixedBitmap::Resize();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn sich die Größe des Fensters verändert hat. Dies kann durch Aktionen des Benutzers geschehen oder durch Aufruf von ChangeSizePixel(), WorkWindow::Minimize(), WorkWindow::Maximize() oder WorkWindow::Restore().

Anmerkungen

Die neue Größe kann über die Methode Window::GetSizePixel() ermittelt werden.

Querverweise

Window::ChangeSizePixel()

_______________


FixedBitmap::FixedBitmap(Window* pParent, WinBits nWinStyle );
FixedBitmap::FixedBitmap()

FixedBitmap::FixedBitmap(Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse FixedBitmap.

Parameter

Window* pParent	Der Parent der FixedBitmap.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_BORDER

Die FixedBitmap hat einen Rahmen.

_______________


FixedBitmap::FixedBitmap( Window* pParent, const ResId& rResId );
FixedBitmap::FixedBitmap()

FixedBitmap::FixedBitmap( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse FixedBitmap.

Parameter

Window* pParent	Der Parent der FixedBitmap.

const ResId& rResId	Die ID der FixedBitmap in der Resource.

Querverweise

Resource

_______________


FixedBitmap::ChangeBitmap( const Bitmap& rBitmap );
FixedBitmap::ChangeBitmap()

Bitmap FixedBitmap::ChangeBitmap( const Bitmap& rBitmap );

Beschreibung

Der Aufruf dieser Methode setzt eine neue Bitmap in das Control. Die alte Bitmap wird als Rückgabewert zurückgeliefert.

Parameter

const Bitmap& rBitmap	Die Bitmap, die gesetzt werden soll.

Rückgabewert

Bitmap	Die alte Bitmap.

_______________


FixedBitmap::GetBitmap()

Bitmap FixedBitmap::GetBitmap() const;

Beschreibung

Der Aufruf dieser Methode liefert die aktuelle Bitmap.

Rückgabewert

Bitmap	Die aktuelle Bitmap.

_______________


FixedIcon

class FixedIcon : public Control

{

protected:

virtual void	Paint( const Rectangle& );

virtual void	Resize();

public:

FixedIcon( Window* pParent, WinBits nWinStyle = 0 );

FixedIcon( Window* pParent, const ResId& rResId );

Icon	ChangeIcon( const Icon& rIcon );

Icon	GetIcon() const;

};

Beschreibung

Mit Instanzen dieser Klasse können statische Icons in Fenstern oder Dialogboxen angezeigt werden. Mit der Methode ChangeIcon() wird ein Icon in dieses Control gesetzt.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

Icon, FixedText

_______________


FixedIcon::Paint( const Rectangle& )
FixedIcon::Paint()

virtual void FixedIcon::Paint( const Rectangle& );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn ein Neuzeichnen des Fensterinhaltes erforderlich wird. Dies kann z.B. dadurch hervorgerufen werden, daß ein zeitweilig durch ein anderes Window verdecktes Fenster wieder sichtbar gemacht wird. Der Handler kann auch von der Applikation durch Aufruf der Methoden Invalidate(), ToTop() usw. angestoßen werden.

Querverweise

MapMode, Window::Invalidate(), Window::InvalidateForeground(), Window::Update()

_______________


FixedIcon::Resize()

virtual void FixedIcon::Resize();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn sich die Größe des Fensters verändert hat. Dies kann durch Aktionen des Benutzers geschehen oder durch Aufruf von ChangeSizePixel(), WorkWindow::Minimize(), WorkWindow::Maximize() oder WorkWindow::Restore().

Anmerkungen

Die neue Größe kann über die Methode Window::GetSizePixel() ermittelt werden.

Querverweise

Window::ChangeSizePixel()

_______________


FixedIcon::FixedIcon( Window* pParent, WinBits nWinStyle = 0 );
FixedIcon::FixedIcon()

FixedIcon::FixedIcon( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse FixedIcon.

Parameter

Window* pParent	Der Parent des FixedIcon.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_BORDER

Das FixedIcon hat einen Rahmen.

_______________


FixedIcon::FixedIcon( Window* pParent, const ResId& rResId )
FixedIcon::FixedIcon()

FixedIcon::FixedIcon( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse FixedIcon.

Parameter

Window* pParent	Der Parent des FixedIcon.

const ResId& rResId	Die ID des FixedIcon in der Resource.

Querverweise

Resource

_______________


FixedIcon::ChangeIcon( const Icon& rIcon )
FixedIcon::ChangeIcon()

Icon FixedIcon::ChangeIcon( const Icon& rIcon );

Beschreibung

Der Aufruf dieser Methode setzt ein neues Icon in das Control. Das alte Icon wird als Rückgabewert zurückgeliefert.

Parameter

const Icon& rIcon	Das Icon, das gesetzt werden soll.

Rückgabewert

Icon	Das alte Icon.

_______________


FixedIcon::GetIcon()

Icon FixedIcon::GetIcon() const;

Beschreibung

Der Aufruf dieser Methode liefert das aktuelle Icon.

Rückgabewert

Icon	Das aktuelle Icon.

_______________


FixedText

class FixedText : public Control

{

public:

FixedText( Window* pParent, WinBits nWinStyle = WB_LEFT );

FixedText( Window* pParent, const ResId& rResId );

~FixedText();

};

Beschreibung

Mit Instanzen dieser Klasse können statische Texte in Fenstern oder Dialogboxen angezeigt werden. Der Text ist nicht editierbar, kann aber jederzeit ausgelesen und geändert werden. Mit der Methode Window::SetText() kann ein- oder mehrzeiliger Text in dieses Control gesetzt werden. Bei mehrzeiligem Text muß der Beginn einer neuen Zeile durch "\n" markiert werden.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

Window, Window::SetText(), FixedIcon, FixedBitmap

_______________


FixedText::FixedText( Window* pParent, WinBits nWinStyle = WB_LEFT )
FixedText::FixedText()

void FixedText::FixedText( Window* pParent, WinBits nWinStyle = WB_LEFT );

Beschreibung

Konstruktor der Klasse FixedText. Wird weder WB_LEFT noch WB_RIGHT oder WB_CENTER angegeben, so wird der Text linksbündig ausgegeben.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	FixedText-Style mit folgenden Stylebits:

WB_BORDER

Der FixedText hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

_______________


FixedText::FixedText( Window* pParent, const ResId& rResId )
FixedText::FixedText()

FixedText::FixedText( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse FixedText.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID des FixedTextes in der Resource.

Querverweise

Resource

_______________


FixedText::~FixedText()

FixedText::~FixedText();

Beschreibung

Destruktor der Klasse FixedText....

_______________


Font

#define FONT_ITALIC         0x01

#define FONT_TRANSPARENT    0x02

#define FONT_SHADOW         0x04

#define FONT_OUTLINE        0x08

#define FONT_FONTCOLOR      0x01

#define FONT_FILLCOLOR      0x02

enum FontFamily	{ FAMILY_DONTKNOW, FAMILY_DECORATIVE, FAMILY_MODERN, FAMILY_ROMAN, FAMILY_SCRIPT, FAMILY_SWISS, FAMILY_SYSTEM };

enum FontPitch	{ PITCH_DONTKNOW, PITCH_FIXED, PITCH_VARIABLE };

enum FontAlign	{ ALIGN_TOP, ALIGN_BASELINE, ALIGN_BOTTOM };

enum FontWeight	{ WEIGHT_DONTKNOW, WEIGHT_LIGHT, WEIGHT_NORMAL, WEIGHT_BOLD };

enum FontUnderline	{ UNDERLINE_NONE, UNDERLINE_SINGLE, UNDERLINE_DOUBLE };

enum FontStrikeout	{ STRIKEOUT_NONE, STRIKEOUT_SINGLE, STRIKEOUT_DOUBLE };

class Font : public Resource

{

public:

Font();

Font( const Font& rFont );

Font( const String& rName, const Size& rSize );

Font( FontFamily eFamily, const Size& rSize );

Font( const ResId& rResId );

~Font();

Color	ChangeColor( const Color& rColor );

Color	GetColor() const;

Color	ChangeFillColor( const Color& rColor );

Color	GetFillColor() const;

FontFamily	ChangeFamily( FontFamily eFamily );

FontFamily	GetFamily() const;

String	ChangeName( const String& rName );

String	GetName() const;

Size	ChangeSize( const Size& rSize );

Size	GetSize() const;

CharSet	ChangeCharSet( CharSet eCharSet );

CharSet	GetCharSet() const;

FontPitch	ChangePitch( FontPitch ePitch );

FontPitch	GetPitch() const;

FontAlign	ChangeAlign( FontAlign eAlign );

FontAlign	GetAlign() const;

short	ChangeLineOrientation( short nLineOrient );

short	GetLineOrientation() const;

short	ChangeCharOrientation( short nCharOrient );

short	GetCharOrientation() const;

FontWeight	ChangeWeight( FontWeight eWeight );

FontWeight	GetWeight() const;

FontUnderline	ChangeUnderline( FontUnderline eUnderline );

FontUnderline	GetUnderline() const;

FontStrikeout	ChangeStrikeout( FontStrikeout eStrikeout );

FontStrikeout	GetStrikeout() const;

BOOL	ChangeItalic( BOOL bItalic );

BOOL	IsItalic() const;

BOOL	ChangeOutline( BOOL bOutline );

BOOL	IsOutline() const;

BOOL	ChangeShadow( BOOL bShadow );

BOOL	IsShadow() const;

BOOL	ChangeTransparent( BOOL bTransparent );

BOOL	IsTransparent() const;

Font&	operator = ( const Font& rFont );

BOOL	operator ==( const Font& rFont ) const;

BOOL	operator !=( const Font& rFont ) const;

};

Beschreibung

Die Klasse Font repräsentiert einen logischen Font. Ein logischer Font wird zur Ausgabe von Texten in einem OutputDevice verwendet.

Die Klasse Font beschreibt lediglich das Aussehen des Fonts. Es gibt keine Garantie dafür, daß auf einem bestimmten OutputDevice der Font gewählt wird, der ihm als logischer Font (Instanz der Klasse Font) angegeben wurde. Um den Font abzufragen, der im OutputDevice verwendet wird, kann die Methode OutputDevice::GetFontMetric() benutzt werden. Um die Fonts abzufragen, die in einem OutputDevice vorhanden sind, können die Methoden OutputDevice::GetDevFont() und OutputDevice::GetDevFontSize() benutzt werden.

Basisklassen

Resource : LinkHdl

Querverweise

Color, Pen, Brush, OutputDevice, FontMetric

_______________


enum FontFamily

enum FontFamily	{ FAMILY_DONTKNOW, FAMILY_DECORATIVE, FAMILY_MODERN, FAMILY_ROMAN, FAMILY_SCRIPT, FAMILY_SWISS, FAMILY_SYSTEM };

Beschreibung

Die Font-Familie gibt grundsätzliche Eigenschaften eines gewünschten Fonts an. Dieser Parameter wird bei der Suche nach ähnlichen Fonts benutzt, falls der gewünschte Font nicht gefunden werden kann.

FAMILY_DONTKNOW	Das Aussehen des alternativen Fonts ist unerheblich bzw. nicht bekannt.

FAMILY_DECORATIVE	Fonts für Schmuckschriften, wie z. B. Old English.

FAMILY_MODERN	Fonts mit festem Zeichenabstand und ohne Serifen (z. B. Courier).

FAMILY_ROMAN	Fonts mit variablem Zeichenabstand, variabler Strichbreite und Serifen (Times Roman oder Palatino).

FAMILY_SCRIPT	Fonts mit Handschrift-Charakter (z. B. Script oder Cursive).

FAMILY_SWISS	Fonts mit variablem Zeichenabstand, fester Strichbreite und ohne Serifen (z.B. Helvetica).

FAMILY_SYSTEM	Fonts, die als Systemfonts verwendet werden (z.B. System und Chicago).

_______________


enum FontPitch

enum FontPitch	{ PITCH_DONTKNOW, PITCH_FIXED, PITCH_VARIABLE };

Beschreibung

Die Werte des enum FontPitch geben den Zeichenabstand bzw. die Zeichenbreite des Fonts an.

PITCH_DONTKNOW	Der Zeichenabstand bzw. die Zeichenbreite des Fonts sind unerheblich bzw. nicht bekannt.

PITCH_FIXED	Der Zeichenabstand bzw. die Zeichenbreite sind fest, d.h. der Abstand zwischen zwei Zeichen bzw. die Zeichenbreite sind immer gleich (Fixed-Font).

PITCH_VARIABLE	Der Zeichenabstand bzw. die Zeichenbreite sind variabel, d.h. der Abstand zwischen zwei Zeichen bzw. die Zeichenbreite hängen von der Breite der einzelnen Zeichen ab (Proportionalfont).

_______________


enum FontAlign

enum FontAlign	{ ALIGN_TOP, ALIGN_BASELINE, ALIGN_BOTTOM };

Beschreibung

Die Werte des enum FontAlign bestimmen den Einfügepunkt der Zeichen bei der Ausgabe auf einem Ouptut-Device.

ALIGN_TOP	Der Einfügepunkt der Zeichen ist die obere linke Ecke der Characterbox.

ALIGN_BASELINE	Der Einfügepunkt der Zeichen ist die linke Seite der Characterbox in der Höhe der Basislinie des Fonts.

ALIGN_BOTTOM	Der Einfügepunkt der Zeichen ist die untere linke Ecke der Characterbox.

_______________


enum FontWeight

enum FontWeight	{ WEIGHT_DONTKNOW, WEIGHT_LIGHT, WEIGHT_NORMAL, WEIGHT_BOLD };

Beschreibung

Die Werte des enum FontWeight geben die Stärke der Zeichen (leicht, normal, fett) an.

WEIGHT_DONTKNOW	Die Strichbreite der Zeichen ist unerheblich.

WEIGHT_LIGHT	Die Zeichen werden mit geringer Strichbreite angezeigt.

WEIGHT_NORMAL	Die Zeichen werden mit normaler Strichbreite angezeigt.

WEIGHT_BOLD	Die Zeichen werden mit großer Strichbreite angezeigt.

_______________


enum FontUnderline

enum FontUnderline	{ UNDERLINE_NONE, UNDERLINE_SINGLE, UNDERLINE_DOUBLE };

Beschreibung

Die Werte des enum FontUnderline geben an, wie der Font unterstrichen werden soll.

UNDERLINE_NONE	Der Font wird nicht unterstrichen.

UNDERLINE_SINGLE	Der Font wird einfach unterstrichen.

UNDERLINE_DOUBLE	Der Font wird doppelt unterstrichen.

_______________


enum FontStrikeout

enum FontStrikeout { STRIKEOUT_NONE, STRIKEOUT_SINGLE, STRIKEOUT_DOUBLE };

Beschreibung

Die Werte des enum FontStrikeout geben an, wie der Font durchgestrichen werden soll.

STRIKEOUT_NONE	Der Font wird nicht durchgestrichen.

STRIKEOUT_SINGLE	Der Font wird einfach durchgestrichen.

STRIKEOUT_DOUBLE	Der Font wird doppelt durchgestrichen.

_______________


Font::Font()

Font::Font();

Beschreibung

Default-Konstruktor für die Klasse Font. Es wird ein Font angelegt, bei dem alle Werte auf DONTKNOW stehen. Die Farben des Fonts sind schwarz auf weiß, und er ist nicht transparent. Der Einfügepunkt des Fonts ist ALIGN_TOP.

_______________


Font::Font( const Font& rFont )
Font::Font()

Font::Font( const Font& rFont );

Beschreibung

Copy-Konstruktor der Klasse Font.

Parameter

const Font& rFont	Referenz auf einen Font.

_______________


Font::Font( const String& rName, const Size& rSize )
Font::Font()

Font::Font( const String& rName, const Size& rSize );

Beschreibung

Konstruktor der Klasse Font. Der Font wird mit den angegebenen Eigenschaften erzeugt. Die Farben des Fonts sind schwarz auf weiß; er ist nicht transparent. Der Einfügepunkt des Fonts ist ALIGN_TOP. Alle anderen Werte stehen auf DONTKNOW.

Parameter

const String& rName	Der Name des Fonts.

const Size& rSize	Die Größe des Fonts in logischen Einheiten. Die Höhe des Fonts wird ohne eingebauten Zeilenabstand (Leading) angegeben. Dadurch ist die Zeichenbox höher als die angegebene Höhe. Die Breite gibt die durchschnittliche Breite des Fonts an und bei Fonts mit festem Zeichenabstand die Breite der Zeichenbox. Wenn als Breite des Fonts 0 angegeben wird, so wird vom System die optimale Breite des ausgewählten physikalischen Fonts verwendet.

_______________


Font::Font( FontFamily eFamily, const Size& rSize )
Font::Font()

Font::Font( FontFamily eFamily, const Size& rSize );

Beschreibung

Konstruktor der Klasse Font. Der Font wird mit den angegebenen Eigenschaften erzeugt. Die Farben des Fonts sind schwarz auf weiß; er ist nicht transparent. Der Einfügepunkt des Fonts ist ALIGN_TOP. Alle anderen Werte stehen auf DONTKNOW.

Parameter

FontFamily eFamily	Die Font-Familie, zu der der Font gehört. Dieser Konstruktor sollte verwendet werden, wenn z. B. für Statuszeilen ein anderer Font als der Systemfont verwendet werden soll.

const Size& rSize	Die Größe des Fonts in logischen Einheiten. Die Höhe des Fonts wird ohne eingebauten Zeilenabstand (Leading) angegeben. Dadurch ist die Zeichenbox höher als die angegebene Höhe. Die Breite gibt die durchschnittliche Breite des Fonts an und bei Fonts mit festem Zeichenabstand die Breite der Zeichenbox. Wenn als Breite des Fonts 0 angegeben wird, so wird vom System die optimale Breite des ausgewählten physikalischen Fonts verwendet.

_______________


Font::Font( const ResId& rResId )
Font::Font()

Font::Font( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Font. Die Methode erzeugt einen Font aus der Resource.

Parameter

const ResId& rResId	Die ID des Fonts in der Resource.

Querverweise

Resource

_______________


Font::~Font()

Font::~Font();

Beschreibung

Destruktor der Klasse Font.

_______________


Font::ChangeColor( const Color& rColor )
Font::ChangeColor()

Color Font::ChangeColor( const Color& rColor );

Beschreibung

Diese Methode ändert die Farbe des Fonts und gibt die alte Farbe zurück.

Parameter

const Color& rColor	Die neue Farbe des Fonts.

Rückgabewert

Color	Die alte Farbe des Fonts.

_______________


Font::GetColor()

Color Font::GetColor() const;

Beschreibung

Diese Methode gibt die Farbe des Fonts zurück.

Rückgabewert

Color	Die Farbe des Fonts.

_______________


Font::ChangeFillColor( const Color& rColor )
Font::ChangeFillColor()

Color Font::ChangeFillColor( const Color& rColor );

Beschreibung

Diese Methode ändert die Füllfarbe des Fonts und gibt die alte Füllfarbe zurück. Die Farbe wird nur verwendet, wenn der Font nicht transparent ist.

Parameter

const Color& rColor	Die neue Füllfarbe des Fonts.

Rückgabewert

Color	Die alte Füllfarbe des Fonts.

Querverweise

Font::ChangeTransparent()

_______________


Font::GetFillColor()

Color Font::GetFillColor() const;

Beschreibung

Diese Methode gibt die Füllfarbe des Fonts zurück.

Rückgabewert

Color	Die Füllfarbe des Fonts.

_______________


Font::ChangeFamily( FontFamily eFamily )
Font::ChangeFamily()

FontFamily Font::ChangeFamily( FontFamily eFamily );

Beschreibung

Diese Methode ändert die Familie des Fonts und gibt die alte Familie zurück.

Parameter

FontFamily eFamily	Die neue Font-Familie.

Rückgabewert

FontFamily	Die alte Font-Familie.

Querverweise

FontFamily

_______________


Font::GetFamily()

FontFamily Font::GetFamily() const;

Beschreibung

Diese Methode gibt die Familie des Fonts zurück.

Rückgabewert

FontFamily	Die Familie des Fonts.

Querverweise

FontFamily

_______________


Font::ChangeName( const String& rName )
Font::ChangeName()

String Font::ChangeName( const String& rName );

Beschreibung

Diese Methode ändert den Namen des Fonts und gibt den alten Namen zurück.

Parameter

const String& rName	Der neue Name des Fonts.

Rückgabewert

String	Der alte Name des Fonts.

_______________


Font::GetName()

String Font::GetName() const;

Beschreibung

Diese Methode gibt den Namen des Fonts zurück.

Rückgabewert

String	Ein String mit dem Namen des Fonts.

Querverweise

String

_______________


Font::ChangeSize( const Size& rSize )
Font::ChangeSize()

Size Font::ChangeSize( const Size& rSize );

Beschreibung

Diese Methode ändert die Größe des Fonts und gibt die alte Größe zurück.

Parameter

const Size& rSize	Die neue Größe des Fonts in logischen Einheiten. Die angegebene Höhe ist die Höhe der Characterbox. Die angegebene Breite ist bei Fonts mit festem Zeichenabstand die Breite der Characterbox und bei Fonts mit variablem Zeichenabstand (PITCH_VARIABLE) die durchschnittliche Breite, entsprechend dem Zeichen "x". Wenn als Breite des Fonts 0 angegeben wird, so wird vom System die optimale Breite des ausgewählten physikalischen Fonts verwendet.

Rückgabewert

Size	Die alte Größe des Fonts in logischen Einheiten.

_______________


Font::GetSize()

Size Font::GetSize() const;

Beschreibung

Diese Methode gibt die Größe des Fonts zurück.

Rückgabewert

Size	Die Größe des Fonts in logischen Einheiten. Die angegebene Höhe ist die Höhe der Characterbox. Die angegebene Breite ist bei Fonts mit festem Zeichenabstand die Breite der Characterbox und bei Fonts mit variablem Zeichenabstand (PITCH_VARIABLE) die durchschnittliche Breite, entsprechend dem Zeichen "x". Wenn als Breite des Fonts 0 angegeben wird, so wird vom System die optimale Breite des ausgewählten physikalischen Fonts verwendet.

_______________


Font::ChangeCharSet( CharSet eCharSet )
Font::ChangeCharSet()

CharSet Font::ChangeCharSet( CharSet eCharSet );

Beschreibung

Diese Methode ändert den Zeichensatz und gibt den alten Zeichensatz zurück.

Parameter

CharSet eCharSet	Der neue Zeichensatz.

Rückgabewert

CharSet	Der alte Zeichensatz.

Querverweise

CharSet

_______________


Font::GetCharSet()

CharSet Font::GetCharSet() const;

Beschreibung

Diese Methode gibt den Zeichensatz des Fonts zurück.

Rückgabewert

CharSet	Der Zeichensatz des Fonts.

Querverweise

CharSet

_______________


Font::ChangePitch( FontPitch ePitch )
Font::ChangePitch()

FontPitch Font::ChangePitch( FontPitch ePitch );

Beschreibung

Diese Methode ändert den Zeichenabstand bzw. die Zeichenbreite des Fonts und gibt den alten Zeichenabstand bzw. die Zeichenbreite zurück.

Parameter

FontPitch ePitch	Der neue Zeichenabstand bzw. die Zeichenbreite des Fonts.

Rückgabewert

FontPitch	Der alte Zeichenabstand bzw. die Zeichenbreite des Fonts.

Querverweise

FontPitch

_______________


Font::GetPitch()

FontPitch Font::GetPitch() const;

Beschreibung

Diese Methode gibt den Zeichenabstand bzw. die Zeichenbreite des Fonts zurück.

Rückgabewert

FontPitch	Der Zeichenabstand bzw. die Zeichenbreite des Fonts.

Querverweise

FontPitch

_______________


Font::ChangeAlign( FontAlign eAlign )
Font::ChangeAlign()

FontAlign Font::ChangeAlign( FontAlign eAlign );

Beschreibung

Diese Methode ändert den Einfügepunkt des Fonts und gibt den alten Einfügepunkt zurück.

Parameter

FontAlign eAlign	Der neue Einfügepunkt des Fonts.

Rückgabewert

FontAlign	Der alte Einfügepunkt des Fonts.

Querverweise

FontAlign

_______________


Font::GetAlign()

FontAlign Font::GetAlign() const;

Beschreibung

Diese Methode gibt den Einfügepunkt des Fonts zurück.

Rückgabewert

FontAlign	Der Einfügepunkt des Fonts.

Querverweise

FontAlign

_______________


Font::ChangeLineOrientation( short nLineOrient )
Font::ChangeLineOrientation()

short Font::ChangeLineOrientation( short nLineOrient );

Beschreibung

Diese Methode ändert die Zeilenorientierung des Fonts.

Parameter

short nLineOrient	Die neue Zeilenorientierung des Fonts; 0 entspricht einer horizontalen Zeile von links nach rechts. Der Wert entspricht 10tel Grad im Gegenuhrzeigersinn. Der gültige Wertebereich ist somit: 0-3600.

Rückgabewert

short	Die alte Zeilenorientierung des Fonts.

_______________


Font::GetLineOrientation()

short Font::GetLineOrientation() const;

Beschreibung

Diese Methode gibt die Zeilenorientierung des Fonts zurück.

Rückgabewert

short	Die Zeilenorientierung des Fonts; 0 entspricht einer horizontalen Zeile von links nach rechts. Der Wert entspricht 10tel Grad im Gegenuhrzeigersinn. Der gültige Wertebereich ist somit: 0-3600.

_______________


Font::ChangeCharOrientation( short nCharOrient )
Font::ChangeCharOrientation()

short Font::ChangeCharOrientation( short nCharOrient );

Beschreibung

Diese Methode ändert die Zeichenorientierung des Fonts.

Parameter

short nCharOrient	Die neue Zeichenorientierung des Fonts; 0 entspricht einer normalen Zeichenausrichtung. Der Wert entspricht 10tel Grad im Gegenuhrzeigersinn. Der gültige Wertebereich ist somit: 0-3600.

Rückgabewert

short	Die alte Zeichenorientierung des Fonts.

_______________


Font::GetCharOrientation()

short Font::GetCharOrientation() const;

Beschreibung

Diese Methode gibt die Zeichenorientierung des Fonts zurück.

Rückgabewert

short	Die Zeichenorientierung des Fonts; 0 entspricht einer normalen Zeichenausrichtung. Der Wert entspricht 10tel Grad im Gegenuhrzeigersinn. Der gültige Wertebereich ist somit: 0-3600.

_______________


Font::ChangeWeight( FontWeight eWeight )
Font::ChangeWeight()

FontWeight Font::ChangeWeight( FontWeight eWeight );

Beschreibung

Diese Methode ändert die Strichstärke des Fonts und gibt die alte Strichstärke zurück.

Parameter

FontWeight eWeight	Die Strichstärke des Fonts.

Rückgabewert

FontWeight	Die alte Strichstärke des Fonts.

Querverweise

FontWeight

_______________


Font::GetWeight()

FontWeight Font::GetWeight() const;

Beschreibung

Diese Methode gibt die Strichstärke des Fonts zurück.

Rückgabewert

FontWeight	Die Strichstärke des Fonts.

Querverweise

FontWeight

_______________


Font::ChangeUnderline( FontUnderline eUnderline )
Font::ChangeUnderline()

FontUnderline Font::ChangeUnderline( FontUnderline eUnderline );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob und wie die Zeichen des Fonts unterstrichen dargestellt werden sollen.

Parameter

FontUnderline eUnderline	Die Art der Unterstreichnung.

Rückgabewert

FontUnderline	Die alte Art der Unterstreichnung.

Querverweise

FontUnderline

_______________


Font::GetUnderline()

FontUnderline Font::GetUnderline() const;

Beschreibung

Diese Methode gibt zurück, ob und wie die Zeichen des Fonts unterstrichen dargestellt werden sollen.

Rückgabewert

FontUnderline	Die Art der Unterstreichnung.

Querverweise

FontUnderline

_______________


Font::ChangeStrikeout( FontStrikeout eStrikeout )
Font::ChangeStrikeout()

FontStrikeout Font::ChangeStrikeout( FontStrikeout eStrikeout );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob und wie die Zeichen des Fonts durchgestrichen dargestellt werden sollen.

Parameter

FontStrikeout eStrikeout	Die Art der Durchstreichnung.

Rückgabewert

FontStrikeout	Die alte Art der Durchstreichnung.

Querverweise

FontStrikeout

_______________


Font::GetStrikeout()

FontStrikeout Font::GetStrikeout() const;

Beschreibung

Diese Methode gibt zurück, ob und wie die Zeichen des Fonts durchgestrichen dargestellt werden sollen.

Rückgabewert

FontStrikeout	Die Art der Durchstreichnung.

Querverweise

FontStrikeout

_______________


Font::ChangeItalic( BOOL bItalic )
Font::ChangeItalic()

BOOL Font::ChangeItalic( BOOL bItalic );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob die Zeichen des Fonts kursiv dargestellt werden sollen.

Parameter

BOOL bItalic	TRUE

Die Zeichen des Fonts sollen kursiv dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht kursiv dargestellt werden.

Rückgabewert

BOOL	TRUE

Die Zeichen sollten vorher kursiv dargestellt werden.

FALSE

Die Zeichen sollten vorher nicht kursiv dargestellt werden.

_______________


Font::IsItalic()

BOOL Font::IsItalic() const;

Beschreibung

Diese Methode gibt zurück, ob die Zeichen des Fonts kursiv dargestellt werden sollen.

Rückgabewert

BOOL	TRUE

Die Zeichen des Fonts sollen kursiv dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht kursiv dargestellt werden.

_______________


Font::ChangeOutline( BOOL bOutline )
Font::ChangeOutline()

BOOL Font::ChangeOutline( BOOL bOutline );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob die Zeichen des Fonts als Umriß dargestellt werden sollen.

Parameter

BOOL bOutline	TRUE

Die Zeichen des Fonts sollen als Umriß dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht als Umriß dargestellt werden.

Rückgabewert

BOOL	TRUE

Die Zeichen sollten vorher als Umriß dargestellt werden.

FALSE

Die Zeichen sollten vorher nicht als Umriß dargestellt werden.

_______________


Font::IsOutline()

BOOL Font::IsOutline() const;

Beschreibung

Diese Methode gibt zurück, ob die Zeichen des Fonts als Umriß dargestellt werden sollen.

Rückgabewert

BOOL	TRUE

Die Zeichen des Fonts sollen als Umriß dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht als Umriß dargestellt werden.

_______________


Font::ChangeShadow( BOOL bShadow )
Font::ChangeShadow()

BOOL Font::ChangeShadow( BOOL bShadow );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob die Zeichen des Fonts mit Schatten dargestellt werden sollen.

Parameter

BOOL bShadow	TRUE

Die Zeichen des Fonts sollen mit Schatten dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht mit Schatten dargestellt werden.

Rückgabewert

BOOL	TRUE

Die Zeichen sollten vorher mit Schatten dargestellt werden.

FALSE

Die Zeichen sollten vorher nicht mit Schatten dargestellt werden.

_______________


Font::IsShadow()

BOOL Font::IsShadow() const;

Beschreibung

Diese Methode gibt zurück, ob die Zeichen des Fonts mit Schatten dargestellt werden sollen.

Rückgabewert

BOOL	TRUE

Die Zeichen des Fonts sollen mit Schatten dargestellt werden.

FALSE

Die Zeichen des Fonts sollen nicht mit Schatten dargestellt werden.

_______________


Font::ChangeTransparent( BOOL bTransparent )
Font::ChangeTransparent()

BOOL Font::ChangeTransparent( BOOL bTransparent );

Beschreibung

Mit Hilfe dieser Methode kann eingestellt werden, ob der Hintergrund mit der Füllfarbe ausgefüllt werden soll.

Parameter

BOOL bTransparent	TRUE

Der Hintergrund wird nicht ausgefüllt.

FALSE

Der Hintergrund wird mit der Füllfarbe ausgefüllt.

Rückgabewert

BOOL	TRUE

Der Hintergrund wurde vorher nicht ausgefüllt.

FALSE

Der Hintergrund wurde vorher mit der Füllfarbe ausgefüllt.

Querverweise

Font::ChangeFillColor()

_______________


Font::IsTransparent()

BOOL Font::IsTransparent() const;

Beschreibung

Diese Methode gibt zurück, ob der Hintergrund mit der Füllfarbe ausgefüllt werden soll.

Rückgabewert

BOOL	TRUE

Der Hintergrund soll nicht ausgefüllt werden.

FALSE

Der Hintergrund soll mit der Füllfarbe gefüllt werden.

_______________


Font::operator =( const Font& rFont )
Font::operator =()

Font& Font::operator =( const Font& rFont );

Beschreibung

Zuweisungsoperator der Klasse Font.

Parameter

const Font& rFont	Referenz auf einen Font.

Rückgabewert

Font&	Referenz auf das Ergebnis der Zuweisung.

_______________


Font::operator ==( const Font& rFont )
Font::operator ==()

BOOL Font::operator ==( const Font& rFont ) const;

Beschreibung

Vergleichsoperator der Klasse Font.

Parameter

const Font& rFont	Referenz auf einen Font.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Fonts sind identisch.

FALSE

Die Eigenschaften der verglichenen Fonts sind unterschiedlich.

_______________


Font::operator !=( const Font& rFont )
Font::operator !=()

BOOL Font::operator !=( const Font& rFont ) const;

Beschreibung

Vergleichsoperator der Klasse Font.

Parameter

const Font& rFont	Referenz auf einen Font.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Fonts sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Fonts sind identisch.

_______________


Fraction

class Fraction

{

public:

Fraction();

Fraction( long nNum, long nDen = 1 );

Fraction( double dVal );

BOOL	IsValid() const;

long	GetNumerator() const;

long	GetDenominator() const;

operator long() const;

operator double() const;

Fraction&	operator +=( const Fraction& rVal );

Fraction&	operator -=( const Fraction& rVal );

Fraction&	operator *=( const Fraction& rVal );

Fraction&	operator /=( const Fraction& rVal );

Fraction&	operator =( const Fraction& rVal );

friend Fraction	operator +( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction	operator -( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction	operator *( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction	operator / ( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator ==( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator !=( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator <( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator >( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator <=( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL	operator >=( const Fraction& rVal1, const Fraction& rVal2 );

};

Beschreibung

Die Klasse Fraction stellt eine Möglichkeit für die Darstellung von echten Brüchen dar. Diese Klasse wurde eingeführt, um die bei der Verwendung von Gleitkomma-Zahlen zwangsläufig auftretenden Rechenungenauigkeiten zu vermeiden. Für die Klasse sind die vier Grundrechenarten, die Zuweisung (auch für long- und double-Werte) sowie Vergleiche definiert.

Jede Rechenoperation mit einem ungültigen Bruch führt zu einem ungültigen Ergebnis. Ungültige Brüche können auftreten, wenn der Wertebereich für den Nenner oder Zähler überschritten wird oder wenn versucht wird, durch den Wert 0 zu dividieren. Ist bei einem Vergleich von zwei Variablen eine ungültig, so wird der Wert FALSE zurückgeliefert.

_______________


Fraction::Fraction()

Fraction::Fraction();

Fraction::Fraction( long nNum, long nDen = 1 );

Fraction::Fraction( double dValue );

Beschreibung

Konstruktoren der Klasse Fraction. Der erste Konstruktor initialisiert den Zähler mit 0 und den Nenner mit 1.

Der zweite Konstruktor initialisiert den Zähler mit nNum und den Nenner mit nDen. Wurde für nDen kein Wert angegeben, so wird als Defaultwert der Wert 1 genommen.

Der dritte Konstruktor wandelt den double-Parameter in einen entsprechenden Bruch um.

Parameter

long nNum, nDen	Zähler und Nenner des Bruches.

double dValue	Der double-Wert, der in eine entsprechende Bruchdarstellung umgewandelt wird.

_______________


Fraction::IsValid()

BOOL Fraction::IsValid() const;

Beschreibung

Die Methode liefert TRUE, wenn der Bruch gültig ist (ungültige Brüche können z.B. durch Division mit 0 entstehen).

Rückgabewert

BOOL	TRUE

Der Bruch ist gültig.

FALSE

Der Bruch ist ungültig.

_______________


Fraction::GetNumerator()

long Fraction::GetNumerator() const;

Beschreibung

Die Methode liefert den Zähler des Bruches zurück.

Rückgabewert

long	Der Zähler des Bruches.

_______________


Fraction::GetDenominator()

long Fraction::GetDenominator() const;

Beschreibung

Die Methode liefert den Nenner des Bruches zurück.

Rückgabewert

long	Der Nenner des Bruches.

_______________


Fraction::operator long()
Fraction::operator double()

Fraction::operator long() const;

Fraction::operator double() const;

Beschreibung

Diese Operatoren wandeln einen Bruch entweder in einen long- oder in einen double-Wert um. Bei der Umwandlung in einen long-Wert bleiben Reste unberücksichtigt.

Rückgabewert

double	Der Wert des Bruches als double-Wert.

long	Der Wert des Bruches als long-Wert.

_______________


Fraction::operator +=( const Fraction& rVal )
Fraction::operator +=()
Fraction::operator -=()
Fraction::operator *=()
Fraction::operator /=()

Fraction& Fraction::operator +=( const Fraction& rVal );

Fraction& Fraction::operator -=( const Fraction& rVal );

Fraction& Fraction::operator *=( const Fraction& rVal );

Fraction& Fraction::operator /=( const Fraction& rVal );

Beschreibung

Die überladenen Operatoren definieren die vier Grundrechenarten für die Klasse Fraction. Diese können sowohl mit einem Fraction-Objekt als auch mit einem double- oder long-Wert parametrisiert werden.

Parameter

const Fraction& rVal	Die Werte von rVal und dem Objekt werden entsprechend der Rechenoperation miteinander verknüpft.

Rückgabewert

Fraction&	Eine Referenz auf das Fraction-Objekt.

Anmerkungen

Ist einer der Operanden ungültig, so ist auch das Ergebnis der Operation ungültig.

_______________


Fraction::operator =( const Fraction& rVal )
Fraction::operator =()
Fraction::operator +()
Fraction::operator -()
Fraction::operator *()
Fraction::operator /()

Fraction& Fraction::operator =( const Fraction& rVal );

friend Fraction operator +( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction operator -( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction operator *( const Fraction& rVal1, const Fraction& rVal2 );

friend Fraction operator /( const Fraction& rVal1, const Fraction& rVal2);

Beschreibung

Die überladenen Operatoren definieren die vier Grundrechenarten sowie den Zuweisungsoperator für die Klasse Fraction. Diese können sowohl mit einem Fraction-Objekt als auch mit einem double- oder long-Wert parametrisiert werden.

Parameter

const Fraction& rVal	Der Wert von rVal wird diesem Objekt zugewiesen.

const Fraction& rVal1,

const Fraction& rVal2	Die Objekte, mit denen die entsprechende Rechenoperation ausgeführt werden soll.

Rückgabewert

Fraction&	Eine Referenz auf das Fraction-Objekt.

Fraction	Das Fraction-Objekt.

Anmerkungen

Ist einer der Operanden ungültig, so ist auch das Ergebnis der Operation ungültig.

_______________


friend BOOL operator ==( const Fraction& rVal1, const Fraction& rVal2 )
Fraction::operator ==()
Fraction::operator !=()
Fraction::operator <()
Fraction::operator >()
Fraction::operator <=()                                   Fraction::operator >=()

friend BOOL operator ==( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL operator !=( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL operator <( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL operator>( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL operator<=( const Fraction& rVal1, const Fraction& rVal2 );

friend BOOL operator>=( const Fraction& rVal1, const Fraction& rVal2 );

Beschreibung

Vergleichsoperatoren der Klasse Fraction. Sie sind für Objekte der gleichen Klasse definiert. Sollen long- oder double-Werte verglichen werden, muß ein temporäres Fraction-Objekt erzeugt werden.

Parameter

const Fraction& rVal1,

const Fraction& rVal2	Die zu vergleichenden Fraction-Objekte.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

Anmerkungen

Ist einer der beiden Operanden eines Vergleiches ungültig, so wird als Ergebnis des Vergleiches der Wert FALSE zurückgegeben. Dies gilt auch für den != Operator.

_______________


FontDialog

class FontDialog : public SystemDialog

{

public:

FontDialog( Window* pParent, WinBits nWinStyle );

FontDialog( Window* pParent, const ResId& rResId );

~FontDialog();

Font	ChangeFont( const Font& rFont );

Font	GetFont() const;

Printer*	ChangePrinter( Printer* pNewPrinter );

Printer*	GetPrinter() const;

BOOL	ChangeFixedFontsOnly( BOOL bFixedOnly = TRUE );

BOOL	GetFixedFontsOnly() const;

short	Execute();

};

Beschreibung

Die Klasse FontDialog ist von SystemDialog abgeleitet und.bietet eine einfache Möglichkeit, dem Anwender eine Fontauswahl anzubieten. Dabei wird auf allen Systemen der Standard-SystemDialog benutzt, wenn einer vorhanden ist. Auf den anderen Systemen wird ein entsprechender Dialog nachgebildet. Da die SystemDialoge benutzt werden, können sich die Möglichkeiten der Fonteinstellungen von System zu System leicht unterscheiden..

Basisklassen

SystemDialog  :  ModalDialog  :  Dialog  :  SystemWindow  :  Window  :  OutputDevice  :  Resource  :  LinkHdl

Querverweise

Font, SystemDialog, ModalDialog, Control

Beispiel

long MyWindow::ChooseFont( Menu* )

{

FontDialog aFontDlg( this, WB_STDMODAL | WB_SVLOOK );

aFontDlg.ChangeFont( aEdit.GetFont() );

if ( aFontDlg.Execute() )

aEdit.ChangeFont( aFontDlg.GetFont() );

return TRUE;

}

_______________


FontDialog::FontDialog( Window* pParent, WinBits nWinStyle )
FontDialog::FontDialog()

FontDialog::FontDialog( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse FontDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_SVLOOK

Die Dialogbox erscheint im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


FontDialog::FontDialog( Window* pParent, const ResId& rResId )
FontDialog::FontDialog()

FontDialog::FontDialog( Window* pParent, const ResId& rResId );

Beschreibung

Konstruktor der Klasse FontDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

const ResId& rResId	Der Resource-Identifier der Dialogbox

_______________


FontDialog::~FontDialog()

virtual FontDialog::~FontDialog();

Beschreibung

Destruktor der Klasse FontDialog.

_______________


FontDialog::ChangeFont( const Font& rFont )
FontDialog::ChangeFont()

Font FontDialog::ChangeFont( const Font& rFont );

Beschreibung

Die Methode setzt den Font, der als Voreinstellung im Dialog angeboten wird.

Parameter

const Font& rFont	Der neue Font. Die Größe des Fonts wird in 10tel Point angegeben.

Rückgabewert

Font	Der bisher eingestellte Font.

Querverweise

Font

_______________


FontDialog::GetFont()

Font FontDialog::GetFont() const;

Beschreibung

Die Methode ermittelt den eingestellten Font.

Rückgabewert

Font	Der eingestellte Font. Die Größe des Fonts ist in 10tel Point angegeben.

Querverweise

Font

_______________


FontDialog::ChangePrinter( Printer* pNewPrinter )
FontDialog::ChangePrinter()

Printer* FontDialog::ChangePrinter( Printer* pNewPrinter );

Beschreibung

Die Methode setzt den Printer, dessen Fonts in der Auswahlliste angeboten werden. Wird kein Printer gesetzt, oder wird NULL übergeben, werden die Bildschirmfonts in der Liste angeboten.

Parameter

Printer* pNewPrinter	Zeiger auf den Printer oder NULL.

Rückgabewert

Printer*	Zeiger auf den bisher gesetzten Printer oder NULL.

Querverweise

Printer

_______________


FontDialog::GetPrinter()

Printer* FontDialog::GetPrinter() const;

Beschreibung

Die Methode gibt den Printer zurück, von dem die Fonts angezeigt werden, oder NULL, wenn die Bildschirmfonts angezeigt werden.

Rückgabewert

Printer*	Zeiger auf den gültigen Printer.

Querverweise

Printer

_______________


FontDialog::ChangeFixedFontsOnly( BOOL bFixedOnly = TRUE )
FontDialog::ChangeFixedFontsOnly()

BOOL FontDialog::ChangeFixedFontsOnly( BOOL bFixedOnly = TRUE );

Beschreibung

Die Methode legt fest, ob nur nichtproportionale Fonts angezeigt werden. Die Defaulteinstellung im Dialog ist, das auch proportionale Fonts angezeigt werden. Wird kein Parameter übergeben, werden nach Aufruf der Methode nur nichtproportionale Fonts angezeigt.

Parameter

BOOL bFixedOnly	TRUE

Es werden nur nichtproportionale Fonts angezeigt.

FALSE

Es werden auch proportionale Fonts angezeigt.

Rückgabewert

BOOL	TRUE

Es wurden bisher nur nichtproportionale Fonts angezeigt.

FALSE

Es wurden bisher auch proportionale Fonts angezeigt.

Querverweise

Font

_______________


FontDialog::GetFixedFontsOnly()

BOOL FontDialog::GetFixedFontsOnly() const;

Beschreibung

Die Methode gibt zurück, ob nur nichtproportionale Fonts angezeigt werden.

Rückgabewert

BOOL	TRUE

Es werden nur nichtproportionale Fonts angezeigt.

FALSE

Es werden auch proportionale Fonts angezeigt.

Querverweise

Font

_______________


FontDialog::Execute()

short FontDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die FontDialogbox.

Rückgabewert

short	TRUE

Der Dialog wurde durch Auswahl des OK-Buttons beendet und mit GetFont() kann der eingestellte Font abgefragt werden.

FALSE

Der Dialog wurde durch Auswahl des Cancel-Buttons beendet.

_______________


GDIMetaFile

class GDIMetaFile : public MetaFile

{

public:

GDIMetaFile();

GDIMetaFile( const GDIMetaFile& rMtf );

virtual	~GDIMetaFile();

void	Record( OutputDevice* pOutDev );

void	Play( OutputDevice* pOutDev, ULONG nPos = METAFILE_END );

void	Play( GDIMetaFile& rMtf, ULONG nPos = METAFILE_END);

void	Play( OutputDevice* pOutDev, const Point& rPos, const Size& rSize, ULONG nPos = METAFILE_END );

Size	ChangePrefSize( const Size& rSize );

Size	GetPrefSize() const;

MapMode	ChangePrefMapMode( const MapMode& eMapMode );

MapMode	GetPrefMapMode() const;

Palette	ChangePrefPalette( const Palette& rPalette );

Palette	GetPrefPalette() const;

BOOL	SaveStatus();

GDIMetaFile&	operator =( const GDIMetaFile& rMtf );

friend istream& operator>>( istream& rIStream, GDIMetaFile& rGDIMetaFile );

friend ostream& operator<<( ostream& rOStream, const GDIMetaFile& rGDIMetaFile );

};

Beschreibung

Das GDIMetaFile ist eine Ablage für eine Sequenz von OutputDevice-Ausgabemethoden. Es stellt selbständig eine Verbindung zu dem OutputDevice her, das bei der Methode Record() übergeben wurde, und protokolliert die GDI-Methoden der Klasse OutputDevice.

Der Zweck des MetaFiles liegt in der Möglichkeit, häufig benötigte Abfolgen von Ausgabeoperationen effizient zu speichern und schnell auf einem Ausgabegerät anzeigen zu können.

Das MetaFile selbst ist kein OutputDevice. Es wird zur Aufnahme und Wiedergabe an ein OutputDevice gekoppelt. Jede Ausgabeoperation innerhalb eines GDIMetaFiles kann über seine Position angesprochen werden, so daß eine bereichsweise Wiedergabe möglich ist. Zusätzlich können über Methoden der Basisklasse MetaFile Labels gesetzt werden, mit deren Hilfe dann eine ebenfalls eine Lokalisierung der einzelnen Aktionen möglich ist.

Folgende Methoden werden vom GDIMetaFile aufgezeichnet:

OutputDevice::DrawPixel()

OutputDevice::DrawPoint()

OutputDevice::DrawLine()

OutputDevice::DrawRect()

OutputDevice::DrawEllipse()

OutputDevice::DrawArc()

OutputDevice::DrawPie()

OutputDevice::DrawPolyLine()

OutputDevice::DrawPolygon()

OutputDevice::DrawPolyPolygon()

OutputDevice::DrawText()

OutputDevice::DrawKernText()

OutputDevice::DrawStretchText()

OutputDevice::DrawBitmap()

OutputDevice::DrawIcon()

OutputDevice::InvertRect()

OutputDevice::HighlightRect()

OutputDevice::ChangePen()

OutputDevice::ChangeFillInBrush()

OutputDevice::ChangeBackgroundBrush()

OutputDevice::ChangeFont()

OutputDevice::ChangeMapMode()

OutputDevice::ChangeRasterOp()

OutputDevice::ChangeClipRegion()

OutputDevice::Push()

OutputDevice::Pop()

Basisklassen

MetaFile

Querverweise

OutputDevice

_______________


GDIMetaFile::GDIMetaFile()

GDIMetaFile::GDIMetaFile();

Beschreibung

Konstruktor der Klasse GDIMetaFile.

_______________


GDIMetaFile::GDIMetaFile( const GDIMetaFile& rMtf )
GDIMetaFile::GDIMetaFile()

GDIMetaFile::GDIMetaFile( const GDIMetaFile& rMtf );

Beschreibung

Copy-Konstruktor der Klasse GDIMetaFile. Dieser Konstruktor kopiert alle gespeicherten Labels und Aktionen sowie die internen Werte des übergebenen GDIMetaFiles.

Parameter

const GDIMetaFile& rMtf	Das GDIMetaFile, von dem die gespeicherten Labels und Aktionen sowie die internen Werte kopiert werden sollen.

_______________


GDIMetaFile::~GDIMetaFile()

GDIMetaFile::~GDIMetaFile();

Beschreibung

Destruktor der Klasse GDIMetaFile.

_______________


GDIMetaFile::Record( OutputDevice* pOutDev );
GDIMetaFile::Record()

void GDIMetaFile::Record( OutputDevice* pOutDev );

Beschreibung

Diese Methode startet die Aufnahme aller Aktionen des OutputDevices pOutDev. Die Ausgaben werden aufgenommen, bis die Methoden MetaFile::Stop() oder MetaFile::Pause() aufgerufen werden.

Diese Methode hängt Aufzeichnungen immer am Ende der bereits gespeicherten Aktionen an. Es ist nicht möglich, innerhalb einer bestehenden Sequenz weitere Aktionen einzufügen.

Falls schon eine Aufnahme gestartet wurde, wird der Aufruf ignoriert.

Parameter

OutputDevice* pOutDev	Der Zeiger auf das OutputDevice, dessen Aktionen aufgenommen werden sollen.

_______________


DIMetaFile::Play( OutputDevice* pOutDev, ULONG nPos = METAFILE_END )
GDIMetaFile::Play()

void GDIMetaFile::Play( OutputDevice* pOutDev, ULONG nPos = METAFILE_END );

Beschreibung

Diese Methode spielt den Inhalt des GDIMetaFiles von der aktuellen bis zur angegebenen Position auf dem OutputDevice pOutDev ab.

Falls eine Aufnahme aktiv ist, wird der Aufruf ignoriert.

Parameter

OutputDevice* pOutDev	Der Zeiger auf das OutputDevice, auf dem die Ausgabe erfolgen soll.

ULONG nPos	Die Position, bis zu der abgespielt werden soll. Falls nichts angegeben wird, wird bis zum Ende des MetaFiles abgespielt.

_______________


GDIMetaFile::Play( GDIMetaFile& rMtf, ULONG nPos = METAFILE_END );
GDIMetaFile::Play()

void GDIMetaFile::Play( GDIMetaFile& rMtf, ULONG nPos = METAFILE_END );

Beschreibung

Diese Methode spielt den Inhalt des GDIMetaFiles von der aktuellen bis zur angegebenen Position auf dem GDIMetaFile rMtf ab. Dazu werden die gespeicherten Aktionen kopiert und an das GDIMetaFile rMtf angehängt. Die Labels werden nicht übertragen.

Falls bei einem der beiden GDIMetaFiles eine Aufnahme aktiv ist, wird der Aufruf ignoriert.

Parameter

GDIMetaFile& rMtf	Referenz auf das GDIMetaFile, auf dem die Ausgabe erfolgen soll.

ULONG nPos	Die Position, bis zu der abgespielt werden soll. Falls nichts angegeben wird, wird bis zum Ende des MetaFiles abgespielt.

_______________


GDIMetaFile::Play();
GDIMetaFile::Play()

void GDIMetafile::Play( OutputDevice* pOutDev, const Point& rPos, const Size& rSize, ULING nPos = METAFILE_END );

Beschreibung

Diese Methode spielt den Inhalt des GDIMetaFiles von der aktuellen bis zur angegebenen Position auf dem OutputDevice pOutDev ab. Die Ausagbe erfolgt in dem mit den Parametern rPos und rSize angegebenen Bereich.

Falls eine Aufnahme aktiv ist, wird der Aufruf ignoriert.

Parameter

OutputDevice* pOutDev	Der Zeiger auf das OutputDevice, auf dem die Ausgabe erfolgen soll.

const Point& rPos	Die Position, an der die Ausgabe erfolgen soll.

const Size& rSize	Die Größe des Bereiches, in dem die Ausgabe ergolgen soll.

ULONG nPos	Die Position, bis zu der abgespielt werden soll. Falls nichts angegeben wird, wird bis zum Ende des MetaFiles abgespielt.

_______________


GDIMetaFile::ChangePrefSize( const Size& rSize )
GDIMetaFile::ChangePrefSize()

Size GDIMetaFile::ChangePrefSize( const Size& rSize );

Beschreibung

Diese Methode setzt eine neue empfohlene Größe für das MetaFile. Wird ein GDIMetaFile aus einem Stream geladen, oder aus dem Clipboard eingefügt, wird die empfohlene Größe von StarView automatisch gesetzt und kann in der Applikation zur maßstabsgerechten Anzeige verwendet werden.

Parameter

const Size& rSize	Die neue empfohlene Größe. Die Einheiten dieser Größe sind in den Einheiten des empfohlenen MapModes angegeben.

Rückgabewert

Size	Die bisher gesetzte Größe in Einheiten des empfohlrenen MapModes.

Querverweise

GDIMetaFile::GetPrefSize(), GDIMetaFile::ChangePrefMapMode()

_______________


GDIMetaFile::GetPrefSize()

Size GDIMetaFile::GetPrefSize() const;

Beschreibung

Diese Methode ermittelt die empfohlene Größe für das MetaFile.

Rückgabewert

Size	Die empfohlene Größe des MetaFiles.  Die Einheiten dieser Größe sind in den Einheiten des empfohlenen MapModes angegeben.

Querverweise

GDIMetaFile::ChangePrefSize(), GDIMetaFile::ChangePrefMapMode(),

_______________


GDIMetaFile::ChangePrefMapMode( const MapMode& eMapMode )
GDIMetaFile::ChangePrefMapMode()

MapMode GDIMetaFile::ChangePrefMapMode( const MapMode& eMapMode );

Beschreibung

Diese Methode setzt einen neuen empfohlenen MapMode für das MetaFile. Wird ein GDIMetaFile aus einem Stream geladen oder aus dem Clipboard eingefügt, wird der empfohlene MapMode von StarView automatisch gesetzt. Wenn dieser MapMode vor der Ausgabe des GDIMetaFiles in das OutputDevice selektiert wird, hat eine anschließende Ausgabe des GDIMetaFiles den Maßstab 1:1.

Parameter

const MapMode& eMapMode	Der neue empfohlene MapMode für das 	GDIMetaFile.

Rückgabewert

MapMode	Der zuvor gesetzte empfohlene MapMode.

Querverweise

MapMode

_______________


GDIMetaFile::GetPrefMapMode()

MapMode GDIMetaFile::GetPrefMapMode() const;

Beschreibung

Diese Methode ermittelt den empfohlenen MapMode für das GDIMetaFile.  Wird ein GDIMetaFile aus einem Stream geladen oder aus dem Clipboard eingefügt, wird der empfohlene MapMode von StarView automatisch gesetzt. Wenn dieser MapMode vor der Ausgabe des GDIMetaFiles in das OutputDevice selektiert wird, hat eine anschließende Ausgabe des GDIMetaFiles den Maßstab 1:1.

Rückgabewert

MapMode	Der empfohlene MapMode für das GDIMetaFile.

Querverweise

MapMode

_______________


GDIMetaFile::ChangePrefPalette()

Palette GDIMetaFile::ChangePrefPalette( const Palette& rPalette);

Beschreibung

Die Methode setzt eine neue empfohlene Palette für die Ausgabe für das GDIMetaFile.  Wird ein GDIMetaFile aus einem Stream geladen oder aus dem Clipboard eingefügt, wird die empfohlene Palette von StarView automatisch gesetzt. Wenn diese Palette vor der Ausgabe des GDIMetaFiles in das OutputDevice selektiert wird, hat eine anschließende Ausgabe die bestmögliche Farbtreue.

Parameter

const Palette& rPalette	Die neue empfohlene Palette für das GDIMetaFile.

Rückgabewert

Palette	Die vorher gesetzte empfohlene Palette.

Querverweise

GDIMetaFile::GetPrefPalette(), OutputDevice::ChangPalette()

_______________


GDIMetaFile::GetPrefPalette()

Palette GDIMetaFile::GetPrefPalette();

Beschreibung

Die Methode ermittelt die empfohlene Palette für die Ausgabe für das GDIMetaFile. Wird ein GDIMetaFile aus einem Stream geladen oder aus dem Clipboard eingefügt, wird die empfohlene Palette von StarView automatisch gesetzt. Wenn diese Palette vor der Ausgabe des GDIMetaFiles in das OutputDevice selektiert wird, hat eine anschließende Ausgabe die bestmögliche Farbtreue.

Rückgabewert

Palette	Die gesetzte empfohlene Palette.

Querverweise

Palette::ChangePrefPalette(), OutputDevice::ChangePalette()

_______________


GDIMetaFile::SaveStatus()

BOOL GDIMetaFile::SaveStatus();

Beschreibung

Diese Methode speichert die aktuell eingestellten Tools; Tools sind der Pen, die FillInBrush, die BackgroundBrush, der Font, der MapMode und die eingestellte Rasteroperation. Damit der Status gesichert werden kann, muß sich das GDIMetaFile im Aufnahme-Modus befinden. Der Status wird auch dann gesichert, wenn die Aufnahme zur Zeit mit MetaFile::Pause() unterbrochen ist.

Rückgabewert

BOOL	TRUE

Der Status konnte erfolgreich gesichert werden.

FALSE

Der Status konnte nicht erfolgreich gesichert werden, weil sich das GDIMetaFile nicht im Aufnahme-Modus befindet.

Querverweise

MetaFile, OutputDevice

_______________


GDIMetaFile::operator =( const GDIMetaFile& rMtf )
GDIMetaFile::operator =()

GDIMetaFile& GDIMetaFile::operator =( const GDIMetaFile& rMtf );

Beschreibung

Zuweisungsoperator der Klasse GDIMetaFile. Diese Methode kopiert alle gespeicherten Labels und Aktionen sowie die internen Werte des übergebenen GDIMetaFiles.

Parameter

const GDIMetaFile& rMtf	Das GDIMetaFile, von dem die gespeicherten Labels und Aktionen sowie die internen Werte kopiert werden sollen.

Rückgabewert

GDIMetaFile&	Referenz auf die eigene Instanz; dadurch sind Mehrfachzuweisungen möglich.

_______________


istream& operator>>( istream& rIStream, GDIMetaFile& rGDIMetaFile )
operator>>()

friend istream& operator>>( istream& rIStream, GDIMetaFile& rGDIMetaFile );

Beschreibung

Eingabeoperator der Klasse GDIMetaFile, um ein StarView-GDIMetaFile aus einem Stream zu lesen. Das GDIMetaFile kann auf jedem System gelesen werden, ist jedoch zu keinem anderen Systemformat kompatibel.

Parameter

istream& rIStream	Der Stream aus dem das GDIMetaFile ge	lesen werden soll.

GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, in das die Daten aus 	dem Stream gelesen werden sollen.

Rückgabewert

istream&	Eine Referenz auf den Stream.

_______________


ostream& operator<<( ostream& rOStream, const GDIMetaFile& rGDIMetaFile )
operator<<()

friend ostream& operator<<( ostream& rOStream, const GDIMetaFile& rGDIMetaFile );

Beschreibung

Ausgabeoperator der Klasse GDIMetaFile, um ein StarView-GDIMetaFile auf einem Stream auszugeben. Das GDIMetaFile kann auf jedem System gelesen werden, ist jedoch zu keinem anderen Systemformat kompatibel.

Parameter

ostream& rOStream	Der Stream, auf den das GDIMEtaFile 	ausgegeben werden soll.

const GDIMetaFile& rGDIMetaFile	Das GDIMetaFile, dessen Daten auf den 	Stream ausgegeben werden sollen.

Rückgabewert

ostream&	Eine Referenz auf den Stream.

_______________


GroupBox

class GroupBox: public Control

{

public:

GroupBox( Window* pParent );

GroupBox( Window* pParent, const ResId& rResId );

~GroupBox();

};

Beschreibung

Die Klasse GroupBox ist von der Klasse Control abgeleitet und dient dazu, Controls in Dialogboxen optisch zu Gruppen zusammenzufassen. Eine GroupBox besteht aus einem gezeichneten Rechteck und einem Text, der im oberen Rand des Rechtecks eingefügt wird.

Anmerkungen

Eine Instanz der Klasse GroupBox hat lediglich eine optische Funktionalität, d.h. weder werden RadioButtons in einer GroupBox automatisch geschaltet noch werden die hiermit umrahmten Controls in einer Gruppe zusammengefaßt. Die GroupBox darf nicht anstelle einer Dialogbox zum Parent der in ihr liegenden Controls werden, um nicht die Steuerungsmechanismen der Dialogbox zu verlieren.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

_______________


GroupBox::GroupBox( Window* pParent )
GroupBox::GroupBox()

GroupBox::GroupBox( Window* pParent );

Beschreibung

Konstruktor der Klasse GroupBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

_______________


GroupBox::GroupBox( Window* pParent, const ResId& rResId )
GroupBox::GroupBox()

GroupBox::GroupBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse GroupBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID der GroupBox.

Querverweise

Resource

_______________


GroupBox::~GroupBox()

GroupBox::~GroupBox();

Beschreibung

Destruktor der Klasse GroupBox.

_______________


Help

#define  HELP_INDEX         ((ULONG)0xFFFFFFFF)

#define  HELP_HELPONHELP    ((ULONG)0xFFFFFFFE)

class Help

{

public:

Help();

BOOL	Start( ULONG nHelpId );

BOOL	Start( const String& rKeyWord );

void	SetHelpFile( const String& rName );

String	GetHelpFile() const;

static BOOL	EnableBalloonMode();

static BOOL	DisableBalloonMode();

static BOOL	IsBalloonModeEnabled();

static BOOL	ShowBalloon( const Point& rScreenPos, const String& rHelpText );

};

Beschreibung

Die Klasse Help bietet ein Interface zur externen Hilfeapplikation. Die externe Hilfeapplikation kann über spezielle Hilfe-IDs oder Schlüsselwörter aktiviert werden. Nach dem Start des Hilfesystems bleibt das durch die externe Hilfeapplikation geöffnete Hilfefenster so lange sichtbar, bis es vom Benutzer geschlossen wird. Dies gilt auch, wenn die Instanz der Klasse Help inzwischen zerstört wurde. Die externe Hilfeapplikation wird, falls sie noch aktiv ist, beim Programmende automatisch geschlossen.

Es kann eine Instanz der Klasse Help in die Applikation selektiert werden. Diese Instanz wird von den Default-Help-Handlern mit der zugeordneten ID gestartet, wenn der Anwender Hilfe anfordert.

Unter Windows, OS/2 und auf dem MAC gibt es noch die Unterstützung einer Balloon-Hilfe, die dazu dient, einen kurzen Hilfetext zu dem Fenster anzuzeigen, über dem sich zur Zeit der Mauszeiger befindet.

Beispiel

// Beispiel für die Hilfesteuerung von StarView

void Application::Main( int, char* [] )

{

...

Help aHelp;

ChangeHelp( &aHelp );

EnableHelp( HELPMODE_ALL );

}

...

// Anzeige des Index der Hilfedatei der Applikation.

Help aHelp;

aHelp.Start( String( "Index" ));

...

Querverweise

Application, Window, Menu

_______________


Help::Help()

Help::Help();

Beschreibung

Konstruktor der Klasse Help. Als Hilfedatei wird eine Datei mit dem Namen der Applikation Extension verwendet.

_______________


Help::Start( ULONG nHelpId )
Help::Start()

BOOL Help::Start( ULONG nHelpId );

Beschreibung

Das Hilfesystem wird gestartet und der Hilfetext zur Hilfe-ID nHelpId angezeigt. Der Methodenaufruf kehrt nach dem Start des Hilfesystems zurück. Das Hilfesystem bleibt jedoch so lange sichtbar, bis der Benutzer dieses beendet. Dies gilt auch, wenn die Instanz der Klasse Help inzwischen zerstört wurde.

Parameter

ULONG nHelpId	Die ID des gewünschten Hilfetextes in der Hilfedatei. Folgende IDs sind vordefiniert und stehen immer zur Verfügung:

HELP_INDEX

Der Index der aktuellen Hilfedatei wird angezeigt.

HELP_HELPONHELP

Die Hilfe zum Hilfesystem wird angezeigt.

Rückgabewert

BOOL	TRUE

Das Hilfesystem wurde erfolgreich gestartet.

FALSE

Das Hilfesystem konnte nicht gestartet werden.

_______________


Help::Start( const String& rKeyWord )
Help::Start()

BOOL Help::Start( const String& rKeyWord );

Beschreibung

Das Hilfesystem wird gestartet und der Hilfetext zum Schlüsselwort rKeyWord angezeigt. Der Methodenaufruf kehrt nach der Anzeige des Hilfesystems zurück. Das Hilfesystem bleibt jedoch so lange sichtbar, bis der Benutzer dieses beendet. Dies gilt auch, wenn die Instanz der Klasse Help inzwischen zerstört wurde.

Parameter

const String& rKeyWord	Das Schlüsselwort, zu dem Hilfe angefordert wird. Beim Schlüsselwort wird zwischen Groß- und Kleinschreibung unterschieden.

Folgende Schlüsselwörter stehen immer zur Verfügung:

"Index"

Der Index der aktuellen Hilfedatei wird angezeigt.

"HelpOnHelp"

Die Hilfe zum Hilfesystem wird angezeigt.

Rückgabewert

BOOL	TRUE

Das Hilfesystem wurde erfolgreich gestartet.

FALSE

Das Hilfesystem konnte nicht gestartet werden.

_______________


Help::SetHelpFile( const String& rName )
Help::SetHelpFile()

String Help::SetHelpFile( const String& rName );

Beschreibung

Diese Methode setzt eine neue Hilfedatei. Alle nachfolgenden Aufrufe der Methoden Help::Start() beziehen sich auf die neue Datei.

Parameter

const String& rName	Der Name der neuen Hilfedatei.

_______________


Help::GetHelpFile()

String Help::GetHelpFile() const;

Beschreibung

Die Methode liefert den Namen der aktuellen Hilfedatei zurück.

Rückgabewert

String	Der Name der aktuellen Hilfedatei.

_______________


Help::EnableBalloonMode();
Help::EnableBalloonMode()

static BOOL Help::EnableBalloonMode();

Beschreibung

Diese Methode schaltet in den Balloon-Modus, so daß zu jedem Fenster der Hilfetext angezeigt wird. Falls zum Zeitpunkt des Aufrufs eine Maustaste gedrückt ist, wird der Modus beim MouseButtonUp wieder ausgeschaltet. So kann zum Beispiel in ToolBoxen (z.B. wenn die rechte Maustaste gedrückt wird) die Balloon-Hilfe angeschaltet werden. Nur wenn die Balloon-Hilfe über Application::EnableHelp() erlaubt wird, kann die Balloon-Hilfe angeschaltet werden.

Rückgabewert

BOOL	TRUE

Balloon-Hilfe-Modus wurde aktiviert.

FALSE

Balloon-Hilfe-Modus wurde nicht aktiviert, da die Balloon-Hilfe nicht über Application::EnableHelp() erlaubt wurde.

Querverweis

Application::EnableHelp(), Window::RequestHelp(), Menu::RequestHelp()

_______________


Help::DisableBalloonMode()

static BOOL Help::DisableBalloonMode();

Beschreibung

Diese Methode schaltet in den Balloon-Modus wieder aus.

Rückgabewert

BOOL	TRUE

Balloon-Hilfe-Modus wurde deaktiviert.

FALSE

Balloon-Hilfe-Modus wurde nicht deaktiviert.

Querverweis

Application::EnableHelp(), Window::RequestHelp(), Menu::RequestHelp()

_______________


Help::IsBalloonModeEnabled()

static BOOL Help::IsBalloonModeEnabled();

Beschreibung:

Diese Methode liefert zurück, ob der Balloon-Hilfe-Modus aktiv ist.

Rückgabewert:

BOOL	TRUE

Balloon-Hilfe-Modus ist aktiv.

FALSE

Balloon-Hilfe-Modus ist nicht aktiv.

_______________


Help::ShowBalloon()

static BOOL Help::ShowBalloon(const Point& rScreenPos, const String& rHelpText);

Beschreibung:

Rückgabewert:

Querverweise:

_______________


HelpButton

class HelpButton : public PushButton

{

protected:

virtual void	Click();

public:

HelpButton( Window* pParent, WinBits nWinStyle = 0);

HelpButton( Window* pParent, const ResId& rResId );

};

Beschreibung

Die Klasse HelpButton wird eingesetzt, wenn über einen PushButton die Hilfe zu einem Fenster ausgelöst werden soll. Der HelpButton erhält als Voreinstellung je nach im System eingestellter Sprache automatisch den richtigen Text. Da im Click-Handler der RequestHelp-Handler gerufen wird, kann durch Einsatz dieses Buttons z.B. in jeder Dialogbox einfach Hilfe angeboten werden.

Basisklassen

PushButton : Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


HelpButton::Click()

virtual void HelpButton::Click();

Beschreibung

Dieser Handler wird in dieser Klasse überladen und ruft zuerst die Methode Button::Click() auf. Danach wird ein HelpEvent erzeugt und der Handler Window::RequestHelp() aufgerufen. Im Handler, der mit Button::ChangeClickHdl() gesetzt wurde, können Sie z.B. die Hilfe-ID vom HelpButton umsetzen. Da der RequestHelp-Handler gerufen wird, wird die Hilfe mit der im HelpButton oder im Parent gesetzten Hilfe-ID gestartet.

Querverweise

Button::Click(), Window::RequestHelp()

_______________


HelpButton::HelpButton( Window* pParent, WinBits nWinStyle = 0 );
HelpButton::HelpButton()

HelpButton::HelpButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse HelpButton.

Parameter

Window* pParent	Der Parent des HelpButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_DEFBUTTON

Bei dem Button handelt es sich um den Default-PushButton, der z.B. durch die Eingabetaste aktiviert wird. Bei PushButtons, die den gleichen Parent besitzen, darf nur bei einem PushButton dieses Stylebit gesetzt werden.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


HelpButton::HelpButton( Window* pParent, const ResId& rResId )
HelpButton::HelpButton()

HelpButton::HelpButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse HelpButton.

Parameter

Window* pParent	Der Parent des HelpButtons.

const ResId& rResId	Die ID des HelpButtons in der Resource.

Querverweise

Resource

_______________


HelpEvent

enum HelpMode	{ HELPMODE_CONTEXT, HELPMODE_EXTENDED, HELPMODE_ALL };

class HelpEvent

{

public:

HelpEvent();

HelpEvent( const Point& rMousePos, HelpMode eMode );

Point	GetMousePosPixel() const;

HelpMode	GetMode() const;

};

Beschreibung

Diese Klasse ermöglicht die Abfrage von Informationen über die Art und Weise, wie der Benutzer Hilfe angefordert hat. Ein Objekt dieser Klasse wird erzeugt, wenn der Benutzer eine Hilfetaste des Systems drückt, und wird beim Aufruf des Help-Handlers der Klassen Window und Menu übergeben.

Querverweise

Window::RequestHelp(), Menu::RequestHelp(), Help, Application

_______________


enum HelpMode

enum HelpMode	{ HELPMODE_CONTEXT, HELPMODE_EXTENDED, HELPMODE_ALL };

Beschreibung

Der Wert des enum HelpMode bestimmt, welche Hilfe angefordert wurde. Über den HelpMode werden auch in der Applikation die Hilfemodi, die von StarView ausgelöst werden dürfen, an- und ausgeschaltet.

HELPMODE_CONTEXT	Gewöhnliche kontextsensitive Hilfe über die Hilfetaste. Bei der kontextsensitiven Hilfe wird die Hilfe zum aktiven Fenster gestartet.

HELPMODE_EXTENDED	Erweiterte Hilfe im Hilfemodus. Die erweiterte Hilfe ist ein Hilfemodus, bei dem die Hilfe zu dem Fenster angezeigt wird, in das der Anwender als nächstes klickt. Die Aktivierung dieses Hilfemodus wird durch einen speziellen Mauszeiger (z.B. mit dem Aussehen eines Fragezeichens) angezeigt.

HELPMODE_ALL	Über diesen Hilfemodus können in der Applikation alle Hilfemodi aktiviert oder deaktiviert werden.

Querverweise

Application::EnableHelp(), Application::DisableHelp(), HelpEvent::GetMode()

_______________


HelpEvent::HelpEvent()

HelpEvent::HelpEvent();

Beschreibung

Default-Konstruktor der Klasse HelpEvent. Die Mausposition wird auf Point( 0, 0 ) und der Hilfemodus auf HELPMODE_CONTEXT initialisiert.

_______________


HelpEvent::HelpEvent(const Point& rMousePos, HelpMode eMode)
HelpEvent::HelpEvent()

HelpEvent::HelpEvent(const Point& rMousePos, HelpMode eMode);

Beschreibung

Konstruktor der Klasse HelpEvent.

Parameter

const Point& rMousePos	Die Position des Mauszeigers zum Zeitpunkt der Hilfeanforderung. Die Position des Mauszeigers wird in Pixeln relativ zur oberen linken Ecke des Bildschirms angegeben.

HelpMode eMode	Der Hilfemodus.

Querverweise

HelpMode, HelpEvent::GetMode(), HelpEvent::GetMousePosPixel()

_______________


HelpEvent::GetMousePosPixel()

Point HelpEvent::GetMousePosPixel() const;

Beschreibung

Diese Methode liefert die Position des Mauszeigers zum Zeitpunkt der Hilfeanforderung zurück.

Rückgabewert

Point	Die Position der Maus in Pixeln relativ zur oberen linken Ecke des Bildschirms.

_______________


HelpEvent::GetMode()

HelpMode HelpEvent::GetMode() const;

Beschreibung

Mit Hilfe dieser Methode wird der Hilfemodus erfragt.

Rückgabewert

HelpMode	Der Hilfemodus.

Querverweise

HelpMode

_______________


Icon

enum IconStyle	{ ICON_DEFAULT, ICON_INFO, ICON_WARNING, ICON_ERROR, ICON_QUERY, ICON_NULL };

class Icon : public Resource

{

public:

Icon( IconStyle eStyle = ICON_DEFAULT );

Icon( const Icon& rIcon );

Icon( const ResId& rResId );

~Icon();

Size	GetSizePixel() const;

Icon&	operator =( const Icon& rIcon );

BOOL	operator ==( const Icon& rIcon ) const;

BOOL	operator !=( const Icon& rIcon ) const;

};

Beschreibung

Icons werden in der Windows-Welt verwendet, um ein minimiertes Applikationsfenster darzustellen und haben eine feste Größe. Sie verfügen über das System-Menu des Fensters, das der Benutzer durch Klicken mit der Maus auf diesem Icon aktivieren kann. Analog wird unter Motif auch ein Icon als Sinnbild für die Anzeige einer minimierten Applikation verwendet. Auf Apple Macintosh existiert im Unterschied dazu keine Möglichkeit, eine Applikation zu minimieren.

Icons können einem WorkWindow zugeordnet oder in einem OutputDevice ausgegeben werden.

Instanzen der Klasse Icon können problemlos einander zugewiesen oder als Parameter an Methoden übergeben werden. Es stehen ein Copy-Konstruktor und ein Zuweisungsoperator zur Verfügung. Das Kopieren von Instanzen der Klasse Icon bedeutet keinen zusätzlichen Speicherplatz für die Daten des Icons. Bei mehreren Instanzen desselben Icons beziehen sich alle Instanzen intern auf denselben Datenbereich.

Basisklassen

Resource : LinkHdl

Querverweise

OutputDevice::DrawIcon(), WorkWindow::ChangeIcon(), WorkWindow::GetIcon()

_______________


enum IconStyle

enum IconStyle	{ ICON_DEFAULT, ICON_INFO, ICON_WARNING, ICON_ERROR, ICON_QUERY, ICON_NULL };

Beschreibung

Mit Hilfe der Werte des enum IconStyle werden Standard-Icons erzeugt. Das Aussehen dieser Icons entspricht den Standards des zugrundeliegenden Fenstersystems.

ICON_DEFAULT	Ein leeres Rechteck.

ICON_INFO	Ein Icon zur Kennzeichnung von Informationen (meist ein "i" ).

ICON_WARNING	Ein Icon zur Kennzeichnung von Warnungen (meist ein "!" ).

ICON_ERROR	Ein Icon zur Kennzeichnung von Fehlern (meist ein "Stopschild" ).

ICON_QUERY	Ein Icon zur Kennzeichnung von Fragen (meist ein "?" ).

ICON_NULL	Ein nicht sichtbares Icon. Dieses Icon wird in der Klasse WorkWindow verwendet, wenn im minimierten Zustand weiterhin der Paint-Handler des Windows gerufen werden soll.

_______________


Icon::Icon( IconStyle eStyle = ICON_DEFAULT )
Icon::Icon()

Icon::Icon( IconStyle eStyle = ICON_DEFAULT );

Beschreibung

Konstruktor der Klasse Icon. Dieser Konstruktor verwendet die vordefinierten Icons, die StarView zur Verfügung stellt.

Parameter

IconStyle aStyle	Ein Wert des enum IconStyle.

_______________


Icon::Icon( const Icon& rIcon )
Icon::Icon()

Icon::Icon( const Icon& rIcon );

Beschreibung

Copy-Konstruktor der Klasse Icon.

Parameter

const Icon& rIcon	Referenz auf ein Icon.

_______________


Icon::Icon( const ResId& rResId )
Icon::Icon()

Icon::Icon( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Icon.

Parameter

const ResId& rResId	Die ID des Icons in der Resource.

Querverweise

Resource

_______________


Icon::~Icon()

Icon::~Icon();

Beschreibung

Destruktor der Klasse Icon.

_______________


Icon::GetSizePixel()

Size Icon::GetSizePixel();

Beschreibung

Die Größe des Icons in Pixeln wird zurückgeliefert.

Rückgabewer

Size	Die Größe des Icons in Pixeln.

_______________


Icon::operator =( const Icon& rIcon )
Icon::operator =()

Icon& Icon::operator =( const Icon& rIcon );

Beschreibung

Zuweisungsoperator der Klasse Icon.

Parameter

const Icon& rIcon	Referenz auf ein Icon.

Rückgabewert

Icon&	Eine Referenz auf das Ergebnis der Zuweisung.

_______________


Icon::operator ==( const Icon& rIcon ) const
Icon::operator ==()

BOOL Icon::operator ==( const Icon& rIcon ) const;

Beschreibung

Vergleichsoperator der Klasse Icon.

Parameter

const Icon& rIcon	Referenz auf ein Icon.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Icons sind identisch.

FALSE

Die Eigenschaften der verglichenen Icons sind unterschiedlich.

_______________


Icon::operator !=( const Icon& rIcon )
Icon::operator !=()

BOOL Icon::operator !=( const Icon& rIcon ) const;

Beschreibung

Vergleichsoperator der Klasse Icon.

Parameter

const Icon& rIcon	Referenz auf ein Icon.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Icons sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Icons sind identisch.

_______________


InfoBox

class InfoBox : public MessBox

{

public:

InfoBox( Window* pParent, const String& rMessage );

InfoBox( Window* pParent, const ResId& rResId );

}

Beschreibung

Die Klasse InfoBox ist von der Klasse MessBox abgeleitet. Die InfoBox ist eine applikationsmodale Messagebox und enthält je nach Basisfenstersystem ein bestimmtes Icon (z.B. ein "i") sowie einen frei definierbaren Text. Der Titel ist fest vorgegeben und enthält den Namen des Applikationsfensters. Zur Bestätigung der Information enthält eine InfoBox einen OK-Button.

Basisklassen

MessBox : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Icon

_______________


InfoBox::InfoBox( Window* pParent, const String& rMessage )
InfoBox::InfoBox()

InfoBox::InfoBox( Window* pParent, const String& rMessage );

Beschreibung

Konstruktor für eine Instanz der Klasse InfoBox. Als Parameter werden ein Zeiger auf den Parent und der Ausgabetext übergeben. Durch den Konstruktor wird eine InfoBox erzeugt, aber noch nicht angezeigt. Dies geschieht erst durch die Methode MessBox::Execute().

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const String& rMessage	Dieser Text wird in der InfoBox angezeigt.

Querverweise

MessBox, MessBox::Execute()

_______________


InfoBox::InfoBox( Window* pParent, const ResId& rResId )
InfoBox::InfoBox()

InfoBox::InfoBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für eine Instanz der Klasse InfoBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource, MessBox::Execute()

_______________


International

enum LanguageType

{

LANGUAGE_DONTKNOW                   = 0x00FF,

LANGUAGE_SYSTEM                     = 0x0000,

LANGUAGE_ALBANIAN                   = 0x041c,

LANGUAGE_ARABIC                     = 0x0401,

LANGUAGE_BAHASA                     = 0x0421,

LANGUAGE_BULGARIAN                  = 0x0402,

LANGUAGE_CATALAN                    = 0x0403,

LANGUAGE_CHINESE                    = 0x0004,

LANGUAGE_CHINESE_TRADITIONAL        = 0x0404,

LANGUAGE_CHINESE_SIMPLIFIED         = 0x0804,

LANGUAGE_CZECH                      = 0x0405,

LANGUAGE_DANISH                     = 0x0406,

LANGUAGE_DUTCH                      = 0x0413,

LANGUAGE_DUTCH_BELGIAN              = 0x0813,

LANGUAGE_ENGLISH                    = 0x0009,

LANGUAGE_ENGLISH_US                 = 0x0409,

LANGUAGE_ENGLISH_UK                 = 0x0809,

LANGUAGE_ENGLISH_AUS                = 0x0c09,

LANGUAGE_ENGLISH_CAN                = 0x1009,

LANGUAGE_ENGLISH_NZ                 = 0x1409,

LANGUAGE_FINNISH                    = 0x040b,

LANGUAGE_FRENCH                     = 0x040c,

LANGUAGE_FRENCH_BELGIAN             = 0x080c,

LANGUAGE_FRENCH_CANADIAN            = 0x0c0c,

LANGUAGE_FRENCH_SWISS               = 0x100c,

LANGUAGE_GERMAN                     = 0x0407,

LANGUAGE_GERMAN_SWISS               = 0x0807,

LANGUAGE_GERMAN_AUSTRIAN            = 0x1007,

LANGUAGE_GREEK                      = 0x0408,

LANGUAGE_HEBREW                     = 0x040d,

LANGUAGE_HUNGARIAN                  = 0x040e,

LANGUAGE_ICELANDIC                  = 0x040f,

LANGUAGE_ITALIAN                    = 0x0410,

LANGUAGE_ITALIAN_SWISS              = 0x0810,

LANGUAGE_JAPANESE                   = 0x0411,

LANGUAGE_KOREAN                     = 0x0412,

LANGUAGE_NORWEGIAN                  = 0x0014,

LANGUAGE_NORWEGIAN_BOKMAL           = 0x0414,

LANGUAGE_NORWEGIAN_NYNORSK          = 0x0814,

LANGUAGE_POLISH                     = 0x0415,

LANGUAGE_PORTUGUESE                 = 0x0816,

LANGUAGE_PORTUGUESE_BRAZILIAN       = 0x0416,

LANGUAGE_RHAETO_ROMAN               = 0x0417,

LANGUAGE_ROMANIAN                   = 0x0418,

LANGUAGE_RUSSIAN                    = 0x0419,

LANGUAGE_SERBO_CROATIAN             = 0x001a,

LANGUAGE_SERBO_CROATIAN_CYRILLIC    = 0x081a,

LANGUAGE_SERBO_CROATIAN_LATIN       = 0x041a,

LANGUAGE_SLOVAK                     = 0x041b,

LANGUAGE_SPANISH                    = 0x040a,

LANGUAGE_SPANISH_MEXICO             = 0x080a,

LANGUAGE_SPANISH_MODERN             = 0x0c0a,

LANGUAGE_SWEDISH                    = 0x041d,

LANGUAGE_THAI                       = 0x041e,

LANGUAGE_TURKISH                    = 0x041f,

LANGUAGE_URDU                       = 0x0420,

LANGUAGE_USER1                      = 0x00E1,

LANGUAGE_USER2                      = 0x00E2,

LANGUAGE_USER3                      = 0x00E3,

LANGUAGE_USER4                      = 0x00E4,

LANGUAGE_USER5                      = 0x00E5,

LANGUAGE_USER6                      = 0x00E6,

LANGUAGE_USER7                      = 0x00E7,

LANGUAGE_USER8                      = 0x00E8,

LANGUAGE_USER9                      = 0x00E9

};

enum CountryType

{

COUNTRY_DONTKNOW                    = 0x00FF,

COUNTRY_SYSTEM                      = 0x0000,

COUNTRY_AUSTRALIA                   = 0x0401,

COUNTRY_AUSTRIA                     = 0x0402,

COUNTRY_BELGIUM                     = 0x0003,

COUNTRY_BELGIUM_DUTCH               = 0x0403,

COUNTRY_BELGIUM_FRENCH              = 0x0803,

COUNTRY_BRAZIL                      = 0x0404,

COUNTRY_CANADA                      = 0x0005,

COUNTRY_CANADA_ENGLISH              = 0x0405,

COUNTRY_CANADA_FRENCH               = 0x0805,

COUNTRY_DENMARK                     = 0x0406,

COUNTRY_FINLAND                     = 0x0407,

COUNTRY_FRANCE                      = 0x0408,

COUNTRY_GERMANY                     = 0x0409,

COUNTRY_ICELAND                     = 0x040a,

COUNTRY_IRELAND                     = 0x040b,

COUNTRY_ITALY                       = 0x040c,

COUNTRY_JAPAN                       = 0x040d,

COUNTRY_MEXICO                      = 0x040e,

COUNTRY_NETHERLANDS                 = 0x040f,

COUNTRY_NEWZEALAND                  = 0x0410,

COUNTRY_NORWAY                      = 0x0411,

COUNTRY_PORTUGAL                    = 0x0412,

COUNTRY_SOUTHKOREA                  = 0x0413,

COUNTRY_SPAIN                       = 0x0414,

COUNTRY_SWEDEN                      = 0x0415,

COUNTRY_SWITZERLAND                 = 0x0016,

COUNTRY_SWITZERLAND_FRENCH          = 0x0416,

COUNTRY_SWITZERLAND_GERMAN          = 0x0816,

COUNTRY_SWITZERLAND_ITALIAN         = 0x0c16,

COUNTRY_TAIWAN                      = 0x0417,

COUNTRY_UNITEDKINGDOM               = 0x0418,

COUNTRY_UNITEDSTATES                = 0x0419,

COUNTRY_USER1                       = 0x00E1,

COUNTRY_USER2                       = 0x00E2,

COUNTRY_USER3                       = 0x00E3,

COUNTRY_USER4                       = 0x00E4,

COUNTRY_USER5                       = 0x00E5,

COUNTRY_USER6                       = 0x00E6,

COUNTRY_USER7                       = 0x00E7,

COUNTRY_USER8                       = 0x00E8,

COUNTRY_USER9                       = 0x00E9

};

enum DateFormat	{ MDY, DMY, YMD };

enum TimeFormat	{ HOUR_12, HOUR_24 };

enum WeekDayFormat	{ WEEKDAY_NONE, WEEKDAY_SHORT, WEEKDAY_LONG };

enum MonthFormat	{ MONTH_NORMAL, MONTH_ZERO, MONTH_SHORT, MONTH_LONG};

class International

{

public:

International();

International( const ResId & rResId );

International( const International& rIntn );

International( CountryType eCountry, LanguageType eLanguage );

~International();

LanguageType	GetLanguage() const;

CountryType	GetCountry() const;

String	ChangeDayText( DayOfWeek eDay, const String& rStr );

String	GetDayText( DayOfWeek eDay ) const;

String	ChangeAbbrevDayText( DayOfWeek eDay, const String& rStr );

String	GetAbbrevDayText( DayOfWeek eDay ) const;

String	ChangeMonthText( USHORT nMonth, const String& rStr );

String	GetMonthText( USHORT nMonth ) const;

String	ChangeAbbrevMonthText( USHORT nMonth, const String& rStr );

String	GetAbbrevMonthText( USHORT nMonth ) const;

String	ChangeOKButtonText( const String& rStr );

String	GetOKButtonText() const;

String	ChangeCancelButtonText( const String& rStr );

String	GetCancelButtonText() const;

String	ChangeHelpButtonText( const String& rText );

String	GetHelpButtonText() const;

void	ToUpper( String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

void	ToLower( String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

String	Upper( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

String	Lower( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

BOOL	IsUpper( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

BOOL	IsLower( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

BOOL	IsAlpha( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

BOOL	IsNumeric( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

BOOL	IsAlphaNumeric( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

StringCompare	Compare( const String& rStr1, const String& rStr2, CharSet eCharSet = CHARSET_SYSTEM ) const;

DateFormat	ChangeDateFormat( DateFormat eFormat );

DateFormat	GetDateFormat() const;

char	ChangeDateSep( char cSep );

char	GetDateSep() const;

BOOL	ChangeDateDayLeadingZero( BOOL bLeading );

BOOL	IsDateDayLeadingZero() const;

BOOL	ChangeDateMonthLeadingZero( BOOL bLeading );

BOOL	IsDateMonthLeadingZero() const;

BOOL	ChangeDateCentury( BOOL bCentury );

BOOL	IsDateCentury() const;

String	GetDate( const Date& rDate ) const;

DateFormat	ChangeLongDateFormat( DateFormat eFormat );

DateFormat	GetLongDateFormat() const;

WeekDayFormat	ChangeLongDateWeekDayFormat( WeekDayFormat eFormat );

WeekDayFormat	GetLongDateWeekDayFormat() const;

String	ChangeLongDateWeekDaySep( const String& rStr);

String	GetLongDateWeekDaySep() const;

BOOL	ChangeLongDateDayLeadingZero(BOOL bLeading);

BOOL	IsLongDateDayLeadingZero() const;

String	ChangeLongDateDaySep( const String& rStr );

String	GetLongDateDaySep() const;

MonthFormat	ChangeLongDateMonthFormat( MonthFormat eFormat );

MonthFormat	GetLongDateMonthFormat() const;

String	ChangeLongDateMonthSep(const String& rStr);

String	GetLongDateMonthSep() const;

BOO	ChangeLongDateCentury( BOOL bCentury );

BOOL	IsLongDateCentury() const;

String	ChangeLongDateYearSep( const String& rStr );

String	GetLongDateYearSep() const;

String	GetLongDate( const Date& rDate ) const;

TimeFormat	ChangeTimeFormat( TimeFormat eFormat );

TimeFormat	GetTimeFormat() const;

char	ChangeTimeSep( char cSep );

char	GetTimeSep() const;

char	ChangeTime100SecSep( char cSep );

char	GetTime100SecSep() const;

BOOL 	ChangeTimeLeadingZero( BOOL bLeading );

BOOL	IsTimeLeadingZero() const;

String	ChangeTimeAM( const String& rStr );

String	GetTimeAM() const;

String	ChangeTimePM( const String& rStr );

String	GetTimePM() const;

String	GetDuration( const Time& rTime, BOOL bSec = TRUE, BOOL b100Sec = FALSE ) const;

String	GetTime( const Time& rTime, BOOL bSec = TRUE, BOOL b100Sec = FALSE ) const;

char	ChangeNumThousandSep( char cSep, BOOL bSep = TRUE );

char	GetNumThousandSep() const;

void	EnableNumThousandSep( BOOL bSep = TRUE );

BOOL	IsNumThousandSep() const;

char	ChangeNumDecimalSep( char cSep );

char	GetNumDecimalSep() const;

BOOL	ChangeNumLeadingZero( BOOL bLeading );

BOOL	IsNumLeadingZero() const;

USHORT	ChangeNumDigits( USHORT nDigits );

USHORT	GetNumDigits() const;

String	GetNum( long nNumber ) const;

USHORT	ChangeCurrPositiveFormat( USHORT nFormat );

USHORT	GetCurrPositiveFormat() const;

USHORT	ChangeCurrNegativeFormat( USHORT nFormat );

USHORT	GetCurrNegativeFormat() const;

String	ChangeCurrSymbol( const String& rSymbol );

String	GetCurrSymbol() const;

USHORT	ChangeCurrDigits( USHORT nDigits );

USHORT	GetCurrDigits() const;

char	ChangeCurrZeroChar( char cZeroChar );

char	GetCurrZeroChar() const;

String	GetCurr( long nNumber ) const;

char	GetListSep() const;

International&	operator=( const International& rIntn );

BOOL	operator==( const International& rIntn ) const;

BOOL	operator!=( const International& rIntn ) const;

static void	RegisterLanguage( LanguageTable* pTable );

static BOOL	IsLanguageAvailable(LanguageType eLanguage);

static USHORT	GetAvailableLanguagesCount();

static LanguageType	GetAvailableLanguage( USHORT nIndex );

static void	RegisterCountry( CountryTable* pTable );

static BOOL	IsCountryAvailable( CountryType eCountry );

static USHORT	GetAvailableCountriesCount();

static CountryType	GetAvailableCountry( USHORT nIndex );

};

Beschreibung

Die Klasse International bietet Methoden für die Programmierung von internationalen Programmen. Mit dieser Klasse ist es z.B. möglich, landesspezifisch zu formatierende Daten wie Datum oder Zeit in die entsprechende Darstellung des jeweiligen Landes zu bringen. Es werden die Default-Einstellungen des Betriebssystems so weit wie möglich verwendet.

Beispiel

Date aDate( 27, 4, 1992 );

String aStr = International( GERMANY ).GetLongDate( aDate );

_______________

enum LanguageType

enum LanguageType
{
    LANGUAGE_DONTKNOW                   = 0x00FF,
    LANGUAGE_SYSTEM                     = 0x0000,
    LANGUAGE_ALBANIAN                   = 0x041c,
    LANGUAGE_ARABIC                     = 0x0401,
    LANGUAGE_BAHASA                     = 0x0421,
    LANGUAGE_BULGARIAN                  = 0x0402,
    LANGUAGE_CATALAN                    = 0x0403,
    LANGUAGE_CHINESE                    = 0x0004,
    LANGUAGE_CHINESE_TRADITIONAL        = 0x0404,
    LANGUAGE_CHINESE_SIMPLIFIED         = 0x0804,
    LANGUAGE_CZECH                      = 0x0405,
    LANGUAGE_DANISH                     = 0x0406,
    LANGUAGE_DUTCH                      = 0x0413,
    LANGUAGE_DUTCH_BELGIAN              = 0x0813,
    LANGUAGE_ENGLISH                    = 0x0009,
    LANGUAGE_ENGLISH_US                 = 0x0409,
    LANGUAGE_ENGLISH_UK                 = 0x0809,
    LANGUAGE_ENGLISH_AUS                = 0x0c09,
    LANGUAGE_ENGLISH_CAN                = 0x1009,
    LANGUAGE_ENGLISH_NZ                 = 0x1409,
    LANGUAGE_FINNISH                    = 0x040b,
    LANGUAGE_FRENCH                     = 0x040c,
    LANGUAGE_FRENCH_BELGIAN             = 0x080c,
    LANGUAGE_FRENCH_CANADIAN            = 0x0c0c,
    LANGUAGE_FRENCH_SWISS               = 0x100c,
    LANGUAGE_GERMAN                     = 0x0407,
    LANGUAGE_GERMAN_SWISS               = 0x0807,
    LANGUAGE_GERMAN_AUSTRIAN            = 0x1007,
    LANGUAGE_GREEK                      = 0x0408,
    LANGUAGE_HEBREW                     = 0x040d,
    LANGUAGE_HUNGARIAN                  = 0x040e,
    LANGUAGE_ICELANDIC                  = 0x040f,
    LANGUAGE_ITALIAN                    = 0x0410,
    LANGUAGE_ITALIAN_SWISS              = 0x0810,
    LANGUAGE_JAPANESE                   = 0x0411,
    LANGUAGE_KOREAN                     = 0x0412,
    LANGUAGE_NORWEGIAN                  = 0x0014,
    LANGUAGE_NORWEGIAN_BOKMAL           = 0x0414,
    LANGUAGE_NORWEGIAN_NYNORSK          = 0x0814,
    LANGUAGE_POLISH                     = 0x0415,
    LANGUAGE_PORTUGUESE                 = 0x0816,
    LANGUAGE_PORTUGUESE_BRAZILIAN       = 0x0416,
    LANGUAGE_RHAETO_ROMAN               = 0x0417,
    LANGUAGE_ROMANIAN                   = 0x0418,
    LANGUAGE_RUSSIAN                    = 0x0419,
    LANGUAGE_SERBO_CROATIAN             = 0x001a,
    LANGUAGE_SERBO_CROATIAN_CYRILLIC    = 0x081a,
    LANGUAGE_SERBO_CROATIAN_LATIN       = 0x041a,
    LANGUAGE_SLOVAK                     = 0x041b,
    LANGUAGE_SPANISH                    = 0x040a,
    LANGUAGE_SPANISH_MEXICO             = 0x080a,
    LANGUAGE_SPANISH_MODERN             = 0x0c0a,
    LANGUAGE_SWEDISH                    = 0x041d,
    LANGUAGE_THAI                       = 0x041e,
    LANGUAGE_TURKISH                    = 0x041f,
    LANGUAGE_URDU                       = 0x0420,
    LANGUAGE_USER1                      = 0x00E1,
    LANGUAGE_USER2                      = 0x00E2,
    LANGUAGE_USER3                      = 0x00E3,
    LANGUAGE_USER4                      = 0x00E4,
    LANGUAGE_USER5                      = 0x00E5,
    LANGUAGE_USER6                      = 0x00E6,
    LANGUAGE_USER7                      = 0x00E7,
    LANGUAGE_USER8                      = 0x00E8,
    LANGUAGE_USER9                      = 0x00E9
};

Beschreibung

Die Werte des enum LanguageType bestimmen die Landessprache.

LANGUAGE_DONTKNOW

LANGUAGE_SYSTEM	Die Default-Sprache des Systems.

LANGUAGE_ALBANIAN	Albanisch

LANGUAGE_ARABIC	Arabisch

LANGUAGE_BAHASA	Bahasa

LANGUAGE_BULGARIAN	Bulgarisch

LANGUAGE_CATALAN	Katalanisch

LANGUAGE_CZECH	Tschechisch

LANGUAGE_CHINESE	Chinesisch

LANGUAGE_CHINESE_TRADITIONAL	Chinesisch (traditionell)

LANGUAGE_CHINESE_SIMPLIFIED	Chinesisch (vereinfacht)

LANGUAGE_DANISH	Dänisch

LANGUAGE_DUTCH	Holländisch

LANGUAGE_DUTCH_BELGIAN	Holländisch (belgisch)

LANGUAGE_ENGLISH_US	Englisch (amerikanisch)

LANGUAGE_ENGLISH_UK	Englisch (britisch)

LANGUAGE_ENGLISH_CAN	Englisch (kanadisch)

LANGUAGE_ENGLISH_AUS	Englisch (australisch)

LANGUAGE_ENGLISH_NZ	Englisch (neuseeländisch)

LANGUAGE_FINNISH	Finnisch

LANGUAGE_FRENCH	Französisch

LANGUAGE_FRENCH_BELGIAN	Französisch (belgisch)

LANGUAGE_FRENCH_CANADIAN	Französisch (kanadisch)

LANGUAGE_FRENCH_SWISS	Französisch (Schweiz)

LANGUAGE_GERMAN	Deutsch

LANGUAGE_GERMAN_SWISS	Schweizerdeutsch

LANGUAGE_GERMAN_AUSTRIAN	Deutsch (österreichisch)

LANGUAGE_GREEK	Griechisch

LANGUAGE_HEBREW	Hebräisch

LANGUAGE_HUNGARIAN	Ungarisch

LANGUAGE_ICELANDIC	Isländisch

LANGUAGE_ITALIAN	Italienisch

LANGUAGE_ITALIAN_SWISS	Italienisch (Schweiz)

LANGUAGE_JAPANESE	Japanisch

LANGUAGE_KOREAN	Koreanisch

LANGUAGE_NORWEGIAN	Norwegisch

LANGUAGE_NORWEGIAN_BOKMAL	Norwegisch (...)

LANGUAGE_NORWEGIAN_NYNORSK	Neu-Norwegisch

LANGUAGE_POLISH	Polnisch

LANGUAGE_PORTUGUESE	Portugiesisch

LANGUAGE_PORTUGUESE_BRAZIL	Portugiesisch (brasilianisch)

LANGUAGE_RHAETO_ROMANIC	Rätoromanisch

LANGUAGE_ROMANIAN	Rumänisch

LANGUAGE_RUSSIAN	Russisch

LANGUAGE_SERBO_CROATIAN	Serbokroatisch

LANGUAGE_SERBO_CROATIAN_CYRILL	Serbokroatisch (Kyrillisch)

LANGUAGE_SERBO_CROATIAN_LATIN	Serbokroatisch (Lateinisch)

LANGUAGE_SLOVAK	Slowakisch

LANGUAGE_SPANISH	Spanisch

LANGUAGE_SPANISH_MEXICO	Spanisch (mexikanisch)

LANGUAGE_SPANISH_MODERN	Spanisch (modern)

LANGUAGE_SWEDISH	Schwedisch

LANGUAGE_THAI	Thailändisch

LANGUAGE_TURKISH	Türkisch

LANGUAGE_URDU	Urdu

LANGUAGE_USERx	andere Sprachen

_______________

enum CountryType

enum CountryType
{
    COUNTRY_DONTKNOW                    = 0x00FF,
    COUNTRY_SYSTEM                      = 0x0000,
    COUNTRY_AUSTRALIA                   = 0x0401,
    COUNTRY_AUSTRIA                     = 0x0402,
    COUNTRY_BELGIUM                     = 0x0003,
    COUNTRY_BELGIUM_DUTCH               = 0x0403,
    COUNTRY_BELGIUM_FRENCH              = 0x0803,
    COUNTRY_BRAZIL                      = 0x0404,
    COUNTRY_CANADA                      = 0x0005,
    COUNTRY_CANADA_ENGLISH              = 0x0405,
    COUNTRY_CANADA_FRENCH               = 0x0805,
    COUNTRY_DENMARK                     = 0x0406,
    COUNTRY_FINLAND                     = 0x0407,
    COUNTRY_FRANCE                      = 0x0408,
    COUNTRY_GERMANY                     = 0x0409,
    COUNTRY_ICELAND                     = 0x040a,
    COUNTRY_IRELAND                     = 0x040b,
    COUNTRY_ITALY                       = 0x040c,
    COUNTRY_JAPAN                       = 0x040d,
    COUNTRY_MEXICO                      = 0x040e,
    COUNTRY_NETHERLANDS                 = 0x040f,
    COUNTRY_NEWZEALAND                  = 0x0410,
    COUNTRY_NORWAY                      = 0x0411,
    COUNTRY_PORTUGAL                    = 0x0412,
    COUNTRY_SOUTHKOREA                  = 0x0413,
    COUNTRY_SPAIN                       = 0x0414,
    COUNTRY_SWEDEN                      = 0x0415,
    COUNTRY_SWITZERLAND                 = 0x0016,
    COUNTRY_SWITZERLAND_FRENCH          = 0x0416,
    COUNTRY_SWITZERLAND_GERMAN          = 0x0816,
    COUNTRY_SWITZERLAND_ITALIAN         = 0x0c16,
    COUNTRY_TAIWAN                      = 0x0417,
    COUNTRY_UNITEDKINGDOM               = 0x0418,
    COUNTRY_UNITEDSTATES                = 0x0419,
    COUNTRY_USER1                       = 0x00E1,
    COUNTRY_USER2                       = 0x00E2,
    COUNTRY_USER3                       = 0x00E3,
    COUNTRY_USER4                       = 0x00E4,
    COUNTRY_USER5                       = 0x00E5,
    COUNTRY_USER6                       = 0x00E6,
    COUNTRY_USER7                       = 0x00E7,
    COUNTRY_USER8                       = 0x00E8,
    COUNTRY_USER9                       = 0x00E9
};

Beschreibung

Die Werte des enum CountryType bestimmen das Land.

COUNTRY_DONTKNOW	Land ist unbekannt

COUNTRY_SYSTEM	Das Default-Land des Systems.

COUNTRY_AUSTRALIA	Australien

COUNTRY_AUSTRIA	Österreich

COUNTRY_BELGIUM	Belgien

COUNTRY_BELGIUM_DUTCH	Belgien (flämisch)

COUNTRY_BELGIUM_FRENCH	Belgien (wallonisch)

COUNTRY_BRAZIL	Brasilien

COUNTRY_CANADA	Kanada

COUNTRY_CANADA_ENGLISH	Kanada (englisch)

COUNTRY_CANADA_FRENCH	Kanada (französisch)

COUNTRY_DENMARK	Dänemark

COUNTRY_FINLAND	Finnland

COUNTRY_FRANCE	Frankreich

COUNTRY_GERMANY	Deutschland

COUNTRY_ICELAND	Island

COUNTRY_IRELAND	Irland

COUNTRY_ITALY	Italien

COUNTRY_MEXICO	Mexiko

COUNTRY_NETHERLANDS	Niederlande

COUNTRY_NEWZEALAND	Neuseeland

COUNTRY_NORWAY	Norwegen

COUNTRY_PORTUGAL	Portugal

COUNTRY_SOUTHKOREA	Süd-Korea

COUNTRY_SPAIN	Spanien

COUNTRY_SWEDEN	Schweden

COUNTRY_SWITZERLAND	Schweiz

COUNTRY_SWITZERLAND_FRENCH	Schweiz(französisch)

COUNTRY_SWITZERLAND_GERMAN	Schweiz (deutsch)

COUNTRY_SWITZERLAND_ITALIAN	Schweiz (italienisch)

COUNTRY_TAIWAN	Taiwan

COUNTRY_UNITEDKINGDOM	Großbritannien

COUNTRY_UNITEDSTATES	USA

COUNTRY_USERx	andere Länder

_______________

enum DateFormat

enum DateFormat	{ MDY, DMY, YMD };

Beschreibung

Die Werte des enum DateFormat bestimmen die Reihenfolge von Tag, Monat und Jahr für das Format, in dem ein Datum notiert wird.

MDY	Beispiel: 12/31/92

DMY	Beispiel: 31/12/92

YMD	Beispiel: 92/12/31

_______________

enum TimeFormat

enum TimeFormat	{ HOUR_12, HOUR_24 };

Beschreibung

Die Werte des enum TimeFormat bestimmen das Format, in dem eine Uhrzeit notiert wird.

HOUR_12	Die Uhrzeit wird nach dem 12-Stunden-Schema notiert....

HOUR_24	Die Uhrzeit wird nach dem 24-Stunden-Schema notiert....

_______________

enum WeekDayFormat

enum WeekDayFormat	{ WEEKDAY_NONE, WEEKDAY_SHORT, WEEKDAY_LONG };

Beschreibung

Die Werte des enum WeekDayFormat bestimmen, wie der Wochentag im Datum notiert wird.

WEEKDAY_NONE	Der Wochentag wird nicht mit notiert.

WEEKDAY_SHORT	Der Wochentag wird abgekürzt (z.B. Fr für Freitag)

WEEKDAY_LONG	Der Wochentag wird ausgeschrieben.

_______________

enum MonthFormat

enum MonthFormat	{ MONTH_NORMAL, MONTH_ZERO, MONTH_SHORT, MONTH_LONG};

Beschreibung

Die Werte des enum MonthFormat bestimmen, wie der Monat im Datum notiert wird.

MONTH_NORMAL	Der Monat wird normal als Zahl (ein- oder zweistellig, je nach Monat) notiert.

MONTH_ZERO	Der Monat wird grundsätzlich als zweistellige Zahl notiert.

MONTH_SHORT	Der Monat wird als Wort abgekürzt (z.B. Jan für Januar).

MONTH_LONG	Der Monat wird als Wort ausgeschrieben.

_______________

International::International()

International::International();

Beschreibung

Konstruktor der Klasse International. Es werden die aktuellen Länder-Einstellungen des Betriebssystems so weit wie möglich übernommen.

_______________

International::International()

International::International( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse International.

Parameter

const ResId& rResId	Der Resource-Identifier.

_______________

International::International()

International::International( const International& rIntn );

Beschreibung

Copy-Konstruktor der Klasse International.

Parameter

const International& rIntn	Die zu kopierende Instanz der Klasse International.

_______________

International::International()

International::International( CountryType eCountry, LanguageType eLanguage );

Beschreibung

Konstruktor der Klasse International. Es werden die Einstellungen des übergebenen Landes und der übergebenen Landessprache übernommen. Dabei werden die Länder-Einstellungen des Betriebssystems so weit wie möglich übernommen.

Parameter

CountryType eCountry	Das Land, dessen Formate eingestellt werden sollen.

LanguageType eLanguage	Die gültige Landessprache.

_______________

International::~International()

International::~International();

Beschreibung

Destruktor der Klasse International....

_______________

International::GetLanguage()

LanguageType International::GetLanguage() const;

Beschreibung

Die Methode gibt die gültige Landessprache zurück.

Rückgabewert

LanguageType	Die gültige Landessprache.

_______________

International::GetCountry()

CountryType International::GetCountry() const;

Beschreibung

Die Methode gibt das Land, dessen Einstellungen aktuell gesetzt sind, zurück.

Rückgabewert

CountryType	Das Land, dessen Einstellungen gesetzt sind.

_______________

International::ChangeDayText()

String International::ChangeDayText( DayOfWeek eDay, const String& rStr );

Beschreibung

Die Methode ändert den Text des übergebenen Wochentags.

Parameter

DayOfWeek eDay	Der Wochentag, dessen Text geändert werden soll.

const String& rStr	Der neue Text für den Wochentag.

Rückgabewert

String	Der bisherige Text des Wochentags.

_______________

International::GetDayText()

String International::GetDayText( DayOfWeek eDay ) const;

Beschreibung

Die Methode gibt den übergebenen Wochentag in der gültigen Einstellung als TExt zurück.

Parameter

DayOfWeek eDay	Der Wochentag, dessen Text ermittelt werden soll.

Rückgabewert

String	Der Wochentag in der gültigen Einstellung.

_______________

International::ChangeAbbrevDayText()

String International::ChangeAbbrevDayText( DayOfWeek eDay, const String& rStr );

Beschreibung

Die Methode ändert den Abkürzungstext des übergebenen Wochentags.

Parameter

DayOfWeek eDay	Der Wochentag, dessen Text geändert werden soll.

const String& rStr	Der neue Abkürzungstext für den Wochentag.

Rückgabewert

String	Der bisherige Abkürzungstext des Wochentags.

_______________

International::GetAbbrevDayText()

String International::GetAbbrevDayText( DayOfWeek eDay ) const;

Beschreibung

Die Methode gibt den übergebenen Wochentag in der gültigen Einstellung als Abkürzungstext zurück.

Parameter

DayOfWeek eDay	Der Wochentag, dessen Abkürzungstext ermittelt werden soll.

Rückgabewert

String	Der Wochentag in der gültigen Landessprache.

_______________

International::ChangeMonthText()

String International::ChangeDayText( USHORT nMonth, const String& rStr );

Beschreibung

Die Methode ändert den Text des übergebenen Monats.

Parameter

USHORT nMonth	Der Monat, dessen Text geändert werden soll.

const String& rStr	Der neue Text für den Monat.

Rückgabewert

String	Der bisherige Text des Monats.

_______________

International::GetMonthText()

String International::GetMonthText( USHORT nMonth ) const;

Beschreibung

Die Methode gibt den übergebenen Monat in der gültigen Einstellung als Text zurück.

Parameter

USHORT nMonth	Der Monat, der als Text ermittelt werden soll.

Rückgabewert

String	Der Monat in der gültigen Einstellung.

_______________

International::ChangeAbbrevMonthText()

String International::ChangeAbbrevDayText( USHORT nMonth, const String& rStr );

Beschreibung

Die Methode ändert den Abkürzungstext des übergebenen Monats.

Parameter

USHORT nMonth	Der Monat, dessen Abkürzungstext geändert werden soll.

const String& rStr	Der neue Abkürzungstext für den Monat.

Rückgabewert

String	Der bisherige Abkürzungstext des Monats.

_______________

International::GetAbbrevMonthText()

String International::GetAbbrevMonthText( USHORT nMonth ) const;

Beschreibung

Die Methode gibt den übergebenen Monat in der gültigen Einstellung als Abkürzungstext zurück.

Parameter

USHORT nMonth	Der Monat, der als Abkürzungstext ermittelt werden soll.

Rückgabewert

String	Der Abkürzungstext des Monats in der gültigen Einstellung.

_______________

International::ChangeOKButtonText()

String International::ChangeOKButtonText( const String& rText ) const;

Beschreibung

Die Methode ändert den Text für den OK-Button.

Parameter

const String& rText	Der neue Text für den OKButton.

Rückgabewert

String	Der bisherige Text für den OK-Button.

_______________

International::GetOKButtonText()

String International::GetOKButtonText() const;

Beschreibung

Die Methode gibt den Text für den OK-Button in der gültigen Einstellung zurück.

Rückgabewert

String	Der Text für den OK-Button in der gültigen Einstellung.

_______________

International::ChangeCancelButtonText()

String International::ChangeCancelButtonText( const String& rText ) const;

 I

Beschreibung

Die Methode ändert den Text für den CancelButton.

Parameter

const String& rText	Der neue Text für den CancelButton.

Rückgabewert

String	Der bisherige Text für den Cancel-Button.

_______________

International::GetCancelButtonText()

String International::GetCancelButtonText() const;

Beschreibung

Die Methode gibt den Text für den Cancel-Button in der gültigen Einstellung zurück.

Rückgabewert

String	Der Text für den Cancel-Button in der gültigen Einstellung.

_______________

International::ChangeHelpButtonText()

String International::ChangeHelpButtonText( const String& rText ) const;

Beschreibung

Die Methode ändert den Text für den HelpButton.

Parameter

const String& rText	Der neue Text für den HelpButton.

Rückgabewert

String	Der bisherige Text für den HelpButton.

_______________

International::GetHelpButtonText()

String International::GetHelpButtonText() const;

Beschreibung

Die Methode gibt den Text für den HelpButton in der gültigen Einstellung zurück.

Rückgabewert

String	Der Text des Help-Buttons in der gültigen Einstellung.

_______________

International::ToUpper()

void International::ToUpper( String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Mit dieser Methode werden die Zeichen a-z des übergebenen Strings im übergebenen Zeichensatz in Großbuchstaben umgewandelt.

Parameter

const String& rStr	Der String, der umgewandelt werden soll.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, wird der System-Zeichensatz verwendet.

Querverweise

International::ToLower(), International::Upper()

_______________

International::ToLower()

void International::ToLower( String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Mit dieser Methode werden die Zeichen A-Z des übergebenen Strings im übergebenen Zeichensatz in Kleinbuchstaben umgewandelt.

Parameter

const String& rStr	Der String, der umgewandelt werden soll.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, wird der System-Zeichensatz verwendet.

Querverweise

International::ToUpper(), International::Lower()

_______________

International::Upper()

String International::Upper( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode liefert den übergebenen String in Großbuchstaben zurück. Dabei werden nur die Zeichen A-Z im übergebenen Zeichensatz in Großbuchstaben umgewandelt.

Parameter

const String& rStr	Der String, der umgewandelt werden soll.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, wird der System-Zeichensatz verwendet.

Rückgabewert

String	Der umgewandelte String.

Querverweise

International::ToUpper(), International::Lower()

_______________

International::Lower()

String International::Lower( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode liefert den übergebenen String in Kleinbuchstaben zurück. Dabei werden nur die Zeichen A-Z im übergebenen Zeichensatz in Kleinbuchstaben umgewandelt.

Parameter

const String& rStr	Der String, der umgewandelt werden soll.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, wird der System-Zeichensatz verwendet.

Rückgabewert

String	Der umgewandelte String.

Querverweise

International::ToLower(), International::Upper()

_______________

International::IsUpper()

BOOL International::IsUpper( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode prüft, ob der übergebene String keine Kleinbuchstaben (a-z) enthält. Es wird der übergebene Zeichensatz verwendet

Parameter

const String& rStr	Der zu überprüfende String.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, gilt der System-Zeichensatz.

Rückgabewert

BOOL	TRUE

Der String enthält keine Kleinbuchstaben.

FALSE

Der String enthält Kleinbuchstaben.

Querverweise

International::IsAlpha(), International::IsAlphaNumeric(), International::IsNumeric(), International::IsLower()

_______________

International::IsLower()

BOOL International::IsLower( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode prüft, ob der übergebene String keine Großbuchstaben (A-Z) enthält. Es wird der übergebene Zeichensatz verwendet

Parameter

const String& rStr	Der zu überprüfende String.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, gilt der System-Zeichensatz.

Rückgabewert

BOOL	TRUE

Der String enthält keine Großbuchstaben.

FALSE

Der String enthält Großbuchstaben.

Querverweise

International::IsAlpha(), International::IsAlphaNumeric(), International::IsNumeric(), International::IsUpper()

_______________

International::IsAlpha()

BOOL International::IsAlpha( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode prüft, ob der übergebene String nur Buchstaben (A-Z, a-z) enthält. Es wird der übergebene Zeichensatz verwendet

Parameter

const String& rStr	Der zu überprüfende String.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, gilt der System-Zeichensatz.

Rückgabewert

BOOL	TRUE

Der String enthält nur Buchstaben.

FALSE

Der String enthält noch andere Zeichen als Buchstaben.

Querverweise

International::IsLower(), International::IsAlphaNumeric(), International::IsNumeric(), International::IsUpper()

_______________

International::IsNumeric()

BOOL International::IsNumeric( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode prüft, ob der übergebene String nur Ziffern (0-9) enthält. Es wird der übergebene Zeichensatz verwendet

Parameter

const String& rStr	Der zu überprüfende String.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, gilt der System-Zeichensatz.

Rückgabewert

BOOL	TRUE

Der String enthält nur Ziffern.

FALSE

Der String enthält noch andere Zeichen als Ziffern.

Querverweise

International::IsLower(), International::IsAlphaNumeric(), International::IsAlpha(), International::IsUpper()

_______________

International::IsAlphaNumeric()

BOOL International::IsAlphaNumeric( const String& rStr, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Diese Methode prüft, ob der übergebene String nur Buchstaben (A-Z, a-z) und Ziffern (0-9) enthält. Es wird der übergebene Zeichensatz verwendet

Parameter

const String& rStr	Der zu überprüfende String.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, gilt der System-Zeichensatz.

Rückgabewert

BOOL	TRUE

Der String enthält nur Buchstaben und Ziffern.

FALSE

Der String enthält noch andere Zeichen als Buchstaben und Ziffern.

Querverweise

International::IsLower(),  International::IsNumeric(), International::IsUpper()

_______________

International::Compare()

StringCompare International::Compare( const String& rStr1, const String& rStr2, CharSet eCharSet = CHARSET_SYSTEM ) const;

Beschreibung

Die Methode vergleicht die beiden übergebenen Strings und verwendet dabei den übergebenen Zeichensatz.

Parameter

const String& rStr1

const String& rStr2	Die zu vergleichenden Strings.

CharSet eCharSet	Der zu verwendende Zeichensatz. Falls keine Angabe gemacht wird, wird der Zeichensatz des Systems verwendet.

Rückgabewert

StringCompare	Das Ergebnis des Vergleichs (ein Wert aus dem enum StringCompare).

_______________

International::ChangeDateFormat()

DateFormat International::ChangeDateFormat( DateFormat eFormat );

Beschreibung

Die Methode setzt ein neues Datumsformat.

Parameter

DateFormat eFormat	Das neue Datumsformat.

Rückgabewert

DateFormat	Das zuvor gesetzte Datumsformat.

_______________

International::GetDateFormat()

DateFormat International::GetDateFormat() const;

Beschreibung

Die Methode gibt das Datumsformat des eingestellten Landes zurück.

Rückgabewert

DateFormat	Das Datumsformat des Landes.

_______________

International::ChangeDateSep()

char International::ChangeDateSep( char cSep ) const;

Beschreibung

Die Methode setzt ein neues Zeichen, mit dem die Datumsteile getrennt werden.

Parameter

char cSep	Der neue Datumsseparator.

Rückgabewert

char	Der zuvor gesetzte Datumsseparator.

_______________

International::GetDateSep()

char International::GetDateSep() const;

Beschreibung

Die Methode gibt das Zeichen zurück, mit dem die Datumsteile getrennt werden.

Rückgabewert

char	Das Trennzeichen, mit dem die Datumsteile getrennt werden.

_______________

International::ChangeDateDayLeadingZero()

BOOL International::ChangeDateDayLeadingZero( BOOL bLeading );

Beschreibung

Die Methode legt fest, ob der Tag des Datums mit führender 0 formatiert werden soll.

Parameter

BOOL	TRUE

Der Datumstag soll mit führender 0 formatiert werden.

FALSE

Der Datumstag soll ohne führende 0 formatiert werden.

Rückgabewert

BOOL	TRUE

Der Datumstag wurde bisher mit führender 0 formatiert.

FALSE

Der Datumstag wurde bisher ohne führende 0 formatiert.

_______________

International::IsDateDayLeadingZero()

BOOL International::IsDateDayLeadingZero() const;

Beschreibung

Die Methode gibt zurück, ob der Tag des Datums mit führender 0 formatiert wird.

Rückgabewert

BOOL	TRUE

Der Datumstag wird mit führender 0 formatiert.

FALSE

Der Datumstag wird ohne führende 0 formatiert.

_______________

International::ChangeDateMonthLeadingZero()

BOOL International::ChangeDateMonthLeadingZero( BOOL bLeading );

Beschreibung

Die Methode legt fest, ob der Monat des Datums mit führender 0 formatiert werden soll.

Parameter

BOOL	TRUE

Der Datumsmonat soll mit führender 0 formatiert werden.

FALSE

Der Datumsmonat soll ohne führende 0 formatiert werden.

Rückgabewert

BOOL	TRUE

Der Datumsmonat wurde bisher mit führender 0 formatiert.

FALSE

Der Datumsmonat wurde bisher ohne führende 0 formatiert.

_______________

International::IsDateMonthLeadingZero()

BOOL International::IsDateMonthLeadingZero() const;

Beschreibung

Die Methode gibt zurück, ob der Monat des Datums mit führender 0 formatiert wird.

Rückgabewert

BOOL	TRUE

Der Datumsmonat wird mit führender 0 formatiert.

FALSE

Der Datumsmonat wird ohne führende 0 formatiert.

_______________

International::ChangeDateCentury()

BOOL International::ChangeDateCentury( BOOL bCentury ) const;

Beschreibung

Die Methode legt fest, ob das Datum mit Jahrhundert formatiert wird.

Parameter

BOOL	TRUE

Das Datum soll mit Jahrhundert formatiert werden.

FALSE

Das Datum soll ohne Jahrhundert formatiert werden.

Rückgabewert

BOOL	TRUE

Das Datum wurde bisher mit Jahrhundert formatiert.

FALSE

Das Datum wurde bisher ohne Jahrhundert formatiert.

_______________

International::IsDateCentury()

BOOL International::IsDateCentury() const;

Beschreibung

Die Methode gibt zurück, ob das Datum mit Jahrhundert formatiert wird.

Rückgabewert

BOOL	TRUE

Das Datum wird mit Jahrhundert formatiert.

FALSE

Das Datum wird ohne Jahrhundert formatiert.

_______________

International::GetDate()

String International::GetDate( const Date& rDate ) const;

Beschreibung

Die Methode liefert das übergebene Datum als String zurück. Dabei werden die gültigen Einstellungen bezüglich des Landes, der Sprache und des Formats berücksichtigt.

Parameter

const Date& rDate	Das Datum, das als String zurückgeliefert werden soll.

Rückgabewert

String	Das Datum als String.

_______________

International::ChangeLongDateFormat()

DateFormat International::ChangeLongDateFormat(DateFormat eFormat);

Beschreibung

Die Methode setzt ein neues Datumsformat für die lange Darstellung.

Parameter

DateFormat eFormat	Das neue Datumsformat für die lange Darstellung.

Rückgabewert

DateFormat	Das zuvor für die lange Darstellung gültige Datumsformat.

_______________

International::GetLongDateFormat()

DateFormat International::GetLongDateFormat() const;

Beschreibung

Die Methode liefert das für die lange Darstellung gültige Datumsformat zurück.

Rückgabewert

DateFormat	Das für die lange Darstellung gültige Datumsformat.

_______________

International::ChangeLongDateWeekDayFormat()

WeekDayFormat International::ChangeLongDateWeekDayFormat( WeekDayFormat eFormat );

Beschreibung

Die Methode setzt ein neues Format für den Wochentag in der langen Datumsdarstellung.

Parameter

WeekDayFormat eFormat	Das neue Wochentagsformat für die lange Darstellung.

Rückgabewert

WeekDayFormat	Das zuvor für die lange Darstellung gültige Wochentagsformat.

_______________

International::GetLongDateWeekDayFormat()

WeekDayFormat International::GetLongDateWeekDayFormat() const;

Beschreibung

Die Methode liefert das gültige Format für den Wochentag in der langen Datumsdarstellung zurück.

Rückgabewert

WeekDayFormat	Das für die lange Darstellung gültige Wochentagsformat.

_______________

International::ChangeLongDateWeekDaySep()

String International::ChangeLongDateWeekDaySep(const String& rStr);

Beschreibung

Die Methode setzt ein neues Zeichen fest, das in der langen Datumsdarstellung den Wochentag abtrennt.

Parameter

const String& rStr	Der neue Wochentagsseparator für die lange Darstellung.

Rückgabewert

String	Der zuvor für die lange Darstellung gültige Wochentagsseparator.

_______________

International::GetLongDateWeekDaySep()

String International::GetLongDateWeekDaySep() const;

Beschreibung

Die Methode lefert das Zeichen zurück, das in der langen Datumsdarstellung den Wochentag abtrennt.

Rückgabewert

String	Der für die lange Darstellung gültige Wochentagsseparator.

_______________

International::ChangeLongDateDayLeadingZero()

BOOL International::ChangeLongDateDayLeadingZero( BOOL bLeading );

Beschreibung

Die Methode legt fest, ob in der langen Datumsdarstellung der Tag grundsätzlich zweistellig dargestellt werden soll.

Parameter

BOOL bLeading	TRUE

Der Tag soll in der langen Datumsdarstellung grundsätzlich zweistellig dargestellt werden.

FALSE

Der Tag soll in der langen Datumsdarstellung nicht grundsätzlich zweistellig dargestellt werden.

Rückgabewert

BOOL	TRUE

Der Tag wurde bisher in der langen Datumsdarstellung grundsätzlich zweistellig dargestellt.

FALSE

Der Tag wurde bisher in der langen Datumsdarstellung nicht grundsätzlich zweistellig dargestellt.

_______________

International::IsLongDateDayLeadingZero()

BOOL International::IsLongDateDayLeadingZero() const;

Beschreibung

Die Methode liefert zurück, ob in der langen Datumsdarstellung der Tag grundsätzlich zweistellig dargestellt wird.

Rückgabewert

BOOL	TRUE

Der Tag wird in der langen Datumsdarstellung grundsätzlich zweistellig dargestellt.

FALSE

Der Tag wird in der langen Datumsdarstellung nicht grundsätzlich zweistellig dargestellt.

_______________

International::ChangeLongDateDaySep()

String International::ChangeLongDateDaySep( const String& rStr );

Beschreibung

Die Methode setzt ein neues Zeichen fest, das in der langen Datumsdarstellung den Tag abtrennt.

Parameter

const String& rStr	Der neue Tagesseparator für die lange Darstellung.

Rückgabewert

String	Der zuvor für die lange Darstellung gültige Tagesseparator.

_______________

International::GetLongDateDaySep()

String International::GetLongDateDaySep() const;

Beschreibung

Die Methode liefert das Zeichen zurück, das in der langen Datumsdarstellung den Tag abtrennt.

Rückgabewert

String	Der für die lange Darstellung gültige Tagesseparator.

_______________

International::ChangeLongDateMonthFormat()

MonthFormat International::ChangeLongDateMonthFormat( MonthFormat eFormat );

Beschreibung

Die Methode setzt ein neues Format für den Monat in der langen Datumsdarstellung.

Parameter

WeekDayFormat eFormat	Das neue Monatsformat für die lange Darstellung.

Rückgabewert

WeekDayFormat	Das zuvor für die lange Darstellung gültige Monatsformat.

_______________

International::GetLongDateMonthFormat()

MonthFormat International::GetLongDateMonthFormat() const;

Beschreibung

Die Methode liefert das gültige Format für den Monat in der langen Datumsdarstellung zurück.

Rückgabewert

WeekDayFormat	Das für die lange Darstellung gültige Monatsformat.

_______________

International::ChangeLongDateMonthSep()

String International::ChangeLongDateMonthSep( const String& rStr );

Beschreibung

Die Methode setzt ein neues Zeichen fest, das in der langen Datumsdarstellung den Monat abtrennt.

Parameter

const String& rStr	Der neue Monatsseparator für die lange Darstellung.

Rückgabewert

String	Der zuvor für die lange Darstellung gültige Monatsseparator.

_______________

International::GetLongDateMonthSep()

String International::GetLongDateMonthSep() const;

Beschreibung

Die Methode lefert das Zeichen zurück, das in der langen Datumsdarstellung den Monat abtrennt.

Rückgabewert

String	Der für die lange Darstellung gültige Monatsseparator.

_______________

International::ChangeLongDateCentury()

BOOL International::ChangeLongDateCentury( BOOL bCentury );

Beschreibung

Die Methode legt fest, ob das Datum in der langen Darstellung mit Jahrhundert formatiert wird.

Parameter

BOOL	TRUE

Das Datum soll in der langen Darstellung mit Jahrhundert formatiert werden.

FALSE

Das Datum soll in der langen Darstellung ohne Jahrhundert formatiert werden.

Rückgabewert

BOOL	TRUE

Das Datum wurde in der langen Darstellung bisher mit Jahrhundert formatiert.

FALSE

Das Datum wurde in der langen Darstellung bisher ohne Jahrhundert formatiert.

_______________

International::IsLongDateCentury()

BOOL International::IsLongDateCentury() const;

Beschreibung

Die Methode gibt zurück, ob das Datum in der langen Darstellung mit Jahrhundert formatiert wird.

Rückgabewert

BOOL	TRUE

Das Datum wird in der langen Darstellung mit Jahrhundert formatiert.

FALSE

Das Datum wird in der langen Darstellung ohne Jahrhundert formatiert.

_______________

International::ChangeLongDateYearSep()

String International::ChangeLongDateYearSep( const String& rStr );

Beschreibung

Die Methode setzt ein neues Zeichen fest, das in der langen Datumsdarstellung das Jahr abtrennt.

Parameter

const String& rStr	Der neue Jahresseparator für die lange Darstellung.

Rückgabewert

String	Der zuvor für die lange Darstellung gültige Monatsseparator.

_______________

International::GetLongDateYearSep()

String International::GetLongDateYearSep() const;

Beschreibung

Die Methode lefert das Zeichen zurück, das in der langen Datumsdarstellung das Jahr abtrennt.

Rückgabewert

String	Der für die lange Darstellung gültige Jahresseparator.

_______________

International::GetLongDate()

String International::GetLongDate( const Date& rDate ) const;

Beschreibung

Die Methode lefert das übergebend Datum in der langen Darstellung zurück, wobei die gültigen Einstellungen bezüglich des Landes, der Sprache und des Formats berücksichtigt werden.

Parameter

const Date& rDate	Das Datum, das in langer Darstellung als String zurückgeliefert werden soll.

Rückgabewert

String	Das Datum in langer Darstellung als String.

_______________

International::ChangeTimeFomat()

TimeFormat International::ChangeTimeFormat( TimeFormat eFormat );

Beschreibung

Die Methode setzt ein neues Format für die Zeitdarstellung.

Parameter

TimeFormat eFormat	Das neue Zeitformat.

Rückgabewert

TimeFormat	Das zuvor gesetzte Zeitformat.

_______________

International::GetTimeFormat()

TimeFormat International::GetTimeFormat() const;

Beschreibung

Die Methode gibt das gültige Zeitformat zurück.

Rückgabewert

TimeFormat	Das Zeitformat.

_______________

International::ChangeTimeSep()

char International::ChangeTimeSep( char cSep );

Beschreibung

Die Methode setzt ein neues Zeichen fest, das Stunden, Minuten und Sekunden voneinander in der Zeitdarstellung voneinander trennt.

Parameter

char cSep	Der neue Zeitseparator.

Rückgabewert

char	Der zuvor gesetzte Zeitseparator.

_______________

International::GetTimeSep()

char International::GetTimeSep() const;

Beschreibung

Die Methode gibt das Zeichen zurück, mit dem Stunden, Minuten und Sekunden in der Zeitdarstellung voneinander getrennt werden.

Rückgabewert

char	Der gültige Zeitseparator.

_______________

International::ChangeTime100SecSep()

char International::ChangeTime100SecSep( char cSep );

Beschreibung

Die Methode setzt ein neues Zeichen fest, das die Hundertstel-Sekunden abtrennt.

Parameter

char cSep	Das neue Zeichen, das die Hundertstel-Sekunden abtrennt.

Rückgabewert

char	Das zuvor gesetzte Zeichen, das die Hundertstel-Sekunden abtrennte.

_______________

International::GetTime100SecSep()

char International::GetTime100SecSep() const;

Beschreibung

Die Methode liefert das Zeichen zurück, das die Hundertstel-Sekunden abtrennt.

Rückgabewert

char	Das Zeichen, das die Hundertstel-Sekunden abtrennt.

_______________

International::ChangeTimeLeadingZero()

BOOL International::ChangeTimeLeadingZero( BOOL bLeading );

Beschreibung

Die Methode legt fest, ob die Zeiten mit führender 0 formatiert werden sollen.

Parameter

BOOL	TRUE

Die Zeiten sollen mit führender 0 formatiert werden.

FALSE

Die Zeiten sollen ohne führende 0 formatiert werden.

Rückgabewert

BOOL	TRUE

Die Zeiten wurden bisher mit führender 0 formatiert.

FALSE

Die Zeiten wurden bisher ohne führende 0 formatiert.

_______________

International::IsTimeLeadingZero()

BOOL International::IsTimeLeadingZero() const;

Beschreibung

Die Methode ermittelt, ob die Zeiten mit führender 0 formatiert werden.

Rückgabewert

BOOL	TRUE

Die Zeiten werden mit führender 0 formatiert.

FALSE

Die Zeiten werden ohne führende 0 formatiert.

_______________

International::ChangeTimeAM()

String International::ChangeTimeAM( const String& rStr );

Beschreibung

Die Methode setzt einen neuen Kennzeichnungstext für die Uhrzeit von 00.00 - 11.59 Uhr.

Parameter

const String& rStr	Der neue Kennzeichnungstext für die Uhrzeit von 00.00 - 11.59 Uhr.

Rückgabewert

String	Der zuvor gesetzte Kennzeichnungstext für die Uhrzeit von 00.00 - 11.59 Uhr.

_______________

International::GetTimeAM()

String International::GetTimeAM() const;

Beschreibung

Die Methode gibt den Kennzeichnungstext für die Uhrzeit von 00.00 - 11.59 Uhr zurück.

Rückgabewert

String	Der Kennzeichnungstext für die Uhrzeit von 00.00 - 11.59 Uhr.

_______________

International::ChangeTimePM()

String International::ChangeTimePM( const String& rStr );

Beschreibung

Die Methode setzt einen neuen Kennzeichnungstext für die Uhrzeit von 12.00 - 23.59 Uhr.

Parameter

const String& rStr	Der neue Kennzeichnungstext für die Uhrzeit von 12.00 - 23.59 Uhr.

Rückgabewert

String	Der zuvor gesetzte Kennzeichnungstext für die Uhrzeit von 12.00 - 23.59 Uhr.

_______________

International::GetTimePM()

String International::GetTimePM() const;

Beschreibung

Die Methode gibt den Kennzeichnungstext für die Uhrzeit von 12.00 - 23.59 Uhr zurück.

Rückgabewert

String	Der Kennzeichnungstext für die Uhrzeit von 12.00 - 23.59 Uhr.

_______________

International::GetDuration()

String International::GetDuration( const Time& rTime, BOOL bSec = TRUE, BOOL b100Sec = FALSE ) const;

Beschreibung

Die Methode liefert die übergebene Zeitdauer als String zurück. Die optionalen Parameter legen fest, ob die Zeitdauer einschließlich Sekunden und/oder Hundertstel-Sekunden zurückgegeben werden soll.

Parameter

const Time& rTime	Die Zeitdauer, die als String zurückgeliefert werden soll.

BOOL bSec	TRUE

Die Zeitdauer soll einschließlich Sekunden zurückgegeben werden.

FALSE

Die Zeitdauer soll nicht einschließlich Sekunden zurückgegeben werden.

BOOL b100Sec	TRUE

Die Zeitdauer soll einschließlich Hundertstel-Sekunden zurückgegeben werden.

FALSE

Die Zeitdauer soll nicht einschließlich Hundertstel-Sekunden zurückgegeben werden.

Rückgabewert

String	Die Zeitdauer als String.

_______________

International::GetTime()

String International::GetTime( const Time& rTime, BOOL bSec = TRUE, BOOL b100Sec = FALSE ) const;

Beschreibung

Die Methode gibt die übergebene Uhrzeit als String zurück. Die optionalen Parameter legen fest, ob die Uhrzeit einschließlich Sekunden und/oder Hundertstel-Sekunden zurückgegeben werden soll.

Rückgabewert

String	Die übergebene Uhrzeit als String.

_______________

International::ChangeNumThousandSep()

char International::ChangeNumThousandSep( char cSep, BOOL bSep = TRUE );

Beschreibung

Die Methode setzt ein neues Zeichen zur Abtrennung der Tausender.

Parameter

char cSep	Das neue Zeichen,das die Tausender abtrennt.

BOOL bSep	TRUE

Der Tausenderseparator soll angezeigt werden.

FALSE

Der Tausenderseparator soll nicht angezeigt werden.

Rückgabewert

char	Der zuvor gültige Tausenderseparator.

_______________

International::GetNumThousandSep()

char International::GetNumThousandSep() const;

Beschreibung

Die Methode liefert das Zeichen zurück, das die Tausender abtrennt.

Rückgabewert

char	Der gültige Tausenderseparator.

_______________

International::EnableNumThousandSep()

void International::EnableNumThousandSep( BOOL bSep = TRUE );

Beschreibung

Die Methode legt fest, ob der Tausendertrenner angezeigt werden soll.

Parameter

BOOL bSep	TRUE

Der Tausenderseparator soll angezeigt werden.

FALSE

Der Tausenderseparator soll nicht angezeigt werden.

_______________

International::IsNumThousandSep()

BOOL International::IsNumThousandSep() const;

Beschreibung

Die Methode liefert zurück, ob der gültige Tausenderseparator angezeigt wird.

Rückgabewert

BOOL	TRUE

Der gültige Tausenderseparator wird angezeigt.

FALSE

Der gültige Tausenderseparator wird nicht angezeigt.

_______________

International::ChangeNumDecimalSep()

char International::ChangeNumDecimalSep( char cSep );

Beschreibung

Die Methode setzt ein neues Zeichen zur Abtrennung der Dezimalstellen abtrennt.

Parameter

char cSep	Der neue Dezimaltrenner.

Rückgabewert

char	Der zuvor gültige Dezimaltrenner.

_______________

International::GetNumDecimalSep()

char International::GetNumDecimalSep() const;

Beschreibung

Die Methode liefert das Zeichen zurück, das die Dezimalstellen abtrennt.

Rückgabewert

char	Der gültige Dezimaltrenner.

_______________

International::ChangeNumLeadingZero()

BOOL International::ChangeNumLeadingZero( BOOL bLeading );

Beschreibung

Die Methode legt fest, ob Zahlen mit führender 0 dargestellt werden sollen.

Parameter

BOOL bLeading	TRUE

Zahlen sollen mit führender 0 dargestellt werden.

FALSE

Zahlen sollen nicht mit führender 0 dargestellt werden.

Rückgabewert

BOOL	TRUE

Zahlen sollten bisher mit führender 0 dargestellt werden.

FALSE

Zahlen sollten bisher nicht mit führender 0 dargestellt werden.

_______________

International::IsNumLeadingZero()

BOOL International::IsNumLeadingZero() const;

Beschreibung

Die Methode liefert zurück, ob Zahlen mit führender 0 dargestellt werden.

Rückgabewert

BOOL	TRUE

Zahlen werden mit führender 0 dargestellt.

FALSE

Zahlen werden nicht mit führender 0 dargestellt.

_______________

International::ChangeNumDigits()

USHORT International::ChangeNumDigits( USHORT nDigits );

Beschreibung

Die Methode legt fest, mit wieviel Stellen Zahlen dargestellt werden sollen.

Parameter

USHORT nDigits	Die Anzahl der Stellen.

Rückgabewert

USHORT	Die zuvor gesetzte Stellenanzahl.

_______________

International::GetNumDigits()

USHORT International::GetNumDigits() const;

Beschreibung

Die Methode liefert die gültige Stellenanzahl für Zahlen zurück.

Rückgabewert

USHORT	Die gültige Stellenanzahl.

_______________

International::GetNum()

String International::GetNum( long nNumber ) const;

Beschreibung

Die Methode liefert den übergebenen Zahlenwert als String zurück, wobei die gültigen Einstellungen bezüglich Stellenanzahl und Separatoren berücksichtigt werden.

Parameter

long nNumber	Der Zahlenwert, der als String zurückgeliefert werden soll.

Rückgabewert

String	Der Zahlenwert als String.

_______________

International::ChangeCurrPositiveFormat()

USHORT International::ChangeCurrPositiveFormat( USHORT nFormat );

Beschreibung

Die Methode legt das Format zur Darstellung positiver Zahlen fest.

Parameter

USHORT nFormat	Das neue Format für die Darstellung positiver Zahlen.

Rückgabewert

USHORT	Das zuvor gesetzte Format für die Darstellung positiver Zahlen.

_______________

International::GetCurrPositiveFormat()

USHORT International::GetCurrPositiveFormat() const;

Beschreibung

Die Methode liefert das gültige Format zur Darstellung positiver Zahlen zurück.

Rückgabewert

USHORT	Das gültige Format für die Darstellung positiver Zahlen.

_______________

International::ChangeCurrNegativeFormat()

USHORT International::ChangeCurrNegativeFormat( USHORT nFormat );

Beschreibung

Die Methode legt das Format zur Darstellung negativer Zahlen fest.

Parameter

USHORT nFormat	Das neue Format für die Darstellung negativer Zahlen.

Rückgabewert

USHORT	Das zuvor gesetzte Format für die Darstellung negativer Zahlen.

_______________

International::GetCurrNegativeFormat()

USHORT International::GetCurrNegativeFormat() const;

Beschreibung

Die Methode liefert das gültige Format zur Darstellung negativer Zahlen zurück.

Rückgabewert

USHORT	Das gültige Format für die Darstellung negativer Zahlen.

_______________

International::ChangeCurrSymbol()

String International::ChangeCurrSymbol( const String& rSymbol );

Beschreibung

Die Methode setzt ein neues Zeichen als Symbol fest.

Parameter

const String& rSymbol	Das neue Symbolzeichen.

Rückgabewert

USHORT	Das zuvor gesetzte Symbolzeichen.

_______________

International::GetCurrSymbol()

String International::GetCurrSymbol() const;

Beschreibung

Die Methode liefert das gültige Symbolzeichen zurück.

Rückgabewert

USHORT	Das gültige Symbolzeichen.

_______________

International::ChangeCurrDigits()

USHORT International::ChangeCurrDigits( USHORT nDigits );

Beschreibung

Die Methode setzt die Anzahl der Nachkommastellen bei Währungsbeträgen.

Parameter

USHORT nDigits	Anzahl der Nachkommastellen

Rückgabewert

USHORT	Anzahl der alten Nachkommastellen

_______________

International::GetCurrDigits()

USHORT International::GetCurrDigits() const;

Beschreibung

Die Methode liefert die Anzahl der Nachkommastellen eines Währungsbetrages.

Rückgabewert

USHORT	Anzahl der Nachkommastellen

_______________

International::ChangeCurrZeroChar()

char International::ChangeCurrZeroChar( char cZeroChar );

Beschreibung

Die Methode setzt ein neues Zeichen für 0 fest.

Parameter

char cZeroChar	Das neue Zeichen für 0.

Rückgabewert

char	Das zuvor gesetzte Zeichen für 0.

_______________

International::GetCurrZeroChar()

char International::GetCurrZeroChar() const;

Beschreibung

Die Methode liefert das gültige Zeichen für 0 zurück.

Rückgabewert

char	Das gültige Zeichen für 0.

_______________

International::GetCurr()

String International::GetCurr( long nNumber ) const;

Beschreibung

Die Methode liefert die Zahl als formatierte Währung.

Parameter

long nNumber	Zu formattierende Zahl

Rückgabewert

String	Währungsstring

_______________

International::GetListSep()

char International::GetListSep() const;

Beschreibung

Die Methode gibt das Zeichen zurück, mit dem Listen im eingestellten Land getrennt werden.

Rückgabewert

char	Das Trennzeichen für Listen.

_______________

International::operator =()

International& International::operator =(const International& rIntn);

Beschreibung

Zuweisungsoperator der Klasse International.

Parameter

const International& rIntn	Die International-Instanz, deren Eigenschaften übernommen werden sollen.

Rückgabewert

International&	Eine Referenz auf die Instanz der Klasse International. Damit sind Mehrfachzuweisungen möglich.

_______________

International::operator ==()

BOOL International::operator ==(const International& rIntn);

Beschreibung

Vergleichsoperator der Klasse International.

Parameter

const International& rIntn	Die Instanz, mit der verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden International-Instanzen stimmen überein.

FALSE

Die beiden International-Instanzen stimmen nicht überein.

_______________

International::operator !=()

BOOL International::operator !=(const International& rIntn);

Beschreibung

Vergleichsoperator der Klasse International.

Parameter

const International& rIntn	Die Instanz, mit der verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden International-Instanzen stimmen nicht überein.

FALSE

Die beiden International-Instanzen stimmen überein.

_______________

International::RegisterLanguage()

static BOOL International::RegisterLanguage(LanguageTable* pTable);

Beschreibung

Die Methode registriert alle Sprachen, die in der übergebenen Sprachtabelle enthalten sind.

Rückgabewert

BOOL	TRUE

Die Sprachen der übergebenen Sprachentabelle konnten erfolgreich registriert werden.

FALSE

Die Sprachen der übergebenen Sprachentabelle konnten nicht registriert werden.

_______________

International::IsLanguageAvailable()

static BOOL International::IsLanguageAvailable( LanguageType eLanguage );

Beschreibung

Die Methode ermittelt, ob die übergebene Sprache registriert  und damit verfügbar ist.

Parameter

LanguageType eType	Die zu überprüfende Sprache.

Rückgabewert

BOOL	TRUE

Die Sprache ist verfügbar.

FALSE

Die Sprache ist nicht verfügbar.

_______________

International::GetAvailableLanguagesCount()

static USHORT International::GetAvailableLanguagesCount();

Beschreibung

Die Methode ermittelt die Anzahl der registrierten Sprachen.

Rückgabewert

USHORT	Die Anzahl der registrierten Sprachen.

_______________

International::GetAvailableLanguage()

static LanguageType International::GetAvailableLanguage( USHORT nIndex );

Beschreibung

Die Methode liefert die Sprache zurück, die unter dem angegebenen Index registriert ist.

Parameter

USHORT nIndex	Die Sprache mit diesem Index soll zurückgeliefert werden. Der größtmögliche Wert für den Index ist die über GetAvailableLanguagesCount() ermittelte Anzahl der registrierten Sprachen - 1.

Rückgabewert

LanguageType	Die Sprache, die unter dem angegebenen Index registriert ist.

_______________

International::RegisterCountry()

static void International::RegisterCountry( CountryTable* pTable );

Beschreibung

Die Methode registriert alle Länder, die in der übergebenen Ländertabelle enthalten sind.

_______________

International::IsCountryAvailable()

static BOOL International::IsCountryAvailable(CountryType eCountry);

Beschreibung

Die Methode ermittelt, ob das übergebene Land registriert  und damit verfügbar ist.

Parameter

CountryType eCountry	Das zu überprüfende Land.

Rückgabewert

BOOL	TRUE

Das Land ist verfügbar.

FALSE

Das Land ist nicht verfügbar.

_______________

International::GetAvailableCountriesCount()

static USHORT International::GetAvailableCountriesCount();

Beschreibung

Die Methode ermittelt die Anzahl der registrierten Länder.

Rückgabewert

USHORT	Die Anzahl der registrierten Länder.

_______________

International::GetAvailableCountry()

static CountryType International::GetAvailableCountry( USHORT nIndex);

Beschreibung

Die Methode liefert das Land zurück, das unter dem angegebenen Index registriert ist.

Parameter

USHORT nIndex	Das Land mit diesem Index soll zurückgeliefert werden. Der größtmögliche Wert für den Index ist die über GetAvailableCountriesCount() ermittelte Anzahl der registrierten Länder - 1.

Rückgabewert

CountryType	Das Land, das unter dem angegebenen Index registriert ist.

_______________


KeyCode

enum KeyFuncType	{ KEYFUNC_DONTKNOW, KEYFUNC_NEW, KEYFUNC_OPEN, KEYFUNC_SAVE, KEYFUNC_SAVEAS, KEYFUNC_PRINT,KEYFUNC_CLOSE, KEYFUNC_CUT, KEYFUNC_COPY, KEYFUNC_PASTE,KEYFUNC_UNDO, KEYFUNC_REDO, KEYFUNC_REPEAT, KEYFUNC_FIND, KEYFUNC_FINDBACKWARD, KEYFUNC_PROPERTIES, KEYFUNC_FRONT };

class KeyCode

{

public:

KeyCode();

KeyCode( const ResId& rResId );

KeyCode( USHORT nKey, USHORT nModifier = 0 );

KeyCode( USHORT nKey, BOOL bShift,BOOL bMod1,BOOL 	);

KeyCode( KeyFuncType eFunction );

USHORT	GetCode() const;

USHORT	GetModifier() const;

BOOL	IsShift() const;

BOOL	IsMod1() const;

BOOL	IsMod2() const;

USHORT	GetGroup() const;

String	GetName() const;

BOOL	IsFunction() const;

KeyFuncType	GetFunction() const;

BOOL	operator ==( const KeyCode& rKeyCode ) const;

BOOL	operator !=( const KeyCode& rKeyCode ) const;

};

Beschreibung

Ein KeyCode setzt sich aus dem Code für eine Basistaste und dem Status der bei Betätigung dieser Taste aktiven Modifier-Tasten zusammen oder wird über einen logischen Tastencode erzeugt.

Unter einer Basistaste wird die physikalisch auf der Tastatur vorhandene Taste verstanden. Modifier-Tasten sind Tasten, die für sich alleine keinen KeyEvent auslösen, sondern die Bedeutung gleichzeitig betätigter Basistasten abwandeln.

Beispiel

Die Basistaste KEY_A liefert ohne Betätigung von Modifier-Tasten das Zeichen 'a'. Mit Betätigung der Shift-Taste wird das Zeichen 'A' generiert, es handelt sich bei der Basistaste jedoch immer noch um die Taste "KEY_A".

Querverweise

KeyEvent, Accelerator

_______________

Basistastencodes

KEY_0 ... KEY_9	Die Zahlentasten.

KEY_A ... KEY_Z	Die Buchstabentasten ohne Umlaute.

KEY_F1 ... KEY_F24	Die Funktionstasten.

KEY_UP	Cursor nach oben.

KEY_DOWN	Cursor nach unten.

KEY_LEFT	Cursor nach links.

KEY_RIGHT	Cursor nach rechts.

KEY_HOME	Cursor an den Zeilenanfang.

KEY_END	Cursor an das Zeilenende.

KEY_PAGEUP	Cursor eine Seite nach oben.

KEY_PAGEDOWN	Cursor eine Seite nach unten.

KEY_RETURN	Die Eingabe-Taste (CR und Enter).

KEY_ESCAPE	Die Escape-Taste.

KEY_TAB	Die Tabulator-Taste.

KEY_BACKSPACE	Die Backspace-Taste.

KEY_SPACE	Die Leertaste.

KEY_INSERT	Die Einfüge-Taste.

KEY_DELETE	Die Delete-Taste.

KEY_OPEN	Die Open-Taste

KEY_CUT	Die Cut-Taste

KEY_COPY	Die Copy-Taste

KEY_PASTE	Die Paste-Taste

KEY_UNDO	Die Undo-Taste

KEY_REPEAT	Die Repeat-Taste

KEY_FIND	Die Find-Taste

KEY_PROPERTIES	Die Property-Taste

KEY_FRONT	Die Front-Taste

Neben den logischen Tastencodes gibt es noch sogenannte Funktionscodes (KEYFUNC_...). Ein KeyEvent  kann damit nach einer logischen Funktion, wie z.B. kopieren in die Zwischenablage (KEYFUNC_COPY), befragt werden. Dabei können verschiedene KeyCodes auf die gleiche Funktion abgebildet werden.

KEYFUNC_DONTKNOW	Keine Funktion

KEYFUNC_NEW	Funktion Neu

KEYFUNC_OPEN	Funktion Öffnen

KEYFUNC_SAVE	Funktion Sichern

KEYFUNC_SAVEAS	Funktion Sichern unter

KEYFUNC_PRINT	Funktion Drucken

KEYFUNC_CLOSE	Funktion Schließen

KEYFUNC_CUT	Funktion Ausschneiden

KEYFUNC_COPY	Funktion Kopieren

KEYFUNC_PASTE	Funktion Einsetzen

KEYFUNC_UNDO	Funktion Aufheben

KEYFUNC_REDO	Funktion Aufheben aufheben

KEYFUNC_REPEAT	Funktion Wiederholen

KEYFUNC_FIND	Funktion Finden

KEYFUNC_FINDBACKWARD	Funktion Rückwärts Finden

KEYFUNC_PROPERTIES	Funktion Eigenschaften

KEYFUNC_FRONT	Funktion Nach Vorne

Modifier-Tasten

KEY_SHIFT	Die Shift-Taste.

KEY_MOD1	Die Control-Taste (Command-Taste beim Macintosh).

KEY_MOD2	Die Alt-Taste (Option-Taste beim Macintosh).

Key-Gruppen

KEYGROUP_NUM	KEY_0 ... KEY_9.

KEYGROUP_ALPHA	KEY_A ... KEY_Z.

KEYGROUP_FKEYS	KEY_F1 ... KEY_F24.

KEYGROUP_CURSOR	KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT,

KEY_HOME, KEY_END, KEY_PAGEUP,

KEY_PAGEDOWN.

KEYGROUP_MISC	KEY_RETURN, KEY_ESCAPE, KEY_TAB,

KEY_BACKSPACE, KEY_SPACE, KEY_INSERT,

KEY_DELETE, KEY_OPEN, KEY_CUT,

KEY_COPY, KEY_PASTE, KEY_UNDO,

KEY_REPEAT, KEY_FIND, KEY_PROPERTIES,

KEY_FRONT.

_______________

enum KeyFuncType

enum KeyFuncType { KEYFUNC_DONTKNOW, KEYFUNC_NEW, KEYFUNC_OPEN, KEYFUNC_SAVE, KEYFUNC_SAVEAS, KEYFUNC_PRINT, KEYFUNC_CLOSE, KEYFUNC_QUIT, KEYFUNC_CUT, KEYFUNC_COPY, KEYFUNC_PASTE, KEYFUNC_UNDO, KEYFUNC_REDO, KEYFUNC_DELETE, KEYFUNC_REPEAT, KEYFUNC_FIND, KEYFUNC_FINDBACKWARD, KEYFUNC_PROPERTIES, KEYFUNC_FRONT };

Beschreibung

Die Werte des enum KeyFuncType bestimmen den logischen Tastencode...

KEYFUNC_DONTKNOW	Der logische Tastencode ist unbekannt.

KEYFUNC_NEW	Der logische Tastencode für "Datei neu".

KEYFUNC_OPEN	Der logische Tastencode für "Datei öffnen".

KEYFUNC_SAVE	Der logische Tastencode für "Datei sichern".

KEYFUNC_SAVEAS	Der logische Tastencode für "Datei  sichern als".

KEYFUNC_PRINT	Der logische Tastencode für "Datei drucken".

KEYFUNC_CLOSE	Der logische Tastencode für "Datei schließen".

KEYFUNC_QUIT	Der logische Tastencode für "Programm beenden".

KEYFUNC_CUT	Der logische Tastencode für "Ausschneiden".

KEYFUNC_COPY	Der logische Tastencode für "Kopieren".

KEYFUNC_PASTE	Der logische Tastencode für "Einfügen".

KEYFUNC_UNDO	Der logische Tastencode für "Rückgängig".

KEYFUNC_REDO	Der logische Tastencode für "Wiederholen".

KEYFUNC_DELETE	Der logische Tastencode für "Löschen".

KEYFUNC_REPEAT	Der logische Tastencode für "Letzten Befehl wiederholen".

KEYFUNC_FIND	Der logische Tastencode für "Suchen".

KEYFUNC_FINDBACKWARD	Der logische Tastencode für "Rückwärts suchen".

KEYFUNC_PROPERTIES	Der logische Tastencode für "Eigenschaften".

KEYFUNC_FRONT	Der logische Tastencode für "Nach vorn holen".

_______________

KeyCode::KeyCode()

KeyCode::KeyCode();

Beschreibung

Default-Konstruktor der Klasse KeyCode. Der Wert für den Code der Basistaste wird auf 0 gesetzt, der Status der Modifier-Tasten auf FALSE.

_______________

KeyCode::KeyCode()

KeyCode::KeyCode( USHORT nKey, USHORT nModifier = 0 );

Beschreibung

Konstruktor der Klasse KeyCode. Es werden der Code der Basistaste sowie der Status der Modifier-Tasten angegeben.

Parameter

USHORT nCode	Der Code der Basistaste.

USHORT nModifier	Der Status der Modifier-Tasten. Sollen mehrere Modifier angegeben werden, so können diese mit Hilfe des '|'-Operators verknüpft werden.

Beispiel

// Die folgende Deklaration repräsentiert Shift+Mod1+A.

KeyCode aKeyCode( KEY_A, KEY_SHIFT | KEY_MOD1 );

Querverweise

Basistastencodes, Modifier-Tasten

_______________

KeyCode::KeyCode()

KeyCode::KeyCode( USHORT nKey, BOOL bShift, BOOL bMod1, BOOL bMod2);

Beschreibung

Konstruktor der Klasse KeyCode aus dem Code der Basistaste sowie dem Status der einzelnen Modifier-Tasten.

Parameter

USHORT nCode	Der Code der Basistaste.

BOOL bShift	TRUE

Die Shift-Taste ist gedrückt.

FALSE

Die Shift-Taste ist nicht gedrückt.

BOOL bMod1	TRUE

Die Modifier1-Taste ist gedrückt.

FALSE

Die Modifier1-Taste ist nicht gedrückt.

BOOL bMod2	TRUE

Die Modifier2-Taste ist gedrückt.

FALSE

Die Modifier2-Taste ist nicht gedrückt.

Beispiel

// Die folgende Deklaration repräsentiert Shift+Mod1+A.

KeyCode aKeyCode( KEY_A, TRUE, TRUE, FALSE );

Querverweise

Basistastencodes, Modifier-Tasten

_______________

KeyCode::KeyCode()

KeyCode::KeyCode( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse KeyCode. Die Methode erzeugt einen KeyCode aus der Resource.

Parameter

const ResId& rResId	Die ID des KeyCodes in der Resource.

Querverweise

Resource

_______________

KeyCode::KeyCode()

KeyCode::KeyCode( KeyFuncType eFunction );

Beschreibung

Konstruktor der Klasse KeyCode. Es wird der logische Tastencode angegeben.

Parameter

KeyFuncType eFunction	Der logische Tastencode.

Querverweise

KeyFuncType

_______________

KeyCode::GetCode()

USHORT KeyCode::GetCode() const;

Beschreibung

Diese Methode gibt den Code der Basistaste zurück.

Rückgabewert

USHORT	Der Code der Basistaste.

Querverweise

Basistastencodes, KeyCode::GetModifier()

_______________

KeyCode::GetModifier()

USHORT KeyCode::GetModifier() const;

Beschreibung

Diese Methode gibt den Status aller Modifier-Tasten zurück.

Rückgabewert

USHORT	Der Status der Modifier-Tasten.

Beispiel

void MyWindow::KeyInput( KeyEvent& rEvt )

{

switch( rEvt.GetKeyCode().GetModifier() + rEvt.GetKeyCode().GetCode() )

{

case KEY_A:

...

break;

case KEY_INSERT:

...

break;

case KEY_SHIFT + KEY_A:

...

break;

case KEY_MOD1 + KEY_INSERT:

...

break;

case KEY_SHIFT + KEY_MOD1 + KEY_INSERT:

...

break;

case default:

...

}

}

Querverweise

Modifier-Tasten, KeyCode::GetCode()

_______________

KeyCode::IsShift()

BOOL KeyCode::IsShift() const;

Beschreibung

Die Methode liefert den Zustand der Shift-Taste zurück.

Rückgabewert

BOOL	TRUE

Die Shift-Taste ist gedrückt.

FALSE

Die Shift-Taste ist nicht gedrückt.

_______________

KeyCode::IsMod1()

BOOL KeyCode::IsMod1() const;

Beschreibung

Die Methode liefert den Zustand der Modifier1-Taste zurück. Die Modifier1-Taste ist die Control-Taste auf einer PC-Tastatur, auf der Tastatur des Apple Macintosh ist dies die Command-Taste.

Rückgabewert

BOOL	TRUE

Die Modifier1-Taste ist gedrückt.

FALSE

Die Modifier1-Taste ist nicht gedrückt.

_______________

KeyCode::IsMod2()

BOOL KeyCode::IsMod2() const;

Beschreibung

Die Methode liefert den Zustand der Modifier2-Taste zurück. Die Modifier2-Taste ist die Alt-Taste auf einer PC-Tastatur, auf der Tastatur des Apple Macintosh ist dies die Option-Taste.

Rückgabewert

BOOL	TRUE

Die Modifier2-Taste ist gedrückt.

FALSE

Die Modifier2-Taste ist nicht gedrückt.

_______________

KeyCode::GetGroup()

USHORT KeyCode::GetGroup() const;

Beschreibung

Die Methode liefert die logische Gruppe zurück, zu der die Tastenkombination gehört.

Rückgabewert

USHORT	Die logische Gruppe, zu der die Tastenkombination gehört.

Key-Gruppen

_______________

KeyCode::GetName()

String KeyCode::GetName() const;

Beschreibung

Die Methode liefert die Tastenkombination als String zurück. Falls nur Modifier-Tasten gesetzt sind und der Code 0 ist, wird nur die Beschriftung der Modifiertasten zurückgegeben,

Rückgabewert

String	Die Tastenkombination.

Beispiel

KeyCode aCode1( KEY_A, KEY_SHIFT );

KeyCode aCode2( 0, KEY_MOD1 | KEY_MOD2 );

// Ausgabe könnte so aussehen: "Shift+A"

DrawText( Point( 10, 10 ), aCode1.GetName() );

// Ausgabe könnte so aussehen: "Ctrl+Alt"

DrawText( Point( 10, 30 ), aCode2.GetName() );

_______________

KeyCode::IsFunction()

BOOL KeyCode::IsFunction() const;

Beschreibung

Die Methode ermittelt, ob der KeyCode mit einem der logischen Tastencodes erzeugt wurde.

Rückgabewert

BOOL	TRUE

Der KeyCode wurde mit einem der logischen Tastencodes erzeugt.

FALSE

Der KeyCode wurde nicht mit einem der logischen Tastencodes erzeugt.

_______________

KeyCode::GetFunction()

KeyFuncType KeyCode::GetFunction() const;

Beschreibung

Die Methode ermittelt den logischen Tastencode, mit dem der KeyCode erzeugt wurde.

Rückgabewert

KeyFuncType	Der logische Tastencode, mit dem der KeyCode erzeugt wurde.

_______________

KeyCode::operator ==()

BOOL KeyCode::operator ==() const;

Beschreibung

Vergleichsoperator der Klasse KeyCode.

Parameter

const KeyCode& rKeyCode	Referenz auf einen KeyCode.

Rückgabewert

BOOL	TRUE

Die Basistastencodes und die Status der Modifier-Tasten bzw. der logische Tastencode sind gleich.

FALSE

Die Basistastencodes, die Status der Modifier-Tasten oder der logische Tastencode sind unterschiedlich.

_______________

KeyCode::operator !=()

BOOL KeyCode::operator !=() const;

Beschreibung

Vergleichsoperator der Klasse KeyCode.

Parameter

const KeyCode& rKeyCode	Referenz auf einen KeyCode.

Rückgabewert

BOOL	TRUE

Die Basistastencodes, die Status der Modifier-Tasten oder der logische Tastencode sind unterschiedlich.

FALSE

Die Basistastencodes und die Status der Modifier-Tasten bzw. der logische Tastencode sind gleich.

_______________


KeyEvent

class KeyEvent

{

public:

KeyEvent();

KeyEvent( char nCharCode, const KeyCode& rKeyCode, USHORT nRepeat = 0 );

char	GetCharCode() const;

KeyCode	GetKeyCode() const;

USHORT	GetRepeat() const;

};

Beschreibung

Diese Klasse ermöglicht die Abfrage von Informationen über einen KeyEvent. Eine Referenz auf ein Objekt dieser Klasse wird dem KeyInput-Handler der Klasse Window übergeben.

Anmerkungen

Es gibt keine Garantie für die generelle Verfügbarkeit aller angebotenen Keys auf allen Systemen. Aufgrund der unterschiedlichen Tastaturen der verschiedenen Systeme, die jeweils in unterschiedlichen länderspezifischen Belegungen verfügbar sind, ist bei einigen Tasten keine eindeutige Zuordnung von Tastencodes und Zeichencodes möglich. Dies betrifft z.B. die Tasten '+', '#', '<' usw. der deutschen Tastaturbelegung. Bei diesen Tasten wird jedoch immer ein Zeichencode geliefert.

Querverweise

KeyCode

_______________


KeyEvent::KeyEvent()

KeyEvent::KeyEvent();

Beschreibung

Default-Konstruktor der Klasse KeyEvent. Es werden alle Werte auf 0 initialisiert.

_______________


KeyEvent::KeyEvent( char nCharCode, const KeyCode& rKeyCode, USHORT nRepeat = 0 )
KeyEvent::KeyEvent()

KeyEvent::KeyEvent( char nCharCode, const KeyCode& rKeyCode, USHORT nRepeat = 0 );

Beschreibung

Konstruktor der Klasse KeyEvent.

Parameter

char nCharCode	Der Zeichencode der betätigten Tastenkombination. Hier wird der Zeichencode der Taste unter Berücksichtigung des Zustandes der Modifier-Tasten angegeben. Bei Betätigung einer Taste, die keinen Zeichencode liefert (z.B. Funktions- oder Cursortasten), wird hier der Code 0 angegeben.

const KeyCode& rKeyCode	Referenz auf eine Instanz der Klasse KeyCode. Für nähere Informationen über die Klasse KeyCode siehe Dokumentation der Klasse KeyCode.

USHORT nRepeat	Die Anzahl generierter Tastenbetätigungen, die durch die Repeat-Funktion der Tastatur erzeugt wurden. Ein Repeat-Count von 1 bedeutet 2 Tastendrücke (dieser und eine Wiederholung).

_______________


char KeyEvent::GetCharCode()
KeyEvent::GetCharCode()

char KeyEvent::GetCharCode() const;

Beschreibung

Diese Methode liefert den Zeichencode der betätigten Taste zurück. Wurde eine Taste betätigt, die keinen Zeichencode liefert (z.B. Funktionstasten), so wird 0 zurückgegeben. Bei Vergleichen und Indizierung mit dem Zeichencode ist das Vorzeichen zu beachten.

Rückgabewert

char	Der Zeichencode der betätigten Taste oder 0.

_______________


KeyEvent::GetKeyCode()

KeyCode KeyEvent::GetKeyCode() const;

Beschreibung

Diese Methode liefert eine Instanz der Klasse KeyCode mit Informationen zur betätigten Taste zurück. Für nähere Informationen zur Klasse KeyCode siehe Dokumentation der Klasse KeyCode.

Rückgabewert

KeyCode	Eine Instanz der Klasse KeyCode mit Informationen zur betätigten Taste.

Querverweise

KeyCode

_______________


KeyEvent::GetRepeat()

USHORT KeyEvent::GetRepeat() const;

Beschreibung

Diese Methode liefert die Anzahl der erzeugten Tastenbetätigungen einer Taste zurück. Ein Rückgabewert größer als 0 wird durch Aktivierung der Repeat-Funktion der Tastatur generiert.

Rückgabewert

USHORT	Die Anzahl der Tastenwiederholungen. Ein Repeat-Count von 1 bedeutet 2 Tastendrücke (dieser und eine Wiederholung).

_______________


Link

class LinkHdl

{

};

typedef long (LinkHdl::*PFUNC)( void* pCaller );

class Link

{

public:

Link();

Link( LinkHdl* pFuncOwner, PFUNC pProc );

long	Call( void* pCaller );

BOOL	IsSet() const;

BOOL	operator !() const;

BOOL	operator ==( const Link& rLink ) const;

BOOL	operator !=( const Link& rLink ) const;

};

#define LINK( pInst, Class, pMemFunc ) \

Link( (LinkHdl*)pInst, \

(PFUNC)(long (Class::*)( void* ))&Class::pMemFunc )

Beschreibung

Diese Klasse stellt einen Mechanismus zur Verfügung, mit dem eine Methode und eine Instanz von einer Klasse gespeichert werden können und worüber die Methode dieser Klasse gerufen werden kann.

Dabei sind folgende Einschränkungen zu beachten:

-	Es wird nicht überprüft, ob Objekt und Methode zusammenpassen.

-	Der Callback-Mechanismus arbeitet nicht bei allen Compilern mit virtuellen Methoden.

-	Der Callback-Mechanismus arbeitet nicht bei allen Compilern mit inline-Methoden.

Die Klasse, deren Methode über den Link aufgerufen wird, muß von der Klasse LinkHdl abgeleitet sein.

Mit dem Macro LINK() wird ein Typecast des Funktionspointers auf eine Methode der Klasse LinkHdl durchgeführt. Dies ist Vorraussetzung für die Zuweisung auf eine Link-Instanz. Dabei wird jedoch nicht geprüft, ob die Methode die richtigen Parameter und den richtigen Rückgabewert aufweist.

Beispiel

In diesem Beispiel werden in main() zwei Buttons, ein Fenster und ein Dialog erzeugt. In den Buttons wird jeweils ein Callback gesetzt, und diese werden anschließend aufgerufen. Die Ausgabe lautet:

    This was the WindowFunc()

    This was the DialogFunc()

class Window : public LinkHdl

{

public:

void	WindowFunc( Button* pButton );

};

void Window::WindowFunc( Button* pButton )

{

printf( "This was the WindowFunc()\n" );

}

class Button : public Window

{

private:

Link	aLink;

public:

void	SetHdl( const Link& rLink ) { aLink = rLink; }

void	CallHdl() { aLink.Call( this ); }

};

class Dialog : public Window

{

public:

void	DialogFunc( Button* pButton );

};

void Dialog::DialogFunc( Button* pButton )

{

printf( "This was the DialogFunc()\n" );

}

int main()

{

Button aButton1;

Button aButton2;

Window aWindow;

Dialog aDialog;

aButton1.SetHdl( LINK( &aWindow, Window, WindowFunc));

aButton1.CallHdl();

aButton2.SetHdl( LINK( &aDialog, Dialog, DialogFunc));

aButton2.CallHdl();

}

_______________


Link::Link()

Link::Link();

Beschreibung

Mit diesem Konstruktor wird eine Link-Instanz erzeugt, in der kein Handler gesetzt ist.

_______________


Link::Link( LinkHdl* pFuncOwner, PFUNC pProc )
Link::Link()

Link::Link( LinkHdl* pFuncOwner, PFUNC pProc );

Beschreibung

Mit diesem Konstruktor wird eine Link-Instanz erzeugt und initialisiert. Nach diesem Konstruktoraufruf kann der Methodenaufruf Link::Call() erfolgen, um den Handler aufzurufen.

Parameter

LinkHdl* pFuncOwner	Ein Zeiger auf die Instanz, zu der die Methode gehört.

PFUNC pProc	Ein Zeiger auf die Methode.

_______________


Link::Call( void* pCaller )
Link::Call()

long Link::Call( void* pCaller );

Beschreibung

Durch diese Methode wird der Handler aufgerufen. Der Aufruf wird nur ausgeführt, wenn in der Link-Instanz ein Handler eingetragen wurde. Dem Callback wird der Parameter pCaller als Argument mitgegeben.

Parameter

void* pCaller	Dieser Zeiger wird dem Handler als Argument mitgegeben.

Rückgabewert

long	Rückgabewert des Handlers; 0, wenn kein Handler gesetzt ist.

_______________


Link::IsSet()

BOOL Link::IsSet() const;

Beschreibung

Mit dieser Methode wird überprüft, ob ein Handler gesetzt ist.

Rückgabewert

BOOL	TRUE

Es ist ein Handler gesetzt.

FALSE

Es ist kein Handler gesetzt.

_______________


Link::operator !()

BOOL Link::operator !() const;

Beschreibung

Mit dieser Methode wird überprüft, ob kein Handler gesetzt ist.

Rückgabewert

BOOL	TRUE

Es ist kein Handler gesetzt.

FALSE

Es ist ein Handler gesetzt.

_______________


Link::operator ==( const Link& rLink )
Link::operator ==()

BOOL Link::operator ==( const Link& rLink ) const;

Beschreibung

Mit dieser Methode werden zwei Links auf Gleichheit überprüft. Sind die Links identisch, liefert diese Methode den Wert TRUE.

Parameter

const Link& rLink	Der Link, mit dem diese Instanz verglichen wird.

Rückgabewert

BOOL	TRUE

Die beiden Links sind identisch.

FALSE

Die beiden Links sind nicht identisch.

_______________


Link::operator !=( const Link& rLink )
Link::operator !=()

BOOL Link::operator !=( const Link& rLink ) const;

Beschreibung

Mit dieser Methode werden zwei Links auf Ungleichheit überprüft. Sind die Links identisch, liefert diese Methode den Wert FALSE.

Parameter

const Link& rLink	Der Link, mit dem diese Instanz verglichen wird.

Rückgabewert

BOOL	TRUE

Die beiden Links sind nicht identisch.

FALSE

Die beiden Links sind identisch.

_______________


List

#define LIST_APPEND          CONTAINER_APPEND

#define LIST_ENTRY_NOTFOUND  CONTAINER_ENTRY_NOTFOUND

class List : private Container

{

public:

List( USHORT nInitSize = 16, USHORT nReSize = 16 );

List( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize );

List( const List& rList );

~List();

void	Insert( void* p );

void	Insert( void* p, ULONG nPos );

void	Insert( void* pNew, void* pOld );

void*	Remove();

void*	Remove( ULONG nPos );

void*	Remove( void* p );

void*	Replace( void* p );

void*	Replace( void* p, ULONG nPos );

void*	Replace( void* pNew, void* pOld );

void	Clear();

ULONG	Count() const;

void*	GetCurObject() const;

ULONG	GetCurPos() const;

void*	GetObject( ULONG nPos ) const;

ULONG	GetPos( const void* p ) const;

void*	Seek( ULONG nPos );

void*	Seek( void* p );

void*	First();

void*	Last();

void*	Next();

void*	Prev();

List&	operator =( const List& rList );

BOOL	operator ==( const List& rList ) const;

BOOL	operator !=( const List& rList ) const;

};

Beschreibung

Die Klasse List stellt den Mechanismus einer verketteten Liste zur Verfügung. Da nur Zeiger verwaltet werden, eignet sich die Klasse für die Speicherung von beliebigen Objekten. Dabei werden die Daten nicht kopiert oder gelöscht, auf die die Zeiger zeigen. Für das Speichern von Zeigern eines bestimmten Typs kann das DECLARE-Makro verwendet werden.

Der Zugriff kann über eine Position oder über einen Zeiger erfolgen. Die Zählung der Position beginnt bei 0. Sofern die Liste nicht leer ist, existiert stets ein aktueller Zeiger, welcher auch gesetzt und verschoben werden kann.

Anmerkungen

Wenn die Methoden der Liste mit einem Zeiger aufgerufen werden, ist zu beachten, daß der gleiche Zeiger mehrfach enthalten sein kann. In diesem Fall wird die Methode immer auf den ersten gefundenen Zeiger angewendet.

Es sollten keine NULL-Zeiger übergeben oder gespeichert werden. Andernfalls ist es nicht möglich, bei den Methoden, die einen Zeiger zurückgeben, zu unterscheiden, ob es der gespeicherte Zeiger oder kein gültiger Zeiger ist.

Basisklassen

Container

_______________


DECLARE_LIST( ClassName, Type )
DECLARE_LIST()

DECLARE_LIST( ClassName, Type )

Beschreibung

Die Klasse List speichert ausschließlich typenlose Zeiger (void*). Soll innerhalb einer Applikation eine Liste erzeugt werden, die nur Zeiger eines bestimmten Typs verarbeitet, so muß eine Ableitung der Klasse List erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht, wobei darauf geachtet werden muß, daß der übergebene Typ ein Zeiger ist, wenn eine Datenstruktur größer als sizeof(void*) gespeichert werden soll. Dieses Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den die Liste verwalten soll.

Beispiel

// Es wird mit Hilfe des Makros DECLARE_LIST() eine Ableitung der

// Klasse List erzeugt, die lediglich Zeiger auf Instanzen der

// Klasse MyStruct verarbeitet.

struct MyStruct

{

...

};

DECLARE_LIST( MyList, MyStruct* );

...

MyList aList( 100, 0 );

aList.Insert( new MyStruct(...), 0 );

...

_______________


List::List( USHORT nInitSize = 16, USHORT nReSize = 16 )
List::List()

List::List( USHORT nInitSize = 16, USHORT nReSize = 16 );

Beschreibung

Konstruktor der Klasse List. Bei diesem Konstruktor kann die Initialgröße und die Reallokierungsgröße eingestellt werden. Dieser Konstruktor wird auch als Default-Konstruktor verwendet.

Parameter

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen der Liste gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Liste vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die die Liste erweitert wird, wenn neuer Speicherplatz angelegt werden muß. Ist der Parameter 0, so wird der Wert von der Liste vorgegeben.

_______________


List::List( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize )
List::List()

List::List( USHORT nBlockSize, USHORT nInitSize, USHORT nReSize );

Beschreibung

Konstruktor der Klasse List. Bei diesem Konstruktor ist es möglich, die Verwaltung durch verschiedene Parameter zu beeinflussen. Je nach Anwendung ist es möglich, die Verwaltung so zu beeinflussen, daß maximale Performance bei minimalem Overhead zu erreichen ist und nicht durch eine statische Verwaltung der Liste Nachteile entstehen.

Parameter

USHORT nBlockSize	Die Anzahl der Zeiger, die ein Block enthalten soll, bevor ein neuer Block angelegt wird. Je größer die Blöcke sind, desto schneller geht der Zugriff auf bestimmte Zeiger und desto weniger Overhead wird für die Verwaltung gebraucht. Falls jedoch sehr häufig eingefügt und entfernt wird und die Liste über den aktuellen Zeiger gesteuert wird, sollte die Blockgröße kleiner gesetzt werden, falls nicht der Overhead dagegenspricht. Die Blockgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Liste vorgegeben.

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen der Liste gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte nicht größer als die Blockgröße und ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Liste vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die ein Block erweitert wird, wenn der Block neuen Speicherplatz anfordern muß. Der Parameter sollte größer als 0 sein, sonst wird der Wert von der Liste vorgegeben. Durch diesen Parameter ist es möglich, daß die Liste große Blöcke verwalten kann und nicht immer Speicherplatz für einen kompletten Block angelegen muß.

_______________


List::List( const List& rList )
List::List()

List::List( const List& rList );

Beschreibung

Copy-Konstruktor der Klasse List. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte der übergebenen Liste. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const List& rList	Die Liste, von der die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


List::~List()

List::~List();

Beschreibung

Destruktor der Klasse List. Es werden alle von der Liste intern angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


List::Insert( void* p )
List::Insert()

void List::Insert( void* p );

Beschreibung

Der übergebene Zeiger wird vor dem aktuellen Zeiger eingefügt. Der aktuelle Zeiger bleibt erhalten, jedoch wird die aktuelle Position angepaßt. Ist die Liste leer, so wird der eingefügte Zeiger zum aktuellen.

Parameter

void* p	Der Zeiger, der eingefügt werden soll.

_______________


List::Insert( void* p, ULONG nPos )
List::Insert()

void List::Insert( void* p, ULONG nPos );

Beschreibung

Der übergebene Zeiger wird vor der angegebenen Position nPos eingefügt. Sind weniger als nPos Zeiger in der Liste, so wird der Zeiger angehängt.

Wird der Zeiger vor dem aktuellen Zeiger eingefügt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger derselbe, jedoch verschiebt sich die aktuelle Position. Ist die Liste leer, so wird der eingefügte Zeiger zum aktuellen.

Parameter

void* p	Der Zeiger, der eingefügt werden soll.

ULONG nPos	Die Position, an der der Zeiger eingefügt werden soll. Wird hier die Konstante LIST_APPEND angegeben oder sind weniger als nPos Zeiger enthalten, so wird der Zeiger angehängt.

_______________


List::Insert( void* pNew, void* pOld )
List::Insert()

void List::Insert( void* pNew, void* pOld );

Beschreibung

Der übergebene Zeiger pNew wird vor dem Zeiger pOld eingefügt.

Wird der Zeiger vor dem aktuellen Zeiger eingefügt, so wird die Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger derselbe, jedoch verschiebt sich die aktuelle Position. Ist die Liste leer, so wird der eingefügte Zeiger zum aktuellen.

Parameter

void* pNew	Der Zeiger, der eingefügt werden soll.

void* pOld	Der Zeiger, vor dem Zeiger pNew eingefügt wird. Befindet sich der Zeiger mehr als einmal in der Liste, so wird der Zeiger pNew vor dem ersten übereinstimmenden Zeiger eingefügt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

_______________


List::Remove()

void* List::Remove();

Beschreibung

Es wird der aktuelle Zeiger entfernt. Der Zeiger hinter dem aktuellen Zeiger wird zum aktuellen. Ist der aktuelle Zeiger der letzte, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist die Liste leer, so wird NULL zurückgegeben.

_______________


List::Remove( ULONG nPos )
List::Remove()

void* List::Remove( ULONG nPos );

Beschreibung

Es wird der Zeiger an der Position nPos entfernt.

Wird der Zeiger vor dem aktuellen Zeiger entfernt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Position. Wird der aktuelle Zeiger entfernt, so wird der Zeiger hinter dem aktuellen Zeiger zum aktuellen. Ist der aktuelle Zeiger der letzte, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Parameter

ULONG nPos	Die Position, an der der Zeiger entfernt werden soll. Liegt die Position außerhalb des Bereiches, so wird kein Zeiger entfernt.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


List::Remove( void* p )
List::Remove()

void* List::Remove( void* p );

Beschreibung

Es wird der übergebene Zeiger entfernt.

Wird der Zeiger vor dem aktuellen Zeiger entfernt, so wird die aktuelle Position angepaßt. Somit bleibt der zuvor aktuelle Zeiger erhalten, jedoch verschiebt sich die aktuelle Position. Wird der aktuelle Zeiger entfernt, so wird der Zeiger hinter dem aktuellen Zeiger zum aktuellen. Ist der aktuelle Zeiger der letzte, so wird der zuvor vorletzte Zeiger zum aktuellen Zeiger.

Parameter

void* p	Der Zeiger, der entfernt werden soll. Befindet sich der Zeiger mehr als einmal in der Liste, so wird der erste übereinstimmende Zeiger entfernt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist die Liste leer oder ist der übergebene Zeiger nicht enthalten, so wird NULL zurückgegeben.

_______________


List::Replace( void* p )
List::Replace()

void* List::Replace( void* p );

Beschreibung

Es wird der aktuelle Zeiger durch den übergebenen Zeiger ersetzt. Die aktuelle Index-Position wird nicht beeinflußt. Ist die Liste leer, hat der Aufruf keine Wirkung.

Parameter

void* p	Der Zeiger, der den aktuellen Zeiger ersetzt.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Ist die Liste leer, so wird NULL zurückgegeben.

_______________


List::Replace( void* p, ULONG nPos )
List::Replace()

void* List::Replace( void* p, ULONG nPos );

Beschreibung

Der Zeiger, der sich an der Position nPos befindet, wird durch den übergebenen Zeiger ersetzt. Wird der aktuelle Zeiger ersetzt, so wird der übergebene Zeiger zum aktuellen. Die aktuelle Position wird nicht beeinflußt.

Parameter

void* p	Der Zeiger, der den Zeiger an der Position nPos ersetzt.

ULONG nPos	Die Position des zu ersetzenden Zeigers. Befindet sich die Position außerhalb des Bereiches, so wird kein Zeiger ersetzt.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


List::Replace( void* pNew, void* pOld )
List::Replace()

void* List::Replace( void* pNew, void* pOld );

Beschreibung

Der Zeiger pOld wird durch den Zeiger pNew ersetzt. Wird der aktuelle Zeiger ersetzt, so wird der übergebene Zeiger zum aktuellen. Die aktuelle Index-Position wird nicht beeinflußt.

Parameter

void* pNew	Der Zeiger, der den Zeiger pOld ersetzt.

void* pOld	Der Zeiger, der durch den Zeiger pNew ersetzt wird. Befindet sich der Zeiger mehr als einmal in der Liste, so wird der erste übereinstimmende Zeiger ersetzt. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Ist die Liste leer oder ist der Zeiger pOld in der Liste nicht enthalten, so wird NULL zurückgegeben.

_______________


List::Clear()

void List::Clear();

Beschreibung

Es werden alle gespeicherten Zeiger gelöscht. Dabei werden jedoch nicht die Daten gelöscht, auf die die Zeiger zeigen. Die Liste ist nach Aufruf dieser Methode leer.

_______________


List::Count()

ULONG List::Count() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger in der Liste gespeichert sind.

Rückgabewert

ULONG	Die Anzahl der in der Liste gespeicherten Zeiger.

_______________


List::GetCurObject()

void* List::GetCurObject() const;

Beschreibung

Der aktuelle Zeiger wird zurückgegeben.

Rückgabewert

void*	Der aktuelle Zeiger oder NULL, wenn die Liste leer ist.

_______________


List::GetCurPos()

ULONG List::GetCurPos() const;

Beschreibung

Die aktuelle Listenposition wird zurückgegeben.

Rückgabewert

ULONG	Die aktuelle Listenposition oder

LIST_ENTRY_NOTFOUND, wenn die Liste leer ist.

_______________


List::GetObject( ULONG nPos )
List::GetObject()

void* List::GetObject( ULONG nPos ) const;

Beschreibung

Der Zeiger an der Position nPos innerhalb der Liste wird zurückgegeben, ohne die aktuelle Position oder den aktuellen Zeiger zu verändern.

Parameter

ULONG nPos	Die Position des Zeigers innerhalb der Liste, der zurückgegeben werden soll.

Rückgabewert

void*	Der Zeiger, der sich an der Position nPos befindet. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


List::GetPos( const void* p )
List::GetPos()

ULONG List::GetPos( const void* p ) const;

Beschreibung

Die Position des angegebenen Zeigers relativ zum Listenanfang wird zurückgegeben, ohne die aktuelle Position oder den aktuellen Zeiger zu verändern.

Parameter

const void* p	Der Zeiger, dessen Position zurückgegeben werden soll.

Rückgabewert

ULONG	Die Position des ersten Auftretens des übergebenen Zeigers innerhalb der Liste. Befindet sich der Zeiger nicht in der Liste wird LIST_ENTRY_NOTFOUND zurückgegeben.

_______________


List::Seek( ULONG nPos )
List::Seek()

void* List::Seek( ULONG nPos );

Beschreibung

Mit dieser Methode kann der aktuelle Zeiger gesetzt werden. Dazu wird der Zeiger, der sich an der Position nPos befindet, zum aktuellen Zeiger. Liegt die Position außerhalb des Bereiches, so wird der letzte Zeiger zum aktuellen.

Parameter

ULONG nPos	Die Position des Zeigers, der zum aktuellen werden soll. Liegt die Position außerhalb des Bereiches, so wird der letzte Zeiger zum aktuellen.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer, so wird NULL zurückgegeben.

_______________


List::Seek( void* p )
List::Seek()

void* List::Seek( void* p );

Beschreibung

Mit dieser Methode wird der übergebene Zeiger zum aktuellen Zeiger. Befindet sich der Zeiger mehr als einmal in der Liste, so wird der erste übereinstimmende Zeiger zum aktuellen.

Parameter

void* p	Der Zeiger, der der aktuelle werden soll. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer oder ist der übergebene Zeiger nicht enthalten, so wird NULL zurückgegeben.

_______________


List::First()

void* List::First();

Beschreibung

Der erste Zeiger wird zum aktuellen Zeiger.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer, so wird NULL zurückgegeben.

_______________


List::Last()

void* List::Last();

Beschreibung

Der letzte Zeiger wird zum aktuellen Zeiger.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer, so wird NULL zurückgegeben.

_______________


List::Next()

void* List::Next();

Beschreibung

Der aktuelle Zeiger wird auf den nächsten Zeiger weitergeschaltet. Steht der aktuelle Zeiger auf dem Listenende, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer oder steht der aktuelle Zeiger auf dem Listenende, so wird NULL zurückgegeben.

_______________


List::Prev()

void* List::Prev();

Beschreibung

Der aktuelle Zeiger wird auf den vorherigen Zeiger weitergeschaltet. Steht der aktuelle Zeiger auf dem Listenanfang, hat der Aufruf keine Wirkung.

Rückgabewert

void*	Der Zeiger, der jetzt der aktuelle ist. Ist die Liste leer oder steht der aktuelle Zeiger auf dem Listenanfang, so wird NULL zurückgegeben.

_______________


List::operator =( const List& rList )
List::operator =()

List& List::operator =( const List& rList );

Beschreibung

Zuweisungsoperator der Klasse List. Dieser Operator löscht alle intern angelegten Daten und übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte der übergebenen Liste. Die Daten, auf die die Zeiger zeigen, werden weder im linken Operanden gelöscht noch im rechten Operanden kopiert.

Parameter

const List& rList	Die Liste, von der die Zeiger und die eingestellten Werte übernommen werden sollen.

Rückgabewert

List&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


List::operator ==( const List& rList )
List::operator ==()
List::operator !=()

BOOL List::operator ==( const List& rList ) const;

BOOL List::operator !=( const List& rList ) const;

Beschreibung

Vergleichsoperatoren der Klasse List. Diese Operatoren prüfen, ob die gespeicherten Zeiger auf dieselben Daten in der gleichen Reihenfolge zeigen.

Parameter

const List& rList	Die Liste, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


ListBox

#define LISTBOX_APPEND             ((USHORT)0xFFFF)

#define LISTBOX_ENTRY_NOTFOUND     ((USHORT)0xFFFF)

class ListBox : public Control

{

protected:

virtual void	Select();

virtual void	DoubleClick();

public:

ListBox( Window* pParent, WinBits nWinStyle = WB_BORDER );

ListBox( Window* pParent, const ResId& rResId );

~ListBox();

void	InsertEntry( const String& rString, USHORT nPos = LISTBOX_APPEND );

void	InsertEntry( const Bitmap& rBitmap, USHORT nPos = LISTBOX_APPEND );

void	InsertEntry( const String& rStr, const Bitmap& rBitmap, USHORT nPos = LISTBOX_APPEND );

void	RemoveEntry( const String& rString );

void	RemoveEntry( USHORT nPos );

void	Clear();

String	GetEntry( USHORT nPos ) const;

USHORT	GetEntryPos( const String& rString ) const;

USHORT	GetEntryCount();

void	SelectEntry( const String& rStr, BOOL bSelect = TRUE );

void	SelectEntryPos( USHORT nPos, BOOL bSelect = TRUE);

USHORT	GetSelectEntryCount() const;

String	GetSelectEntry( USHORT nSelIndex = 0 ) const;

USHORT	GetSelectEntryPos( USHORT nSelIndex = 0 ) const;

BOOL	IsEntrySelected( const String& rStr ) const;

BOOL	IsEntryPosSelected( USHORT nPos ) const;

void	SetNoSelection();

Link	ChangeSelectHdl( const Link& rLink );

Link	GetSelectHdl() const;

Link	ChangeDoubleClickHdl( const Link& rLink );

Link	GetDoubleClickHdl() const;

};

Beschreibung

Eine ListBox ist ein Control für die Präsentation einer Liste von Einträgen in Textform, als Bitmap oder einer Kombination von beidem. Die Einträge können der ListBox hinzugefügt, selektiert, abgefragt und aus ihr gelöscht werden. Der Benutzer kann sich durch die Einträge der ListBox bewegen. Können nicht alle Einträge zu einem Zeitpunkt komplett angezeigt werden, werden sie durch die ListBox gescrollt. Zu dem Zweck werden, falls aufgrund der Breite und/oder Anzahl der Einträge nötig, ein horizontaler und/oder vertikaler ScrollBar eingeblendet.

Wenn ein aktueller Eintrag existiert , wird dieser durch die ListBox optisch hervorgehoben dargestellt. Der aktuelle Eintrag bleibt erhalten, auch wenn er sich nicht im sichtbaren Bereich der ListBox befindet. Wird vor dem selektierten Eintrag ein Eintrag eingefügt oder gelöscht, bleibt die Selektion erhalten. Die Position dieses Eintrags wird bei einem Einfügen erhöht und bei einem Löschen erniedrigt. Wird der selektierte Eintrag selbst entfernt, so ist anschließend kein Eintrag selektiert.

Für die Kommunikation mit der Applikation müssen der ListBox die Handler für die Eingaben des Benutzers bekanntgemacht werden. Es existiert ein Handler für die Selektion eines Eintrags in der ListBox. Die Basisklasse der ListBox unterstützt lediglich eine einfache Selektion, die abgeleitete Klasse MultiListBox erlaubt dagegen auch eine Mehrfachselektion.

Es gibt keine Begrenzung für die maximale Länge der Einträge; ein Eintrag wird an der rechten Begrenzung der ListBox ggf. optisch abgeschnitten. Um dies zu vermeiden, kann das Stylebit WB_AUTOSIZE gesetzt werden: In dem Fall wird die Größe der ListBox automatisch so gesetzt, daß immer ganze Zeilen angezeigt werden.

Es liegt in der Verantwortung der Applikation, mehrere Einträge mit identischen Einträgen innerhalb einer ListBox zu vermeiden.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

_______________


ListBox::Select()

virtual void ListBox::Select();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Benutzer einen Eintrag der ListBox selektiert. Die Interaktionstechnik für eine Selektion in der ListBox ist die des jeweiligen Basisfenstersystems. Unter Windows wird dieser Handler z.B. bei einfachem Mausklick gerufen, beim Apple Macintosh durch Draggen der Maus. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeSelectHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeSelectHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ListBox::ChangeSelectHdl()

_______________


ListBox::DoubleClick()

virtual void ListBox::DoubleClick();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Benutzer einen Eintrag der ListBox über einen Doppelklick selektiert. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeDoubleClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeDoubleClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Wurde die ListBox mit dem Stylebit WB_DROPDOWN erzeugt, wird der Handler DoubleClick() nie gerufen.

Querverweise

ListBox::ChangeDoubleClickHdl()

_______________


ListBox::ListBox( Window* pParent, WinBits nWinStyle = WB_BORDER );
ListBox::ListBox()

ListBox::ListBox( Window* pParent, WinBits nWinStyle = WB_BORDER );

Beschreibung

Konstruktor der Klasse ListBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_BORDER

Die ListBox hat einen Rahmen.

WB_SORT

Die Einträge in der ListBox werden in aufsteigenden Reihenfolge (abhängig vom Basisfenstersystem) sortiert.

WB_DROPDOWN

Die ListBox ist eine aufkklappbare ListBox, das bedeutet: Erst wenn der Benutzer einen speziellen Button anklickt, der zur ListBox gehört, wird die ListBox aufgeklappt, und ihr Inhalt wird sichtbar. Im geschlossenen Zustand wird der aktuelle Eintrag der ListBox nur als FixedText angezeigt. Bei geöffneter ListBox befindet sich dieser FixedText oberhalb der aufgeklappten ListBox.

WB_AUTOSIZE

Die Größe der ListBox wird automatisch so gesetzt, daß immer ganze Zeilen in der ListBox angezeigt werden.

WB_HSCROLL

Der horizontale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein horizontales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

WB_VSCROLL

Der vertikale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein vertikales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

_______________


ListBox::ListBox( Window* pParent, const ResId& rResId )
ListBox::ListBox()

ListBox::ListBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse ListBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der ListBox in der Resource.

Querverweise

Resource

_______________


ListBox::~ListBox()

ListBox::~ListBox();

Beschreibung

Destruktor der Klasse ListBox.

_______________


ListBox::InsertEntry( const String& rString, USHORT nPos = LISTBOX_APPEND )
ListBox::InsertEntry()

void ListBox::InsertEntry( const String& rString, USHORT nPos = LISTBOX_APPEND );

Beschreibung

Die Methode fügt einen Eintrag in die ListBox ein. Der Parameter nPos gibt die Position in der Liste der Einträge an, an der der neue Eintrag eingefügt werden soll. Ist eine Sortierung innerhalb der ListBox aktiv, wird der Eintrag durch die ListBox an die richtige Position gebracht; der Parameter nPos wird in diesem Fall ignoriert.

Parameter

const String& rString	Der neue String.

USHORT nPos	Die Position des neuen Eintrags innerhalb der Liste der Einträge. Per Default ist dieser Parameter

LISTBOX_APPEND, d.h. der Eintrag wird am Ende der ListBox eingefügt.

Beispiel

void MyListBox::InsertStringAry( String aStrAry[], USHORT nStrCount)

{

if( nStrCount )

{

for( short n = 0; n < nStrCount; n++ )

InsertEntry( StrAry[n] );

}

}

_______________


ListBox::InsertEntry( const Bitmap& rBitmap,USHORT nPos = LISTBOX_APPEND )
ListBox::InsertEntry()

void ListBox::InsertEntry( const Bitmap& rBitmap,USHORT nPos = LISTBOX_APPEND );

Beschreibung

Die Methode fügt eine Bitmap als Eintrag in die ListBox ein. Der Parameter nPos gibt die Position in der Liste der Einträge an, an der der neue Eintrag eingefügt werden soll. Ist eine Sortierung innerhalb der ListBox aktiv, wird der Eintrag durch die ListBox an die richtige Position gebracht; der Parameter nPos wird in diesem Fall ignoriert.

Parameter

const Bitmap& rBitmap	Die neue Bitmap.

USHORT nPos	Die Position des neuen Eintrags innerhalb der Liste der Einträge. Per Default ist dieser Parameter

LISTBOX_APPEND, d.h. der Eintrag wird am Ende der ListBox eingefügt.

_______________


ListBox::InsertEntry( const String& rString, const Bitmap& rBitmap, USHORT nPos = LISTBOX_APPEND )
ListBox::InsertEntry()

void ListBox::InsertEntry( const String& rString, const Bitmap& rBitmap, USHORT nPos = LISTBOX_APPEND );

Beschreibung

Die Methode fügt einen Eintrag, bestehend aus einem String und einer Bitmap, in die ListBox ein. Der Parameter nPos gibt die Position in der Liste der Einträge an, an der der neue Eintrag eingefügt werden soll. Ist eine Sortierung innerhalb der ListBox aktiv, wird der Eintrag durch die ListBox an die richtige Position gebracht; der Parameter nPos wird in diesem Fall ignoriert.

Parameter

const String& rString	Der String.

const Bitmap& rBitmap	Die Bitmap.

USHORT nPos	Die Position des neuen Eintrags innerhalb der Liste der Einträge. Per Default ist dieser Parameter

LISTBOX_APPEND, d.h. der Eintrag wird am Ende der ListBox eingefügt.

_______________


ListBox::RemoveEntry( const String& rString )
ListBox::RemoveEntry()

void ListBox::RemoveEntry( const String& rString );

Beschreibung

Die Methode löscht einen Eintrag in einer ListBox. Beim Suchen des Eintrags wird ein Vergleich der Strings durchgeführt. Wird ein anderer Eintrag als der letzte gelöscht, werden die Positionen der verbleibenden Einträge entsprechend angepaßt. Falls dieser Eintrag in der ListBox nicht existiert, hat der Aufruf der Methode keine Auswirkungen.

Parameter

const String& rString	Der zu löschende Eintrag.

_______________


ListBox::RemoveEntry( USHORT nPos )
ListBox::RemoveEntry()

void ListBox::RemoveEntry( USHORT nPos );

Beschreibung

Die Methode löscht einen Eintrag in einer ListBox. Wird ein anderer Eintrag als der letzte gelöscht, werden die Positionen der verbleibenden Einträge entsprechend angepaßt. Falls dieser Eintrag in der ListBox nicht existiert, hat der Aufruf dieser Methode keine Auswirkungen.

Parameter

USHORT nPos	Die Position des zu löschenden Eintrags.

_______________


ListBox::Clear()

void ListBox::Clear();

Beschreibung

Die Methode löscht alle Einträge der ListBox.

_______________


ListBox::GetEntry( USHORT nPos )
ListBox::GetEntry()

String ListBox::GetEntry( USHORT nPos ) const;

Beschreibung

Die Methode gibt den String an der Position nPos zurück.

Parameter

USHORT nPos	Die Position des zu lesenden Eintrags.

Rückgabewert

String	Der String an der Position nPos oder ein leerer String, wenn die Position ungültig ist.

_______________


ListBox::GetEntryPos( const String& rString )
ListBox::GetEntryPos()

USHORT ListBox::GetEntryPos( const String& rString ) const;

Beschreibung

Die Methode liefert die Position des Strings in der Liste. Wird dieser String nicht in der Liste gefunden, liefert die Methode den Wert LISTBOX_ENTRY_NOTFOUND.

Parameter

const String& rString	Der zu suchende String.

Rückgabewert

USHORT	Der Index des Eintrags;

LISTBOX_ENTRY_NOTFOUND, wenn der Eintrag in der ListBox nicht existiert.

_______________


ListBox::GetEntryCount()

USHORT ListBox::GetEntryCount() const;

Beschreibung

Die Methode liefert die Anzahl der Einträge einer ListBox.

Rückgabewert

USHORT	Die Anzahl der Einträge der ListBox.

_______________


ListBox::SelectEntry( const String& rStr, BOOL bSelect = TRUE)
ListBox::SelectEntry()

void ListBox::SelectEntry( const String& rStr, BOOL bSelect = TRUE);

Beschreibung

Die Methode selektiert den angegebenen Texeintrag der ListBox bzw. hebt eine bestehende Selektion auf.

Parameter

const String& rStr	Der zu selektierende Texteintrag.

BOOL bSelect	TRUE

Der Eintrag soll selektiert werden.

FALSE

Die Selektion soll aufgehoben werden.

_______________


ListBox::SelectEntryPos( USHORT nPos, BOOL bSelect = TRUE)
ListBox::SelectEntryPos()

void ListBox::SelectEntryPos( USHORT nPos, BOOL bSelect = TRUE);

Beschreibung

Die Methode selektiert den angegebenen Eintrag der ListBox bzw. hebt eine bestehende Selektion auf.

Parameter

USHORT nPos	Die Position des zu selektierende Eintrags.

BOOL bSelect	TRUE

Der Eintrag soll selektiert werden.

FALSE

Die Selektion soll aufgehoben werden.

_______________


ListBox::GetSelectEntryCount()

USHORT ListBox::GetSelectEntryCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der selektierten Einträge.

Rückgabewert

USHORT	Die Anzahl der selektierten Einträge.

_______________


ListBox::GetSelectEntry( USHORT nSelIndex = 0 )
ListBox::GetSelectEntry()

String ListBox::GetSelectEntry( USHORT nSelIndex = 0 ) const;

Beschreibung

Die Methode ermittelt den Texteintrag mit der angegebenen Nummer.

Parameter

USHORT nSelIndex	Die Nummer des zu ermittelnden Texteintrags. Falls nichts angegeben wird, wird der erste Eintrag ermittelt. Der Höchstwert für nSelIndex ist GetSelectEntryCount() - 1.

Rückgabewert

String	Der Text des ermittelten Eintrags.

_______________


ListBox::GetSelectEntryPos( USHORT nSelIndex = 0 )
ListBox::GetSelectEntryPos()

USHORT ListBox::GetSelectEntryPos( USHORT nSelIndex = 0 ) const;

Beschreibung

Die Methode ermittelt die ListBox-Position des Eintrags mit der angegebenen Nummer.

Parameter

USHORT nSelIndex	Die Nummer des zu ermittelnden Eintrags. Falls nichts angegeben wird, wird der erste Eintrag ermittelt. Der Höchstwert für nSelIndex ist GetSelectEntryCount() - 1.

Rückgabewert

USHORT	Die ListBox-Position des ermittelten Eintrags.

_______________


ListBox::IsEntrySelected( const String& rStr )
ListBox::IsEntrySelected()

BOOL ListBox::IsEntrySelected( const String& rStr ) const;

Beschreibung

Die Methode ermittelt, ob der angegebene Texteintrag selektiert ist.

Parameter

const String& rStr	Der zu überprüfende Texteintrag.

Rückgabewert

BOOL	TRUE

Der Texteintrag ist selektiert.

FALSE

Der Texteintrag ist nicht selektiert.

_______________


ListBox::IsEntryPosSelected( USHORT nPos )
ListBox::IsEntryPosSelected()

BOOL ListBox::IsEntryPosSelected( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt, ob der Eintrag an der angegebenen Position selektiert ist.

Parameter

USHORT nPos	Die ListBox-Position des zu überprüfende Eintrags.

Rückgabewert

BOOL	TRUE

Der Eintrag ist selektiert.

FALSE

Der Eintrag ist nicht selektiert.

_______________


ListBox::SetNoSelection()

void ListBox::SetNoSelection();

Beschreibung

Die Methode hebt alle bestehenden Selektionen auf.

_______________


ListBox::ChangeSelectHdl( const Link& rLink )
ListBox::ChangeSelectHdl()

Link ListBox::ChangeSelectHdl( const Link& rLink );

Beschreibung

Die Methode setzt den Handler, der gerufen wird, wenn der Benutzer einen Eintrag der ListBox selektiert hat. Die Interaktionstechnik hierfür ist die des jeweiligen Basisfenstersystems.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer ein Element in der ListBox selektiert. Als Parameter erhält der Handler einen Zeiger auf die ListBox.

Prototyp des Handlers:

void MyClass::Select( ListBox* pListBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ListBox::Select()

_______________


ListBox::GetSelectHdl()

Link ListBox::GetSelectHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Benutzer ein Element in der ListBox selektiert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


ListBox::ChangeDoubleClickHdl( const Link& rLink )
ListBox::ChangeDoubleClickHdl()

Link ListBox::ChangeDoubleClickHdl( const Link& rLink );

Beschreibung

Die Methode setzt den Handler, der gerufen wird, wenn der Benutzer einen Eintrag der ListBox über einen Doppelklick selektiert hat.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer ein Element in der ListBox aktiviert. Als Parameter erhält der Handler einen Zeiger auf die ListBox.

Prototyp des Handlers:

void MyClass::DoubleClick( ListBox* pListBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link,ListBox::DoubleClick()

_______________


ListBox::GetDoubleClickHdl()

Link ListBox::GetDoubleClickHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der Benutzer ein Element in der ListBox über einen Doppelklick selektiert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


MapMode

enum MapUnit	{ MAP_100TH_MM, MAP_10TH_MM, MAP_MM, MAP_CM, MAP_1000TH_INCH, MAP_100TH_INCH, MAP_10TH_INCH, MAP_INCH, MAP_POINT, MAP_TWIP, MAP_PIXEL, MAP_SYSFONT, MAP_APPFONT };

class MapMode : public Resource

{

public:

MapMode();

MapMode( const MapMode& rMapMode );

MapMode( MapUnit eUnit );

MapMode( MapUnit eUnit, const Point& rLogicOrg, const Fraction& rScaleX, const Fraction& rScaleY );

MapMode( const ResId& rResId );

~MapMode();

MapUnit	ChangeMapUnit( MapUnit eUnit );

MapUnit	GetMapUnit() const;

Point	ChangeOrigin( const Point& rLogicOrg );

Point	GetOrigin() const;

Fraction	ChangeScaleX( const Fraction& rScaleX );

Fraction	GetScaleX() const;

Fraction	ChangeScaleY( const Fraction& rScaleY );

Fraction	GetScaleY() const;

MapMode&	operator =( const MapMode& rMapMode );

BOOL	operator ==( const MapMode& rMapMode ) const;

BOOL	operator !=( const MapMode& rMapMode ) const;

};

Beschreibung

Die Klasse MapMode stellt eine komplette Transformationsvorschrift zur Umrechnung von logischen Koordinaten zu Device-Koordinaten und umgekehrt zur Verfügung.

Dabei wird eine vordefinierte Einheit (MapUnit) verwendet, die durch Angabe von Skalierungsfaktoren verändert werden kann. Auf diese Weise können neue Einheiten erzeugt werden (Beispiel: MAP_MM mit Skalierungsfaktor Fraction( 10, 1 ) in X-Richtung und in Y-Richtung ergibt die neue Einheit Zentimeter). Durch Angabe eines neuen Ursprungs (Origin) kann das logische Koordinatensystem gegenüber dem Device-Koordinatensystem verschoben werden.

Der Nullpunkt des logischen Koordinatensystems ist oben links. Die Werte der Koordinatenachsen sind als Voreinstellung steigend nach rechts und unten.

Durch Angabe von negativen Skalierungsfaktoren kann die Orientierung der Koordinatenachsen für die X-Richtung und die Y-Richtung getrennt geändert werden.

Basisklassen

Resource : LinkHdl

Querverweise

OutputDevice

_______________


enum MapUnit

enum MapUnit	{ MAP_100TH_MM, MAP_10TH_MM, MAP_MM, MAP_CM, MAP_1000TH_INCH, MAP_100TH_INCH, MAP_10TH_INCH, MAP_INCH, MAP_POINT, MAP_TWIP, MAP_PIXEL, MAP_SYSFONT, MAP_APPFONT };

Beschreibung

Die Werte des enum MapUnit bilden die Grundeinheiten der MapModes.

MAP_100TH_MM	Diese Grundeinheit ist 1/100mm.

MAP_10TH_MM	Diese Grundeinheit ist 1/10mm.

MAP_MM	Diese Grundeinheit ist 1 mm.

MAP_CM	Diese Grundeinheit ist 1 cm.

MAP_1000TH_INCH	Diese Grundeinheit ist 1/1000inch.

MAP_100TH_INCH	Diese Grundeinheit ist 1/100inch.

MAP_10TH_INCH	Diese Grundeinheit ist 1/10inch.

MAP_INCH	Diese Grundeinheit ist 1 inch.

MAP_POINT	Diese Grundeinheit ist 1 Punkt (1/72inch).

MAP_TWIP	Diese Grundeinheit ist 1 Twips (1/1440inch oder

1/72Punkt).

MAP_PIXEL	Diese Grundeinheit ist 1 Device-Pixel.

MAP_SYSFONT	Diese Grundeinheit ist 1/4 der Größe des Systemfonts in horizontaler Richtung und 1/8 der Größe des Systemfonts in vertikaler Richtung. Sie wird hauptsächlich in Resourcen verwendet, um eine systemunabhängige Größenangabe zu ermöglichen. Diese Einheit sollte nur für die Positionierung von Fenstern verwendet werden, da diese Einheit bildschirmorientiert ist.

MAP_APPFONT	Diese Grundeinheit ist 1/4 der Größe des Applikationsfonts in horizontaler Richtung und 1/8 der Größe des Applikationsfonts in vertikaler Richtung. Sie wird hauptsächlich in Resourcen verwendet, um eine systemunabhängige Größenangabe zu ermöglichen. Diese Einheit sollte nur für die Positionierung von Fenstern verwendet werden, da diese Einheit bildschirmorientiert ist.

_______________


MapMode::MapMode()

MapMode::MapMode();

Beschreibung

Default-Konstruktor der Klasse MapMode. Es wird die Einheit MAP_PIXEL, eine Skalierung von 1:1 und kein Offset eingestellt.

_______________


MapMode::MapMode( const MapMode& rMapMode )
MapMode::MapMode()

MapMode::MapMode( const MapMode& rMapMode );

Beschreibung

Copy-Konstruktor der Klasse MapMode.

Parameter

const MapMode& rMapMode	Referenz auf einen MapMode.

_______________


MapMode::MapMode( MapUnit eUnit )
MapMode::MapMode()

MapMode::MapMode( MapUnit eUnit );

Beschreibung

Die Methode erzeugt einen MapMode in der angegebenen Einheit. Es wird eine Skalierung von 1:1 und kein Offset angenommen.

Parameter

MapUnit eUnit	Eine der in enum MapUnit vordefinierten Einheiten.

Querverweise

MapUnit

_______________


MapMode::MapMode()

MapMode::MapMode( MapUnit eUnit, const Point& rLogicOrg, const Fraction& rScaleX, const Fraction& rScaleY );

Beschreibung

Mit Hilfe dieses Konstruktors wird ein MapMode unter Verwendung der übergebenen Parameter erzeugt.

Parameter

MapUnit eUnit	Eine der in enum MapUnit vordefinierten Einheiten.

const Point& rLogicOrg	Der Offset des logischen Koordinatenursprungs in logischen Koordinaten. Der Wert für rLogicOrg bezeichnet den neuen Ursprung des logischen Koordinatensystems.

const Fraction& rScaleX	Ein Skalierungsfaktor für Koordinatenangaben in X-Richtung. Ein negativer Wert dreht die Orientierung der X-Achse.

const Fraction& rScaleY	Ein Skalierungsfaktor für Koordinatenangaben in Y-Richtung. Ein negativer Wert dreht die Orientierung der Y-Achse.

Querverweise

MapUnit, Fraction

_______________


MapMode::MapMode( const ResId& rResId )
MapMode::MapMode()

MapMode::MapMode( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse MapMode.

Parameter

const ResId& rResId	Die Resource-ID des MapModes.

Querverweise

Resource

_______________


MapMode::~MapMode()

MapMode::~MapMode();

Beschreibung

Destruktor der Klasse MapMode.

_______________


MapUnit MapMode::ChangeMapUnit( MapUnit eUnit )
MapMode::ChangeMapUnit()

MapUnit MapMode::ChangeMapUnit( MapUnit eUnit );

Beschreibung

Die Methode ändert die Einheit des MapModes und gibt die zuvor eingestellte Einheit zurück.

Parameter

MapUnit eUnit	Die neue Einheit des MapModes. Es kann eine der im enum MapUnit vordefinierten Einheiten übergeben werden.

Rückgabewert

MapUnit	Die bisher im MapMode eingestellte Einheit. Es wird eine der im enum MapUnit vordefinierten Einheiten zurückgegeben.

Querverweise

MapUnit

_______________


MapMode::GetMapUnit()

MapUnit MapMode::GetMapUnit() const;

Beschreibung

Die Methode gibt die im MapMode eingestellte Einheit zurück.

Rückgabewert

MapUnit	Die im MapMode eingestellte Einheit. Es wird eine der im enum MapUnit vordefinierten Einheiten zurückgegeben.

_______________


MapMode::ChangeOrigin( const Point& rLogicOrg )
MapMode::ChangeOrigin()

Point MapMode::ChangeOrigin( const Point& rLogicOrg );

Beschreibung

Die Methode ändert den im MapMode gesetzten Ursprung und gibt den zuvor eingestellten Ursprung zurück.

Parameter

const Point& rLogicOrg	Der neue Ursprung in logischen Koordinaten. Der Wert für rLogicOrg bezeichnet den neuen Ursprung des logischen Koordinatensystems.

Rückgabewert

Point	Der bisher im MapMode gesetzte Ursprung.

_______________


MapMode::GetOrigin()

Point MapMode::GetOrigin() const;

Beschreibung

Es wird der im MapMode gesetzte Ursprung zurückgegeben.

Rückgabewert

Point	Der im MapMode gesetzte Ursprung in logischen Koordinaten.

_______________


MapMode::ChangeScaleX( const Fraction& rScaleX )
MapMode::ChangeScaleX()

Fraction MapMode::ChangeScaleX( const Fraction& rScaleX );

Beschreibung

Die Methode ändert den im MapMode gesetzten Skalierungsfaktor für die X-Achse und gibt den bisher gesetzten Skalierungsfaktor zurück. Durch Angabe eines negativen Wertes kann die Orientierung der X-Achse gedreht werden.

Parameter

const Fraction& rScaleX	Der neue Skalierungsfaktor für die X-Achse.

Rückgabewert

Fraction	Der bisher im MapMode gesetzte Skalierungsfaktor für die X-Achse.

Querverweise

Fraction

_______________


MapMode::ChangeScaleX( const Fraction& rScaleX )
MapMode::GetScaleX()

Fraction MapMode::ChangeScaleX( const Fraction& rScaleX );

Beschreibung

Es wird der eingestellte Skalierungsfaktor für die X-Achse zurückgegeben.

Rückgabewert

Fraction	Der im MapMode gesetzte Skalierungsfaktor für die X-Achse.

Querverweise

Fraction

_______________


MapMode::ChangeScaleY( const Fraction& rScaleY )
MapMode::ChangeScaleY()

Fraction MapMode::ChangeScaleY( const Fraction& rScaleY );

Beschreibung

Die Methode ändert den im MapMode gesetzten Skalierungsfaktor für die Y-Achse und gibt den bisher gesetzten Skalierungsfaktor zurück. Durch Angabe eines negativen Wertes kann die Orientierung der Y-Achse gedreht werden.

Parameter

const Fraction& rScaleY	Der neue Skalierungsfaktor für die Y-Achse.

Rückgabewert

Fraction	Der bisher im MapMode gesetzte Skalierungsfaktor für die Y-Achse.

Querverweise

Fraction

_______________


MapMode::GetScaleY()

Fraction MapMode::GetScaleY() const;

Beschreibung

Es wird der eingestellte Skalierungsfaktor für die Y-Achse zurückgegeben.

Rückgabewert

Fraction	Der im MapMode gesetzte Skalierungsfaktor für die Y-Achse.

Querverweise

Fraction

_______________


MapMode::operator =( const MapMode& rMapMode )
MapMode::operator =()

MapMode& MapMode::operator =( const MapMode& rMapMode );

Beschreibung

Zuweisungsoperator der Klasse MapMode.

Parameter

const MapMode& rMapMode	Referenz auf einen MapMode.

Rückgabewert

MapMode&	Referenz auf das Ergebnis der Zuweisung.

_______________


MapMode::operator ==( const MapMode& rMapMode )
MapMode::operator ==()

BOOL MapMode::operator ==( const MapMode& rMapMode ) const;

Beschreibung

Vergleichsoperator der Klasse MapMode.

Parameter

const MapMode& rMapMode	Referenz auf einen MapMode.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen MapModes sind identisch.

FALSE

Die Eigenschaften der verglichenen MapModes sind unterschiedlich.

_______________


MapMode::operator !=( const MapMode& rMapMode )
MapMode::operator !=()

BOOL MapMode::operator !=( const MapMode& rMapMode ) const;

Beschreibung

Vergleichsoperator der Klasse MapMode.

Parameter

const MapMode& rMapMode	Referenz auf einen MapMode.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen MapModes sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen MapModes sind identisch.

_______________


MDIApplication

class MDIApplication : public Application

{

public:

MDIApplication();

~MDIApplication();

virtual void	Main( int nArgc, char* pArgv[] ) = 0;

void	Tile();

void	Horizontal();

void	Vertical();

void	Cascade();

void	Arrange();

BOOL	CloseAll();

MDIWindow*	ChangeActiveWindow( MDIWindow* pWindow );

MDIWindow*	ActivateNextWindow();

MDIWindow*	GetActiveWindow() const;

USHORT	GetWindowCount() const;

USHORT	GetVisibleWindowCount() const;

PopupMenu*	ChangeMDIMenu(PopupMenu* pNewMenu );

PopupMenu*	GetMDIMenu() const;

};

Beschreibung

Diese Klasse ist die Basisklasse aller MDI-Applikationen. Im Unterschied zur Klasse Application kann die Klasse MDIApplication mehrere MDI-Fenster verwalten. Es stehen Methoden zur Verfügung, mit denen MDI-Fenster gegeneinander ausgerichtet, aktiviert und geschlossen werden können. Außerdem kann ein PopupMenu als MDI-Menu deklariert werden, in das die Titel der MDI-Fenster automatisch eingetragen werden. Beim Selektieren eines MDI-Fensters in diesem Menu wird das Fenster automatisch aktiviert. Fenster, die von der MDI-Applikation verwaltet werden sollen, müssen Objekte der Klasse MDIWindow oder davon abgeleiteter Klassen sein. Die Applikation muß vor dem Erzeugen eines MDI-Fensters das Applikationsfenster erzeugt haben.

Was ist MDI ?

MDI heißt Multiple-Document-Interface und ist ein Standard-Interface nach IBM (SAA/CUA). Zur Bearbeitung mehrerer Dokumente muß hier die Applikation nicht mehrfach gestartet werden. Jedes Dokument wird in einem eigenen Fenster (MDI-Fenster) dargestellt. Die Verwaltung der MDI-Windows erfolgt durch die MDI-Applikation.

Anmerkungen

Beim Anlegen von Childfenstern auf dem MDI-Applikationsfenster müssen folgende Punkte beachtet werden:

-	Childfenster müssen immer am Rand des Applikationsfensters liegen.

-	Childfenster müssen die Breite oder Höhe des Applikationsfensters ausfüllen.


Richtig:

Falsch:

Weiterhin ist zu beachten:

-	Eine MDI-Applikation sollte einen MenuBar haben.

-	In den Handlern Move() und Resize() sollte die Fenstergröße der MDI-Fenster und des Applikationsfensters nicht verändert werden.

-	Auf Ausgabeoperationen im Applikationsfenster muß verzichtet werden.

Basisklassen

Application : LinkHdl

Beispiel

class DocWindow : public MDIWindow

{

public:

DocWindow() :

   MDIWindow( pApp->GetAppWindow(),

              WinBits( WB_STDMDI ) )

{

    SetText( "NONAME" );

}

virtual BOOL	Close()

{

    delete this;

    return TRUE;

}

};

class MyApp : public MDIApplication

{

public:

virtual void	Main( int argc, char* argv[] );

long	MenuSelect( Menu* pMenu );

};

void MyApp::Main( int argc, char* argv[] )

{

MenuBar    aMB;

PopupMenu  aPM;

WorkWindow aWin( NULL, WinBits( WB_STDWORK | WB_APP ) );

DocWindow* pDocWin;

aPM.InsertItem( MID_TILE, "Tile" );

aPM.InsertItem( MID_CASCADE, "Cascade" );

aPM.InsertItem( MID_ARANGE, "Arrange Icons" );

aPM.InsertItem( MID_CLOSEALL, "Close All" );

aPM.PushSelectHdl( LINK( this, MyApp::MenuSelect ));

aMB.InsertItem( MID_WINDOW, "Window" );

aMB.ChangePopupMenu( &aPM );

ChangeAppMenu( &aMB );

ChangeMDIMenu( &aPM );// PopupMenu, in das die MDI-Fenster

                      // eingetragen werden.

// Neues MDI-Fenster anlegen

// (verwaltet die MDI-Applikation).

pDocWin = new DocWindow;

pDocWin->Show();

aWin.Show();

Execute();

}

long MyApp::MenuSelect( Menu* pMenu )

{

switch( pMenu->GetCurItemId() )

{

case MID_TILE:

Tile();

break;

case MID_CASCADE:

Cascade();

break;

case MID_ARANGE:

Arrange();

break;

case MID_CLOSEALL:

CloseAll();

break;

}

return TRUE;

}

Querverweise

MDIWindow

_______________


MDIApplication::MDIApplication()

MDIApplication::MDIApplication();

Beschreibung

Konstruktor der Klasse MDIApplication. Von der Klasse MDIApplication werden keine Instanzen erzeugt. Eine Applikation muß eine Ableitung dieser Klasse erzeugen. Im Konstruktor der Klasse MDIApplication wird die globale Variable pApp mit der Adresse der neu erzeugten Instanz initialisiert. Es darf innerhalb einer Applikation nur genau eine Instanz der von MDIApplication abgeleiteten Klasse erzeugt werden.

_______________


MDIApplication::~MDIApplication()

MDIApplication::~MDIApplication();

Beschreibung

Destruktor der Klasse MDIApplication.

_______________


MDIApplication::Main( int nArgc, char* pArgv[]) = 0
MDIApplication::Main()

virtual void MDIApplication::Main( int nArgc, char* pArgv[]) = 0;

Beschreibung

Diese Methode wird nach dem Programmstart durch StarView gerufen, falls eine MDIApplication erzeugt wurde. Die Anwendung hat hier die Möglichkeit, die Anwendungsdaten zu initialisieren, die Event-Loop zu starten und am Programmende die Daten wieder freizugeben. Alle in dieser Methode erzeugten dynamischen Objekte sind für die gesamte Laufzeit der MDIApplication vorhanden. Als Parameter werden die Parameter der Aufrufzeile übergeben. Die Übergabekonventionen entsprechen denen eines normalen C-Programms. Da es sich bei dieser Methode um eine rein virtuelle Methode handelt, muß sie in einer von MDIApplication abgeleiteten Klasse überladen werden.

Erst nachdem Main() aufgerufen wurde, dürfen Instanzen von StarView-Klassen angelegt werden. Nachdem Main() beendet wurde, dürfen keine Instanzen von StarView-Klassen mehr angelegt werden. Ob man sich innerhalb dieser Methode befindet, kann mit Application::IsInMain() abgefragt werden.

Nach der Initialisierung muß die Methode Application::Execute() aufgerufen werden, um die Event-Verarbeitung für die Applikation zu starten.

Parameter

int nArgc	Die Anzahl der Parameter in der Aufrufzeile (einschließlich des Programmnamens).

char* pArgv[]	Array von Zeigern auf die Parameter. Die Parameter liegen als null-terminierte Zeichenketten vor.

Querverweise

Application::Execute(), Application::IsInMain()

_______________


MDIApplication::Tile()

void MDIApplication::Tile();

Beschreibung

Diese Methode richtet alle nicht minimierten MDI-Fenster optimal nebeneinander und untereinander aus (Kachelform). Die Art der Anordnung hängt dabei von der Anzahl der auszurichtenden Fenster ab.

_______________


MDIApplication::Horizontal()

void MDIApplication::Horizontal();

Beschreibung

Diese Methode richtet alle nicht minimierten MDI-Fenster untereinander aus.

_______________


MDIApplication::Vertical()

void MDIApplication::Vertical();

Beschreibung

Diese Methode richtet alle nicht minimierten MDI-Fenster nebeneinander aus.

_______________


MDIApplication::Cascade()

void MDIApplication::Cascade();

Beschreibung

Diese Methode richtet alle nicht minimierten MDI-Fenster überlappend aus (Stapelform).

_______________


MDIApplication::Arrange()

void MDIApplication::Arrange();

Beschreibung

Diese Methode richtet alle minimierten MDI-Fenster nebeneinander aus.

_______________


MDIApplication::CloseAll()

BOOL MDIApplication::CloseAll();

Beschreibung

Diese Methode ruft von allen MDI-Fenstern mit dem Stylebit WB_CLOSEABLE die Methode SystemWindow::Close() auf. Die Methode CloseAll() wird abgebrochen, sobald ein Close-Handler FALSE zurückliefert.

Rückgabewert

BOOL	TRUE

Es wurden alle schließbaren Fenster (WB_CLOSEABLE) geschlossen.

FALSE

Es wurden nicht alle Fenster geschlossen, die schließbar sind.

Anmerkungen

Bei Fenstern mit nicht gesetztem Stylebit WB_CLOSEABLE wird auch der Close-Handler nicht gerufen.

_______________


MDIApplication::ChangeActiveWindow( MDIWindow* pWindow )
MDIApplication::ChangeActiveWindow()

MDIWindow* MDIApplication::ChangeActiveWindow( MDIWindow* pWindow );

Beschreibung

Diese Methode aktiviert ein neues MDI-Fenster und liefert einen Zeiger auf das zuletzt aktive MDI-Fenster zurück.

Parameter

MDIWindow* pWindow	Der Zeiger auf das MDI-Fenster, das aktiviert werden soll.

Rückgabewert

MDIWindow*	Das bisher aktive MDI-Fenster.

Anmerkungen

Es ist nicht erlaubt, der Methode ChangeActiveWindow() NULL zu übergeben, da immer ein MDI-Window aktiv sein muß.

_______________


MDIApplication::ActivateNextWindow()

MDIWindow* MDIApplication::ActivateNextWindow();

Beschreibung

Diese Methode aktiviert das nächste MDI-Fenster und liefert einen Zeiger auf das neue aktive MDI-Fenster zurück.

Rückgabewert

MDIWindow*	Das aktuelle MDI-Fenster oder NULL, wenn kein MDI-Fenster existiert. In dem Fall hat der Aufruf der Methode keine Wirkung.

_______________


MDIApplication::GetActiveWindow()

MDIWindow* MDIApplication::GetActiveWindow() const;

Beschreibung

Diese Methode liefert einen Zeiger auf das aktive MDI-Fenster zurück.

Rückgabewert

MDIWindow*	Der Zeiger auf das aktive MDI-Fenster oder NULL, wenn kein MDI-Fenster existiert.

_______________


MDIApplication::GetWindowCount()

USHORT MDIApplication::GetWindowCount() const;

Beschreibung

Diese Methode liefert die Anzahl der MDI-Fenster zurück. Dabei werden sowohl sichtbare als auch unsichtbare Fenster berücksichtigt.

Rückgabewert

USHORT	Die Anzahl der MDI-Fenster.

Querverweise

MDIApplication::GetVisibleWindowCount()

_______________


MDIApplication::GetVisibleWindowCount()

USHORT MDIApplication::GetVisibleWindowCount() const;

Beschreibung

Diese Methode liefert die Anzahl der sichtbaren MDI-Fenster zurück.

Rückgabewert

USHORT	Die Anzahl der sichtbaren MDI-Fenster.

Querverweise

MDIApplication::GetWindowCount()

_______________


MDIApplication::ChangeMDIMenu( PopupMenu* pNewMenu )
MDIApplication::ChangeMDIMenu()

PopupMenu* MDIApplication::ChangeMDIMenu( PopupMenu* pNewMenu );

Beschreibung

Mit dieser Methode kann der MDI-Applikation ein PopupMenu zugeordnet werden, in das die Titel aller MDI-Fenster automatisch eingetragen werden. Dieses Menu dient dem schnellen Auswählen eines MDI-Fensters. Das Eintragen und Aktivieren der MDI-Fenster erledigt die MDI-Applikation automatisch. Auf die Einträge kann nicht mit Hilfe der Methoden der Klasse Menu zugegriffen werden. Das MDI-Menu muß vor dem Erzeugen des ersten MDI-Fensters zugeordnet werden.

Die Applikation verwaltet lediglich einen Zeiger auf das Menu. Es liegt in der Verantwortung der Applikation, die Gültigkeit des übergebenen Zeigers zu gewährleisten. Das Menu darf nicht zerstört werden, solange es als MDI-Menu selektiert ist.

Parameter

PopupMenu* pNewMenu	Der Zeiger auf das PopupMenu, in das die Titel der MDI-Fenster eingetragen werden sollen. Wird NULL übergeben, wird kein MDI-Menu verwaltet.

Rückgabewert

PopupMenu*	Der Zeiger auf das PopupMenu, in das vorher die MDI-Fenster eingetragen wurden. Wird NULL zurückgegeben, war kein PopupMenu als MDI-Menu aktiv.

Querverweise

PopupMenu

_______________


MDIApplication::GetMDIMenu()

PopupMenu* MDIApplication::GetMDIMenu() const;

Beschreibung

Diese Methode gibt einen Zeiger auf das PopupMenu zurück, in das die MDI-Fenster eingetragen werden.

Rückgabewert

PopupMenu*	Der Zeiger auf das PopupMenu, welches der MDI-Applikation zugeordnet ist. Ist kein PopupMenu zugeordnet, wird NULL zurückgegeben.

Querverweise

PopupMenu

_______________


MDIWindow

class MDIWindow : public WorkWindow

{

public:

MDIWindow( WorkWindow* pParent, WinBits nWinStyle = WB_STDMDI );

MDIWindow( WorkWindow* pParent, const ResId& rResId );

virtual	~MDIWindow();

BOOL	IsMDIActivate();

};

Beschreibung

Diese Klasse erzeugt ein MDI-Fenster, das von der MDI-Applikation verwaltet wird. Eine Instanz dieser Klasse kann nur erzeugt werden, wenn eine Instanz der Klasse MDIApplication oder davon abgeleiteter Klassen erzeugt wurde. Besonderheiten des Basisfenstersystems werden unterstützt, wie z.B. das Einhängen des System-Menus des MDI-Fensters in den MenuBar, wenn das Fenster maximiert ist. MDI-Fenster werden immer relativ zur oberen linken Ecke des Applikationsfenster-Ausgabebereichs positioniert. Sind am oberen und/oder linken Rand dieses Ausgabebereichs Childfenster positioniert, so werden die MDI-Fenster relativ zur oberen linken Ecke des verbleibenden Raums im Applikationsfenster positioniert. Dadurch werden die MDI-Fenster automatisch neu positioniert, wenn im Applikationsfenster neue Childfenster angezeigt werden.

Anmerkungen

Eine Instanz dieser Klasse kann nur erzeugt werden, wenn es sich bei der Applikation um eine MDI-Applikation handelt.

Basisklassen

WorkWindow : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

MDIApplication

_______________


MDIWindow::MDIWindow()

MDIWindow::MDIWindow( WorkWindow* pParent, WinBits nWinStyle = WB_STDMDI );

Beschreibung

Konstruktor der Klasse MDIWindow. Als Parent muß ein Zeiger auf das Applikationsfenster übergeben werden. Über diesen Konstruktor kann das Fenster mit vorgegebenen Stylebits erzeugt werden. Bevor ein MDI-Fenster erzeugt werden kann, muß das Applikationsfenster erzeugt worden sein.

Die Applikation hat dafür Sorge zu tragen, daß auf abhängige Fenster nach der Zerstörung des Parents nicht mehr zugegriffen wird.

Parameter

WorkWindow* pParent	Der Parent des Fensters (das Applikationsfenster).

WinBits nWinStyle	Der Parameter enthält die Bits für die Funktionalität des MDI-Windows. Folgendes sind erlaubte Werte:

WB_CLOSEABLE

Das Fenster kann geschlossen werden.

WB_STDMDI

Das Fenster ist schließbar.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_SVLOOK

Das Fenster und dessen Child-Fenster erscheinen im StarView-Look.

Anmerkungen

Alle anderen Eigenschaften des Fensters, wie Verschiebbarkeit, Maximierbarkeit usw., werden durch das Fenstersystem vorgegeben. In der Regel lassen sich die Fenster in der Größe ändern und verschieben.

Querverweise

Application::EnableSVLook()

_______________


MDIWindow::MDIWindow( WorkWindow* pParent, const ResId& rResId );
MDIWindow::MDIWindow()

MDIWindow::MDIWindow( WorkWindow* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse MDIWindow.

Parameter

WorkWindow* pParent	Der Parent des Fensters (das Applikationsfenster).

const ResId& rResId	Die ID des Fensters in der Resource.

Querverweise

Resource

_______________


MDIWindow::~MDIWindow()

virtual MDIWindow::~MDIWindow();

Beschreibung

Destruktor der Klasse MDIWindow.

_______________


MDIWindow::IsMDIActivate()

BOOL MDIWindow::IsMDIActivate();

Beschreibung

Über diese Methode kann im Activate-Handler und im Deactivate-Handler abgefragt werden, ob der Aktivierungszustand zwischen zwei MDI-Fenstern derselben Applikation gewechselt hat. Diese Methode ist z.B. dafür gedacht, bei mehreren MDI-Fenstern mit unterschiedlichem Menu nur dann das Menu umzuschalten, wenn ein anderes MDI-Fenster aktiv wird.

Rückgabewert

BOOL	TRUE

Der Aktivierungsstatus wurde zwischen zwei MDI-Fenstern derselben Applikation gewechselt.

FALSE

Der Aktivierungsstatus wechselte zwischen einem MDI-Fenster und einem anderen Fenster oder zwischen zwei unterschiedlichen Applikationen.

Querverweise

SystemWindow::Activate(), SystemWindow::Deactivate(), MDIApplication::ChangeActiveWindow(), MDIApplication::ActivateNextWindow()

_______________


MemoryBlock

class MemoryBlock

{

public:

MemoryBlock();

MemoryBlock( const MemoryBlock& rBlock );

~MemoryBlock();

long	Len() const;

BOOL	Error() const;

int	good() const;

int	bad() const;

int	operator ! () const;

long	Put( const void* pAddr, long nSize );

long	Get( void* pAddr, long nSize );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, char& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, BYTE& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, short& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, USHORT& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, long& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, ULONG& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, Point& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, Size& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, Range& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, Selection& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, Rectangle& rValue );

friend MemoryBlock&	operator >> ( MemoryBlock& rBlock, String& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const char& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const BYTE& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const short& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const USHORT& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const long& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const ULONG& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const Point& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const Size& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const Range& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const Selection& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const Rectangle& rValue );

friend MemoryBlock&	operator << ( MemoryBlock& rBlock, const String& rValue );

friend ostream&	operator << ( ostream& rStream, MemoryBlock& rBlock );

friend istream&	operator >> ( istream& rStream, MemoryBlock& rBlock );

MemoryBlock&	operator= ( const MemoryBlock& rBlock );

};

Beschreibung

Diese Klasse dient als portables Interface zum Abspeichern der Daten von StarObjects. Sie bietet ein Stream-ähnliches Interface zum Übertragen von Standard-Datentypen wie short oder float. Intern wird dabei für die korrekte Konvertierung zwischen dem INTEL-Format, in dem die Daten abgelegt werden, und dem Format des aktuellen Systems gesorgt.

Diese Klasse wurde aus zwei Gründen eingeführt. Neben den obengenannten Portabilitäts-Argumenten ist es der Grund, Speicher zu sparen. Die Objektdaten müssen in einem einzigen, für die Verarbeitung durch das System geeigneten Block vorliegen; er kann also z.B. nicht durch new angelegt werden. Wenn die Verwaltung dieses Blocks intern vom System selbst durchgeführt wird, ist immer gewährleistet, daß der Block auch vom System verarbeitbar ist, ohne daß er noch einmal kopiert werden muß.

Querverweise

StarObject, StarObjectServer

_______________


MemoryBlock::MemoryBlock()

MemoryBlock::MemoryBlock();

Beschreibung

Konstruktor der Klasse MemoryBlock. Es wird ein leeres Objekt angelegt.

_______________


MemoryBlock::MemoryBlock( const MemoryBlock& rBlock )
MemoryBlock::MemoryBlock()

MemoryBlock::MemoryBlock( const MemoryBlock& rBlock );

Beschreibung

Copy-Konstruktor der Klasse MemoryBlock.

Parameter

const MemoryBlock& rBlock	Der zu kopierende MemoryBlock.

_______________


MemoryBlock::~MemoryBlock()

MemoryBlock::~MemoryBlock();

Beschreibung

Destruktor der Klasse MemoryBlock.

_______________


MemoryBlock::Len()

long MemoryBlock::Len() const;

Beschreibung

Die Methode ermittelt die aktuelle Länge des MemoryBlocks.

Rückgabewert

long	Die Länge des MemoryBlocks.

_______________


MemoryBlock::Error()

BOOL MemoryBlock::Error() const;

Beschreibung

Falls bei der Erweiterung des Speicherblocks beim Schreiben von Daten ein Fehler auftrat, wird intern ein Fehlerflag gesetzt. Danach sind keine Operationen mit dem Speicherblock mehr möglich. Der Callback StarObjectServer::TransmitData(), innerhalb dem der Server eine Instanz der Klasse MemoryBlock mit Daten füllt, liefert ebenfalls FALSE an den Client zurück, wenn nach Rückkehr aus dem Callback das Fehlerflag des Datenblocks gesetzt ist.

Rückgabewert

BOOL	TRUE

Es ist kein Fehler aufgetreten.

FALSE

Es ist ein Fehler aufgetreten.

_______________


MemoryBlock::good() const
MemoryBlock::good()

int MemoryBlock::good() const;

Beschreibung

Diese Stream-ähnliche Methode liefert 1 zurück, wenn kein Fehler auftrat, sonst 0.

Rückgabewert

int	0

Es ist ein Fehler aufgetreten.

1

Es ist kein Fehler aufgetreten.

_______________


MemoryBlock::bad()

int MemoryBlock::bad() const;

Beschreibung

Diese Stream-ähnliche Methode liefert 1 zurück, wenn ein Fehler auftrat, sonst 0.

Rückgabewert

int	0

Es ist kein Fehler aufgetreten.

1

Es ist ein Fehler aufgetreten.

_______________


MemoryBlock::operator ! ()

int MemoryBlock::operator ! () const;

Beschreibung

Diese Stream-ähnliche Methode liefert 1 zurück, wenn ein Fehler auftrat, sonst 0.

Rückgabewert

int	0

Es ist kein Fehler aufgetreten.

1

Es ist ein Fehler aufgetreten.

_______________


MemoryBlock:: Put( const void* pAddr, long nSize )
MemoryBlock::Put()

long MemoryBlock:: Put( const void* pAddr, long nSize );

Beschreibung

Dies ist die Basisroutine zum Schreiben der Daten. Hier wird keine Transformierung der Daten zwischen INTEL- und anderen Formaten vorgenommen.

Parameter

const void* pAddr	Die Adresse der Daten.

long nSize	Die Länge der Daten.

Rückgabewert

long	Die Länge der übertragenen Daten. Diese kann sich nur dann vom Parameter nSize unterscheiden, wenn beim internen Erweitern des Blocks Speichermangel auftrat.

_______________


MemoryBlock::Get( void* pAddr, long nSize )
MemoryBlock::Get()

long MemoryBlock::Get( void* pAddr, long nSize );

Beschreibung

Dies ist die Basisroutine zum Lesen der Daten. Hier wird keine Transformierung der Daten zwischen INTEL- und anderen Formaten vorgenommen.

Parameter

void* pAddr	Die Adresse der Daten.

long nSize	Die Länge der Daten.

Rückgabewert

long	Die Länge der übertragenen Daten. Diese kann sich nur dann vom Parameter nSize unterscheiden, wenn der Block nicht mehr genügend Daten enthält.

_______________


MemoryBlock& operator >>
MemoryBlock::operator >> ()

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, char& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, BYTE& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, short& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, USHORT& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, long& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, ULONG& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, Point& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, Size& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, Range& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, Selection& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, Rectangle& rValue );

friend MemoryBlock& operator >> ( MemoryBlock& rBlock, String& rValue );

Beschreibung

Mit den Stream-Operatoren kann ein MemoryBlock in einen Stream übertragen werden. Diese Operatoren werden intern bei der Ablage eines Objekts verwendet. Der MemoryBlock wird dabei mit seinen Steuerinformationen im INTEL-Format übertragen.

Parameter

MemoryBlock& rBlock	Der zu verwendende MemoryBlock.

char& rValue,

BYTE& rValue,

short& rValue,

USHORT& rValue,

long& rValue,

ULONG& rValue,

Point& rValue,

Size& rValue,

Range& rValue,

Rectangle& rValue,

String& rValue	Das Datenelement.

Rückgabewert

MemoryBlock&	Referenz auf den MemoryBlock.

_______________


MemoryBlock& operator <<
MemoryBlock::operator << ()

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const char& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const BYTE& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const short& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const USHORT& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const long& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const ULONG& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const Point& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const Size& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const Range& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const Selection& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const Rectangle& rValue );

friend MemoryBlock& operator << ( MemoryBlock& rBlock, const String& rValue );

Beschreibung

Diese Stream-Operatoren sind zur Übertragung von Daten in einen MemoryBlock definiert. Alle diese Operatoren tragen dafür Sorge, daß die Daten korrekt zwischen INTEL-Format und dem Format des aktuellen Systems konvertiert werden.

Parameter

MemoryBlock& rBlock	Der zu verwendende MemoryBlock.

const char& rValue,

const BYTE& rValue,

const short& rValue,

const USHORT& rValue,

const long& rValue,

const ULONG& rValue,

const Point& rValue,

const Size& rValue,

const Range& rValue,

const Rectangle& rValue,

const String& rValue	Das Datenelement.

Rückgabewert

MemoryBlock&	Referenz auf den MemoryBlock.

_______________


ostream& operator << ( ostream& rStream, const MemoryBlock& rBlock )
MemoryBlock::operator << ()

friend ostream& operator << ( ostream& rStream, const MemoryBlock& rBlock );

Beschreibung

Mit diesem Stream-Operator kann ein MemoryBlock in einen Stream übertragen werden. Dieser Operator wird intern bei der Ablage eines Objekts verwendet. Der MemoryBlock wird dabei mit seinen Steuerinformationen im INTEL-Format übertragen.

Parameter

ostream& rStream	Der zu verwendende Stream.

const MemoryBlock& rBlock	Der zu übertragende MemoryBlock.

Rückgabewert

ostream&	Referenz auf den Stream.

_______________


istream& operator >> ( istream& rStream, MemoryBlock& rBlock )
MemoryBlock::operator >> ()

friend istream& operator >> ( istream& rStream, MemoryBlock& rBlock );

Beschreibung

Mit diesem Stream-Operator kann ein MemoryBlock aus einem Stream eingelesen werden. Dieser Operator wird intern bei der Ablage eines Objekts verwendet. Der MemoryBlock wird dabei mit seinen Steuerinformationen im INTEL-Format übertragen.

Parameter

istream& rStream	Der zu verwendende Stream.

MemoryBlock& rBlock	Der einzulesende MemoryBlock.

Rückgabewert

istream&	Referenz auf den Stream.

_______________


MemoryBlock::operator= ( const MemoryBlock& rBlock )
MemoryBlock::operator = ()

MemoryBlock& MemoryBlock::operator= ( const MemoryBlock& rBlock );

Beschreibung

Der Zuweisungs-Operator richtet eine echte Kopie der Daten ein. Er liefert eine Referenz auf sich selbst zurück.

Parameter

const MemoryBlock& rBlock	Der zu kopierende MemoryBlock.

Rückgabewert

MemoryBlock	Eine Referenz auf die MemoryBlock-Instanz.

_______________


Menu

#define MENU_APPEND            ((USHORT)0xFFFF)

#define MENU_ITEM_NOTFOUND     ((USHORT)0xFFFF)

typedef USHORT MenuItemBits;

#define MIB_CHECKABLE       ((MenuItemBits)0x0001)

#define MIB_ABOUT           ((MenuItemBits)0x0002)

#define MIB_HELP            ((MenuItemBits)0x0004)

enum MenuItemType	{ MENUITEM_DONTKNOW, MENUITEM_STRING, MENUITEM_BITMAP, MENUITEM_SEPARATOR };

class Menu : public Resource

{

protected:

virtual void	Activate();

virtual void	Deactivate();

virtual void	Highlight();

virtual void	Select();

virtual void	RequestHelp( const HelpEvent& rHEvt );

public:

virtual	~Menu();

BOOL	InsertItem( const ResId& rResId, USHORT nPos = MENU_APPEND );

BOOL	InsertItem( USHORT nItemId, const String& rString, USHORT nPos = MENU_APPEND, MenuItemBits nItemStyle = 0 );

BOOL	InsertItem( USHORT nItemId, const Bitmap& rBitmap, USHORT nPos = MENU_APPEND, MenuItemBits nItemStyle = 0 );

void	InsertSeparator( USHORT nPos = MENU_APPEND );

void	RemoveItem( USHORT nPos );

void	Clear();

USHORT	GetItemCount() const;

USHORT	GetItemId( USHORT nPos ) const;

USHORT	GetItemPos( USHORT nItemId ) const;

MenuItemType	GetItemType( USHORT nPos ) const;

USHORT	GetCurItemId() const;

PopupMenu*	ChangePopupMenu( USHORT nItemId, PopupMenu* pPopupMenu );

PopupMenu*	GetPopupMenu( USHORT nItemId ) const;

KeyCode	ChnageAccelKey( USHORT nItemId, const KeyCode& rKeyCode );

KeyCode	GetAccelKey( USHORT nItemId ) const;

void	CheckItem( USHORT nItemId, BOOL bCheck = TRUE );

BOOL	IsItemChecked( USHORT nItemId ) const;

void	EnableItem( USHORT nItemId, BOOL bEnable= TRUE );

BOOL	IsItemEnabled( USHORT nItemId ) const;

void	SetItemText(USHORT nItemId,const String& rString);

String	GetItemText( USHORT nItemId ) const;

void	SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap );

Bitmap	GetItemBitmap( USHORT nItemId ) const;

void	SetHelpText(USHORT nItemId,const String& rString);

String	GetHelpText( USHORT nItemId ) const;

ULONG	ChangeHelpId( USHORT nItemId, ULONG nHelpId );

ULONG	GetHelpId( USHORT nItemId ) const;

void	PushActivateHdl( const Link& rLink );

Link	PopActivateHdl();

void	PushDeactivateHdl( const Link& rLink );

Link	PopDeactivateHdl();

void	PushHighlightHdl( const Link& rLink );

Link	PopHighlightHdl();

void	PushSelectHdl( const Link& rLink );

Link	PopSelectHdl();

Menu&	operator =( const Menu& rMenu );

};

Beschreibung

Die Klasse Menu ist die Basisklasse für alle Arten von Menus. Sie stellt eine Art Container für Menu-Einträge dar und bietet Dienste für die Verwaltung von Menu-Einträgen sowie für die Verwaltung von Handlern. Die Größe eines Menus wird durch die Anzahl seiner Einträge bestimmt.

Die Klasse Menu verwaltet ferner die Zuordnung von Menu-Einträgen zu Folge-Menus. Falls ein Eintrag aktiviert wird, dem ein Folge-Menu zugeordnet ist, sorgt die Klasse Menu für das Öffnen des Folge-Menus. Bei der Selektion eines Menu-Eintrags wird der Select-Handler der Applikation gerufen.

Auf die einzelnen Menu-Einträge kann mit Hilfe von IDs zugegriffen werden. Der Adressat ist stets das Menu, dem die Einträge zugeordnet sind. Alle Menu-IDs in einer Menu-Instanz, d.h. innerhalb eines MenuBars oder eines PopupMenus, müssen eindeutig sein.

Die Handler werden in folgender Reihenfolge gerufen:

Activate()	Der Handler wird direkt vor dem Erscheinen eines PopupMenus gerufen. Bei einem Applikations-Menu wird dieser Handler direkt vor dem Aufruf des Highlight-Handlers gerufen.

Highlight()	Der Handler wird bei Hervorhebung eines Menu-Eintrags gerufen.

Deactivate()	Der Handler wird gerufen, wenn ein PopupMenu wieder unsichtbar wird.

Select()	Der Handler wird gerufen, wenn ein Menu-Eintrag ausgewählt wurde.

Zur Kennzeichnung von Accelerator-Zeichen in der Zeichenkette eines Menu-Eintrags wird dem Accelerator-Zeichen ein '~'vorangestellt.

Menus haben einen anderen Handlermechanismus als die meisten anderen in StarView angebotenen Klassen. Handler werden hier den Menus hinzugefügt (z.B. PushSelectHdl()). Die Applikation kann einem Menu mehrere Handler hinzufügen, die der Reihe nach durch den Default-Handler gerufen werden. Dieser Mechanismus wurde eingeführt, da eine Applikation lediglich über ein Menu verfügen soll. In unterschiedlichen Situationen sollen auf diese Art und Weise eine Reihe von Handlern gerufen werden; jeder Handler kann die Kette der Handleraufrufe unterbrechen, indem er einen Wert ungleich 0 zurückliefert.

Das Hinzufügen bzw. Entfernen von Handlern arbeitet wie ein Stack, d.h. der zuletzt eingefügte Handler wird mit dem nächsten Pop... wieder entfernt. Der zuletzt eingefügte Handler ist beim Aufruf immer der erste.

Der erste Eintrag in einem Menu hat stets die Position 0. Die ID 0 ist reserviert für den Separator und darf nicht als ID für einen Eintrag verwendet werden. Menu-IDs ab 65000 sind für zukünftige Erweiterungen reserviert.

Basisklassen

Resource : LinkHdl

Beispiel

#define MID_FILE      1

#define MID_OPEN      2

#define MID_SAVE      3

#define MID_QUIT      4

class MyWin: public WorkWindow

{

public:

// ...

long MenuHandler( Menu* pMenu );

};

void MyApp::Main( int argc, char** argv )

{

MyWin aWin;

...

MenuBar    aMB;

PopupMenu  aPM;

// PopupMenu aufbauen ...

aPM.InsertItem( MID_OPEN, "~Öffnen..." );

aPM.SetHelpText( MID_OPEN, "Datei öffnen" );

aPM.InsertItem( MID_SAVE, "~Sichern" );

aPM.SetHelpText( MID_SAVE, "Datei sichern" );

aPM.InsertItem( MID_QUIT, "~Beenden" );

aPM.SetHelpText(MID_QUIT, "Applikation beenden" );

aPM.EnableItem( MID_SAVE, FALSE );

// PopupMenu in den Menu-Balken hängen.

aMB.InsertItem( MID_FILE, "~File" );

aPM.SetHelpText( MID_FILE, "Dateibezogene Aktionen" );

aMB.ChangePopupMenu( MID_FILE, &aPM );

// Menu-Handler ins PopupMenu setzen.

aPM.PushSelectHdl( LINK( &aWin, MyWin, MenuHandler ));

// Applikations-Menu setzen und anzeigen.

ChangeAppMenu( &aMB );

Execute();

}

long MyWin::MenuHandler( Menu* pMenu )

{

switch( pMenu->GetCurItemId() )

{

case MID_OPEN :

// Datei öffnen.

break;

case MID_SAVE :

// Datei speichern.

break;

case MID_QUIT :

pApp->Quit();

break;

default :

return FALSE;

}

return TRUE;  // keine weitere Bearbeitung dieser Eingaben.

}

_______________


enum MenuItemType

enum MenuItemType	{ MENUITEM_DONTKNOW, MENUITEM_STRING, MENUITEM_BITMAP, MENUITEM_SEPARATOR };

Beschreibung

Mit Hilfe der Werte des enum MenuItemType kann festgestellt werden, um was für einen Menu-Eintrag es sich handelt.

MENUITEM_DONTKNOW	Der Typ des Menu-Eintrags konnte nicht festgestellt werden. Dieser Wert wird zum Beispiel durch eine falsche Position erzeugt.

MENUITEM_STRING	Der Menu-Eintrag beinhaltet einen String.

MENUITEM_BITMAP	Der Menu-Eintrag beinhaltet eine Bitmap.

MENUITEM_SEPARATOR	Bei dem Menu-Eintrag handelt es sich um einen Separator.

_______________


Menu::Activate()

virtual void Menu::Activate();

Beschreibung

Dieser Handler wird aufgerufen, wenn der Benutzer ein Menu öffnet.

Die Kette der Activate-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, wird zusätzlich die Handlerkette des Applikations-Menus oder des Menus, welches mit PopupMenu::Execute() gestartet wurde, abgearbeitet.

Querverweise

Menu::PushActivateHdl(), Menu::PopActivateHdl()

_______________


Menu::Deactivate()

virtual void Menu::Deactivate();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn das PopupMenu auf dem Bildschirm physikalisch geschlossen wird, d.h. hierarchische Menus werden nach dem "LiFo"-Prinzip aktiviert und deaktiviert. Der MenuBar befindet sich auf der höchsten Ebene und wird (außer bei freien PopupMenus) immer als erster aktiviert und als letzter deaktiviert.

Die Kette der Deactivate-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, wird zusätzlich die Handlerkette des Applikations-Menus oder des Menus, welches mit PopupMenu::Execute() gestartet wurde, abgearbeitet.

Querverweise

Menu::PushDeactivateHdl(), Menu::PopDeactivateHdl()

_______________


Menu::Highlight()

virtual void Menu::Highlight();

Beschreibung

Dieser Handler wird aufgerufen, wenn ein Menu-Eintrag hervorgehoben wird. Durch Aufruf der Methode GetCurItemId() kann die ID des hervorgehobenen Eintrags erfragt werden.

Die Kette der Highlight-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, wird zusätzlich die Handlerkette des Applikations-Menus oder des Menus, welches mit PopupMenu::Execute() gestartet wurde, abgearbeitet.

Anmerkungen

Dieser Handler wird auf dem Apple Macintosh nur bei Items gerufen, die enabled sind.

Querverweise

Menu::PushHighlightHdl(), Menu::PopHighlightHdl(), Menu::GetCurItemId()

_______________


Menu::Select()

virtual void Menu::Select();

Beschreibung

Dieser Handler wird aufgerufen, wenn der Benutzer einen Menu-Eintrag selektiert hat. Durch Aufruf der Methode GetCurItemId() kann die ID des hervorgehoben Eintrags erfragt werden.

Die Kette der Select-Handler wird gerufen, bis einer der Handler einen Wert ungleich 0 liefert oder das Ende der Handlerkette erreicht ist. Falls das Ende der Handlerkette erreicht ist und kein Handler einen Wert ungleich 0 zurückgeliefert hat, wird zusätzlich die Handlerkette des Applikations-Menus oder des Menus, welches mit PopupMenu::Execute() gestartet wurde, abgearbeitet.

Querverweise

Menu::PushSelectHdl(), Menu::PopSelectHdl(), Menu::GetCurItemId()

_______________


Menu::RequestHelp( const HelpEvent& rHEvt )
Menu::RequestHelp()

virtual void Menu::RequestHelp( const HelpEvent& rHEvt );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Benutzer Hilfe zu einem Menu-Eintrag anfordert. Dies geschieht durch Betätigung der Hilfetaste des Systems. Die Hilfe-ID des aktuellen Menu-Eintrags wird mit Hilfe der Methode GetHelpId() ermittelt und als Hilfe-ID beim Start des Hilfesystems übergeben. Ist die Hilfe-ID = 0, so wird der Index der Hilfe gestartet. Falls in der Applikation keine Hilfe selektiert ist, wird keine Hilfe gestartet. Falls dieser Handler überladen wird, kann auch über das Anlegen einer Help-Instanz die Hilfeapplikation gestartet werden.

Es kann sein, daß im Handler die CurItem-ID = 0 ist. Dies ist dann der Fall, wenn der Anwender ein Menu-Item des Basisfenstersystems ausgewählt hat oder das Menu aktiv und kein Item selektiert ist. Im Default-Handler wird dann der Index aktiviert. Falls dieses nicht gewünscht wird, kann der Handler überladen und z.B. die Hilfe mit einer anderen ID gestartet werden. Falls Hilfe zu einem Menu angefordert wird, das kein StarView-Menu ist, wird der RequestHelp-Handler des Applikations-Menus aufgerufen.

Parameter

const HelpEvent& rHEvt	Referenz auf eine Instanz der Klasse HelpEvent.

Querverweise

HelpEvent, Help, Menu::ChangeHelpId(), Menu::GetHelpId(), Window::RequestHelp(), Application::ChangeHelp(), Application::GetHelp()

_______________


Menu::~Menu()

virtual Menu::~Menu();

Beschreibung

Destruktor der Klasse Menu.

_______________


Menu::InsertItem( const ResId& rResId, USHORT nPos = MENU_APPEND )
Menu::InsertItem()

BOOL Menu::InsertItem( const ResId& rResId, USHORT nPos = MENU_APPEND );

Beschreibung

Mit dieser Methode wird ein Menu-Eintrag an der Position nPos in das Menu eingefügt. Der Eintrag wird mit der angegebenen Resource-ID aus der Resource geladen. Es werden der Inhalt des Menu-Eintrags und ein Hilfetext aus der Resource geladen.

Die in rResId übergebene ID wird für die künftige Identifikation des Menu-Eintrags verwendet. Es liegt in der Verantwortung der Applikation, Konflikte durch doppelt vergebene IDs zu vermeiden. Alle Menu-IDs müssen innerhalb eines Menus eindeutig sein.

In der Resource als Folge-Menus angehängte Menus werden automatisch mit erzeugt und bei RemoveItem() oder im Destruktor wieder automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die automatisch erzeugten Menus umgehängt worden sind.

Parameter

const ResId& rResId	Die Resource-ID für einen Menu-Eintrag.

USHORT nPos	Der Integerwert nPos teilt dem Menu mit, an welcher Position der Eintrag eingefügt werden soll. Alle folgenden Einträge werden um eine Position nach hinten bewegt. Falls die angegebene Position größer ist als die momentane Anzahl der Einträge, wird der Eintrag an das Menu angehängt. Mit der Konstanten MENU_APPEND als Positionsparameter wird der Menu-Eintrag als letzter Eintrag angefügt. Der erste Eintrag hat die Position 0.

Rückgabewert

BOOL	TRUE

Der Eintrag wurde eingefügt.

FALSE

Die ID ist bereits vorhanden oder gleich 0.

_______________


Menu::InsertItem()

BOOL Menu::InsertItem( USHORT nItemId, const String& rString, USHORT nPos = MENU_APPEND, MenuItemBits nItemStyle = 0 );

Beschreibung

Mit dieser Methode wird ein Menu-Eintrag an der Position nPos in das Menu eingefügt. Der Eintrag besteht aus einem String, der in rString übergeben wird. Dieser String wird kopiert und gelöscht, wenn das Menu gelöscht wird. Falls der String das Zeichen '~' enthält, wird das folgende Zeichen hervorgehoben dargestellt. Befindet sich der Benutzer im Menu, kann der Eintrag durch Eingabe des hervorgehobenen Zeichens selektiert werden.

Die in nItemId übergebene ID wird für die künftige Identifikation des Menu-Eintrags verwendet. Es liegt in der Verantwortung der Applikation, Konflikte durch doppelt vergebene IDs zu vermeiden. Alle Menu-IDs müssen innerhalb einer Menu-Instanz eindeutig sein.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags für die Identifikation des Eintrags.

const String& rString	Der String, der im Menu dargestellt wird.

USHORT nPos	Der Integerwert nPos teilt dem Menu mit, an welcher Position der Eintrag eingefügt werden soll. Alle folgenden Einträge werden um eine Position nach hinten bewegt. Falls die angegebene Position größer ist als die momentane Anzahl der Einträge, wird der Eintrag an das Menu angehängt. Mit der Konstanten MENU_APPEND als Positionsparameter wird der Menu-Eintrag als letzter Eintrag angefügt. Die Position des ersten Eintrags ist 0.

MenuItemBits nItemStyle	Style des Menu-Eintrags mit folgenden Stylebits:

MIB_CHECKABLE

Der Menu-Eintrag wird als Schalter darstellt. Dieses MenuItemBit sollte immer dann gesetzt werden, wenn das Programm unter Solaris laufen und für dieses Item über CheckItem() eine Checkmark gesetzt werden soll.

MIB_HELP

Der Menu-Eintrag ist ein Hilfe-Eintrag.

MIB_ABOUT

Der Menu-Eintrag ist ein About-Eintrag.

Rückgabewert

BOOL	TRUE

Der Eintrag wurde eingefügt.

FALSE

Die Item-ID ist bereits vorhanden.

_______________


Menu::InsertItem()

BOOL Menu::InsertItem( USHORT nItemId, const Bitmap& rBitmap, USHORT nPos = MENU_APPEND, MenuItemBits nItemStyle = 0 );

Beschreibung

Mit dieser Methode wird ein Menu-Eintrag an der Position nPos in das Menu eingefügt. Der Eintrag besteht aus einer Bitmap, die in rBitmap übergeben wird. Die Bitmap wird kopiert und dann gelöscht, wenn das Menu gelöscht wird.

Die in nItemId übergebene ID wird für die künftige Identifikation des Menu-Eintrags verwendet. Es liegt in der Verantwortung der Applikation, Konflikte durch doppelt vergebene IDs zu vermeiden. Alle Menu-IDs müssen innerhalb einer Menu-Instanz eindeutig sein.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags für die Identifikation des Eintrags.

const Bitmap& rBitmap	Die Bitmap, die im Menu dargestellt wird.

USHORT nPos	Der Integerwert nPos teilt dem Menu mit, an welcher Position der Eintrag eingefügt werden soll. Alle folgenden Einträge werden um eine Position nach hinten verschoben. Falls die angegebene Position größer ist als die momentane Anzahl der Einträge, wird der Eintrag an das Menu angehängt. Mit der Konstanten MENU_APPEND als Positionsparameter wird der Menu-Eintrag als letzter Eintrag angefügt. Die Position des ersten Eintrags ist 0.

MenuItemBits nItemStyle	Style des Menu-Eintrags mit folgenden Stylebits:

MIB_CHECKABLE

Der Menu-Eintrag wird als Schalter darstellt.

MIB_HELP

Der Menu-Eintrag ist ein Hilfe-Eintrag.

MIB_ABOUT

Der Menu-Eintrag ist ein About-Eintrag.

Rückgabewert

BOOL	TRUE

Der Eintrag wurde eingefügt.

FALSE

Die Item-ID ist bereits vorhanden.

_______________


Menu::InsertSeparator( USHORT nPos = MENU_APPEND )
Menu::InsertSeparator()

void Menu::InsertSeparator( USHORT nPos = MENU_APPEND );

Beschreibung

Mit dieser Methode wird ein Separator an der Position nPos in das Menu eingefügt. Das Aussehen kann auf verschiedenen Zielsystemen unterschiedlich sein und folgt deren Style-Guides. Ein Separator ist eine rein optische Trennung unterschiedlicher Menu-Einträge. Der Benutzer kann Separatoren nicht selektieren oder manipulieren. Im MenuBar wird dieser Aufruf ignoriert.

Parameter

USHORT nPos	Der Integerwert nPos teilt dem Menu mit, an welcher Position der Separator eingefügt werden soll. Alle folgenden Einträge werden um eine Position nach hinten verschoben. Falls die angegebene Position größer ist als die momentane Anzahl der Einträge, wird der Separator an das Menu angehängt. Mit der Konstanten MENU_APPEND als Positionsparameter wird der Separator als letzter Eintrag angefügt. Die Position des ersten Eintrags ist 0.

_______________


Menu::RemoveItem( USHORT nPos )
Menu::RemoveItem()

void Menu::RemoveItem( USHORT nPos );

Beschreibung

Der Eintrag an der Position nPos wird aus dem Menu entfernt. Ist dem zu löschenden Menu-Eintrag ein PopupMenu zugeordnet, so wird dieses nicht gelöscht.

Parameter

USHORT nPos	Die Position des zu löschenden Eintrags.

Anmerkungen

Damit auch Separatoren gelöscht werden können, wird dieser Methode eine Position und keine ID übergeben.

Querverweise

Menu::GetItemPos()

_______________


Menu::Clear()

void Menu::Clear();

Beschreibung

Es werden alle Einträge aus dem Menu entfernt. Eingestellte Handler bleiben erhalten.

_______________


Menu::GetItemCount()

USHORT Menu::GetItemCount() const;

Beschreibung

Diese Methode ermittelt die Anzahl der Einträge in einem Menu. Bei der Ermittlung der Anzahl der Menu-Einträge werden eventuell vorhandene Separatoren mitgezählt.

Rückgabewert

USHORT	Die aktuelle Anzahl der Menu-Einträge.

_______________


Menu::GetItemId( USHORT nPos )
Menu::GetItemId()

USHORT Menu::GetItemId( USHORT nPos ) const;

Beschreibung

Diese Methode ermittelt zu einer bestimmten Menu-Position die MenuItem-ID des Eintrags. Ist die Position ungültig oder befindet sich an der Position ein Separator, wird als Ergebnis 0 geliefert.

Parameter

USHORT nPos	Die Position des Menu-Eintrags.

Rückgabewert

USHORT	Die Item-ID des Menu-Eintrags an der Position nPos; 0 für ungültige Position oder Separator.

_______________


Menu::GetItemPos( USHORT nItemId )
Menu::GetItemPos()

USHORT Menu::GetItemPos( USHORT nItemId ) const;

Beschreibung

Diese Methode ermittelt zu einer bestimmten MenuItem-ID die Position des Eintrags. Ist die übergebene ID ungültig, wird als Ergebnis MENU_ITEM_NOTFOUND geliefert.

Parameter

USHORT nItemId	Die Id des Menu-Eintrags.

Rückgabewert

USHORT	Die Position des Menu-Eintrags mit der ID nItemId oder MENU_ITEM_NOTFOUND bei ungültiger ID.

_______________


Menu::GetItemType( USHORT nPos )
Menu::GetItemType()

MenuItemType Menu::GetItemType( USHORT nPos ) const;

Beschreibung

Diese Methode ermittelt zu einer Position den Typ des Menu-Eintrags.

Parameter

USHORT nPos	Die Position des Menu-Eintrags.

Rückgabewert

MenuItemType	Ein Wert des enum MenuItemType.

_______________


Menu::GetCurItemId()

USHORT Menu::GetCurItemId() const;

Beschreibung

Diese Methode ermittelt den aktuellen Eintrag bei einem Highlight- oder Select-Ereignis. Dieser Methodenaufruf wird im Highlight- und Select-Handler verwendet, um den ausgewählten Menu-Eintrag zu erfragen.

Die Methode GetCurItemId() liefert nur im Highlight- und Select-Handler den aktuellen Wert. Sonst liefert diese Methode immer 0.

Rückgabewert

USHORT	Die aktuelle Item-ID. Wird diese Methode außerhalb des Highlight- oder Select-Handlers aufgerufen, so wird 0 zurückgegeben. Ist der aktuelle Eintrag ein Separator oder wird die Maus außerhalb des Menus bewegt (kein Eintrag hervorgehoben), so wird ebenfalls 0 zurückgegeben.

Querverweise

Menu::Highlight(), Menu::Select()

_______________


Menu::ChangePopupMenu( USHORT nItemId, PopupMenu* pPopupMenu )
Menu::ChangePopupMenu()

PopupMenu* Menu::ChangePopupMenu( USHORT nItemId, PopupMenu* pPopupMenu );

Beschreibung

Der Aufruf der Methode setzt das PopupMenu zum Eintrag mit der ID nItemId.

Ein PopupMenu kann mehreren Menu-Einträgen zugeordnet werden.

Falls das alte PopupMenu automatisch von der Resource oder durch den Copy-Konstruktor mit erzeugt worden ist, wird auch das durch die Methode ChangePopupMenu() neu zugeordnete PopupMenu mit dem übergeordneten Eintrag zusammen (bei RemoveItem() oder im Destruktor) zerstört.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen PopupMenu gesetzt werden soll.

PopupMenu* pPopupMenu	Der Zeiger auf das neue PopupMenu.

Rückgabewert

PopupMenu*	Der Zeiger auf das alte PopupMenu.

_______________


Menu::GetPopupMenu( USHORT nItemId )
Menu::GetPopupMenu()

PopupMenu* Menu::GetPopupMenu( USHORT nItemId ) const;

Beschreibung

Diese Methode gibt das PopupMenu zum Eintrag mit der ID nItemId zurück.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen PopupMenu zurückgegeben werden soll.

Rückgabewert

PopupMenu*	Der Zeiger auf das PopupMenu, das dem Eintrag mit der ID nItemId zugeordnet ist. Die Methode liefert NULL, wenn kein entsprechendes PopupMenu existiert oder die ID nItemId ungültig ist.

_______________


Menu::ChangeAccelKey( USHORT nItemId, const KeyCode& rKeyCode )
Menu::ChangeAccelKey()

KeyCode Menu::ChangeAccelKey( USHORT nItemId, const KeyCode& rKeyCode );

Beschreibung

Mit dieser Methode kann zu einem Menu-Eintrag ein Accelerator gesetzt werden, der dem Benutzer hinter dem Menu-Eintrag angezeigt wird.

Falls sich das Menu im Applikations-Menubaum befindet, wird der Select-Handler von dieser Menu-Instanz gerufen, wenn der Benutzer die entsprechende Tastenkombination auslöst. Falls der Menu-Eintrag disabled ist oder das Menu nicht aktiviert werden kann (z.B. weil eine modale Dialogbox aktiv ist), wird der Select-Handler nicht gerufen.

Es ist darauf zu achten, daß der Activate-, Deactivate- und Highlight-Handler nicht gerufen werden, wenn der Select-Handler durch die entsprechende Tastenkombination aufgerufen wird. Dies könnte z.B. Probleme geben, wenn entsprechende Menu-Einträge im Activate-Handler enabled werden, wie z.B. der Menu-Eintrag "Paste". Daher sollten solche Einträge im Activate-Handler disabled und im Deactivate-Handler wieder enabled werden.

Falls die Tastenkombination nur angezeigt werden soll und keinen Select-Aufruf auslösen soll, kann diese Automatik mit Application::DisableMenuAccel() deaktiviert werden.

Wird ein Default-KeyCode übergeben, so wird keine Tastenkombination angezeigt und keine ausgewertet.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen Accelerator gesetzt werden soll.

const KeyCode& rKeyCode	Die Tastenkombination, durch die der Select-Handler gerufen werden soll.

Rückgabewert

KeyCode	Die alte Tastenkombination.

Querverweise

KeyCode, Application::DisableMenuAccel()

_______________


Menu::GetAccelKey( USHORT nItemId )
Menu::GetAccelKey()

KeyCode Menu::GetAccelKey( USHORT nItemId ) const;

Beschreibung

Mit dieser Methode kann der zu einem Menu-Eintrag gesetzte Accelerator abgefragt werden.

Rückgabewert

KeyCode	Die Tastenkombination, die zum Menu-Eintrag gesetzt ist. Ist keine Tastenkombination gesetzt oder ist die Id ungültig, wird ein Default-KeyCode zurückgegeben.

_______________


Menu::CheckItem( USHORT nItemId, BOOL bCheck = TRUE )
Menu::CheckItem()

void Menu::CheckItem( USHORT nItemId, BOOL bCheck = TRUE );

Beschreibung

Diese Methode setzt eine Markierung für den Menu-Eintrag mit der ID nItemId bzw. entfernt die bestehende Markierung.

Die Darstellung eines mit einer Markierung versehenen Menu-Punktes folgt den Richtlinien des Style-Guides der Zielsysteme.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, der mit einer Markierung versehen dargestellt werden soll.

BOOL bCheck	TRUE

Der Menu-Eintrag erhält eine Markierung.

FALSE

Die Markierung wird aus dem Menu-Eintrag entfernt.

_______________


Menu::IsItemChecked( USHORT nItemId )
Menu::IsItemChecked()

BOOL Menu::IsItemChecked( USHORT nItemId ) const;

Beschreibung

Diese Methode liefert zurück, ob für den Menu-Eintrag mit der ID nItemId das Checkmark-Attribut gesetzt ist.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, dessen Zustand erfragt werden soll.

Rückgabewert

BOOL	TRUE

Das Checkmark-Attribut ist gesetzt.

FALSE

Das Checkmark-Attribut ist nicht gesetzt.

_______________


Menu::EnableItem( USHORT nItemId, BOOL bEnable = TRUE )
Menu::EnableItem()

void Menu::EnableItem( USHORT nItemId, BOOL bEnable = TRUE );

Beschreibung

Diese Methode schaltet den Menu-Eintrag mit der ID nItemId aktiv bzw. inaktiv. Die entsprechende Darstellung des Menu-Eintrags folgt den Richtlinien des Style-Guides der Zielsysteme, und der Menu-Eintrag kann selektiert bzw. nicht selektiert werden.

Parameter

USHORT nItemId	Die ID des aktiv zu schaltenden Menu-Eintrags.

BOOL bEnable	TRUE

Der Menu-Eintrag wird enabled.

FALSE

Der Menu-Eintrag wird disabled.

_______________


IsItemEnabled( USHORT nItemId )
Menu::IsItemEnabled()

BOOL Menu::IsItemEnabled( USHORT nItemId ) const;

Beschreibung

Diese Methode liefert zurück, ob der Menu-Eintrag mit der ID nItemId aktiv geschaltet ist.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, dessen Zustand erfragt werden soll.

Rückgabewert

BOOL	TRUE

Der Menu-Eintrag ist aktiv geschaltet.

FALSE

Der Menu-Eintrag ist nicht aktiv geschaltet, oder die ID ist ungültig.

_______________


Menu::SetItemText( USHORT nItemId, const String& rString )
Menu::SetItemText()

void Menu::SetItemText( USHORT nItemId, const String& rString );

Beschreibung

Diese Methode setzt den Text des Menu-Eintrags mit der ID nItemId.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags. Ist die ID ungültig, so hat der Aufruf keine Wirkung.

const String& rString	Der String für den Menu-Eintrag.

_______________


Menu::GetItemText( USHORT nItemId )
Menu::GetItemText()

String Menu::GetItemText( USHORT nItemId ) const;

Beschreibung

Der Aufruf dieser Methode liefert den String eines Menu-Eintrags.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags.

Rückgabewert

String	Der String des Menu-Eintrags. Ist die ID nItemId ungültig, wird ein leerer String zurückgegeben.

_______________


Menu::SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap )
Menu::SetItemBitmap()

void Menu::SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap );

Beschreibung

Diese Methode setzt eine neue Bitmap für den Menu-Eintrag mit der ID nItemId.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags. Ist die ID ungültig, so hat der Aufruf keine Wirkung.

const Bitmap& rBitmap	Die neue Bitmap.

_______________


Menu::GetItemBitmap( USHORT nItemId )
Menu::GetItemBitmap()

Bitmap Menu::GetItemBitmap( USHORT nItemId ) const;

Beschreibung

Der Aufruf dieser Methode liefert die Bitmap eines Menu-Eintrags.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags.

Rückgabewert

Bitmap	Die Bitmap des Eintrags. Ist dem Eintrag keine Bitmap zugeordnet oder ist die ID nItemId ungültig, so wird eine leere Bitmap zurückgegeben.

_______________


Menu::SetHelpText( USHORT nItemId, const String& rString )
Menu::SetHelpText()

void Menu::SetHelpText( USHORT nItemId, const String& rString );

Beschreibung

Der Aufruf dieser Methode setzt den Hilfetext eines Menu-Eintrags.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, für den der Hilfetext gesetzt wird.

const String& rString	Der Hilfetext für den Menu-Eintrag.

_______________


Menu::GetHelpText( USHORT nItemId )
Menu::GetHelpText()

String Menu::GetHelpText( USHORT nItemId ) const;

Beschreibung

Der Aufruf dieser Methode liefert den Hilfetext eines Menu-Eintrags.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, für den der Hilfetext ermittelt werden soll.

Rückgabewert

String	Der Hilfetext des Eintrags. Ist die ID des Eintrags ungültig, so wird ein leerer String zurückgegeben.

_______________


Menu::ChangeHelpId( USHORT nItemId, ULONG nHelpId )
Menu::ChangeHelpId()

ULONG Menu::ChangeHelpId( USHORT nItemId, ULONG nHelpId );

Beschreibung

Diese Methode setzt eine neue Hilfe-ID. Die Hilfe-ID wird durch den Help-Handler RequestHelp() zur Anzeige der kontextsensitiven Hilfe benötigt. Ist die ID = 0, so wird in dem Default-Help-Handler der Hilfeindex gestartet. Es können auch die bei der Klasse Help beschriebenen vordefinierten IDs gesetzt werden.

Parameter

USHORT nItemId	Die ID des Menu-Eintrags, dessen Hilfe-ID gesetzt werden soll.

ULONG nHelpId	Die neue Hilfe-ID oder 0, wenn der Index gerufen werden soll. Es können auch die bei der Klasse Help beschriebenen vordefinierten IDs verwendet werden.

Rückgabewert

ULONG	Die bisherige Hilfe-ID.

Querverweise

Menu::GetHelpId(), Menu::RequestHelp(), HelpEvent, Help

_______________


Menu::GetHelpId( USHORT nItemId )
Menu::GetHelpId()

ULONG Menu::GetHelpId( USHORT nItemId ) const;

Beschreibung

Diese Methode gibt die aktuelle Hilfe-ID des angegebenen Eintrags zurück.

Parameter

USHORT nItemId	Die ID des Eintrags, dessen Hilfe-ID abgefragt werden soll.

Rückgabewert

ULONG	Die aktuelle Hilfe-ID des Eintrags. Ist die Item-ID nicht vorhanden, wird 0 zurückgeliefert.

Querverweise

Menu::ChangeHelpId(), Menu::RequestHelp (), HelpEvent, Help

_______________


Menu::PushActivateHdl( const Link& rLink )
Menu::PushActivateHdl()

void Menu::PushActivateHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Menu einen neuen Activate-Handler hinzu. Falls ein Menu aktiviert (d.h. aufgeklappt) wird, ruft der Default-Handler des Menus (Activate()) alle Handler in der Kette. Falls einer dieser Handler einen Wert ungleich 0 zurückliefert, bricht der Default-Handler die Aufrufe der Handler in der Kette ab. Der zuletzt eingefügte Handler wird als erster aufgerufen.

Mit diesem Handler kann vor dem Aufklappen des Menus z.B. der aktuelle Zustand (gechecked, aktiv) aller Einträge gesetzt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Menu-Handler, der gerufen wird, wenn der Benutzer ein Menu aktiviert hat. Als Parameter erhält der Handler einen Zeiger auf das aktivierte Menu. Der Handler sollte einen Wert ungleich 0 zurückgeben, wenn danach keine weiteren Handler mehr gerufen werden sollen.

Prototyp des Handlers:

long MyClass::Activate( Menu* pMenu );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Menu::Activate()

_______________


Menu::PopActivateHdl()

Link Menu::PopActivateHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Activate-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Menu::PushDeactivateHdl( const Link& rLink )
Menu::PushDeactivateHdl()

void Menu::PushDeactivateHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Menu einen neuen Deactivate-Handler hinzu. Falls ein Menu deaktiviert (d.h. zugeklappt) wird, ruft der Default-Handler des Menus (Deactivate()) alle Handler in der Kette. Falls einer dieser Handler einen Wert ungleich 0 zurückliefert, bricht der Default-Handler die Aufrufe der Handler in der Kette ab. Der zuletzt eingefügte Handler wird als erster aufgerufen.

Mit diesem Handler kann z.B. nach dem Schließen des Menus der vorige Zustand wiederhergestellt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Menu-Handler, der gerufen wird, wenn der Benutzer ein Menu deaktiviert hat. Als Parameter erhält der Handler einen Zeiger auf das deaktivierte Menu. Der Handler sollte einen Wert ungleich 0 zurückgeben, wenn danach keine weiteren Handler mehr gerufen werden sollen.

Prototyp des Handlers:

long MyClass::Deactivate( Menu* pMenu );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Menu::Deactivate()

_______________


Menu::PopDeactivateHdl()

Link Menu::PopDeactivateHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Deactivate-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Menu::PushHighlightHdl( const Link& rLink )
Menu::PushHighlightHdl()

void Menu::PushHighlightHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Menu einen neuen Highlight-Handler hinzu. Falls ein Menu-Eintrag aktiviert, d.h. optisch hervorgehoben wird, ruft der Default-Handler des Menus (Highlight()) alle Handler in der Liste. Falls einer dieser Handler einen Wert ungleich 0 zurückliefert, bricht der Default-Handler die Aufrufe der Handler in der Kette ab. Der zuletzt eingefügte Handler wird als erster aufgerufen.

Mit diesem Handler kann z.B. in einer Statuszeile ein Hilfetext zum jeweiligen Menu-Eintrag angezeigt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Menu-Handler, der gerufen wird, wenn der Benutzer einen Menu-Eintrag aktiviert. Als Parameter erhält der Handler einen Zeiger auf das aktivierte Menu. Der Handler sollte einen Wert ungleich 0 zurückgeben, wenn danach keine weiteren Handler mehr gerufen werden sollen.

Prototyp des Handlers:

long MyClass::Highlight( Menu* pMenu );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Menu::Highlight()

_______________


Menu::PopHighlightHdl()

Link Menu::PopHighlightHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Highlight-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Menu::PushSelectHdl( const Link& rLink )
Menu::PushSelectHdl()

void Menu::PushSelectHdl( const Link& rLink );

Beschreibung

Der Aufruf der Methode fügt einem Menu einen neuen Select-Handler hinzu. Falls ein Menu-Eintrag selektiert wird, ruft der Default-Handler des Menus (Select()) alle Handler in der Liste. Falls einer dieser Handler einen Wert ungleich 0 zurückliefert, bricht der Default-Handler die Aufrufe der Handler in der Kette ab. Der zuletzt eingefügte Handler wird als erster aufgerufen.

Mit diesem Handler wird auf die Auswahl eines Menu-Eintrags reagiert.

Parameter

const Link& rLink	Der Link zeigt auf den Menu-Handler, der gerufen wird, wenn der Benutzer einen Menu-Eintrag selektiert. Als Parameter erhält der Handler einen Zeiger auf das selektierte Menu. Der Handler sollte einen Wert ungleich 0 zurückgeben, wenn danach keine weiteren Handler mehr gerufen werden sollen.

Prototyp des Handlers:

long MyClass::Select( Menu* pMenu );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Querverweise

Link, Menu::Select()

_______________


Menu::PopSelectHdl()

Link Menu::PopSelectHdl();

Beschreibung

Es wird der zuletzt eingefügte Handler aus der Kette der Select-Handler entfernt und zurückgegeben.

Rückgabewert

Link	Der entfernte Handler.

_______________


Menu::operator =( const Menu& rMenu )
Menu::operator =()

Menu& Menu::operator =( const Menu& rMenu );

Beschreibung

Zuweisungsoperator der Klasse Menu. Folge-Menus werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Menus umgehängt worden sind.

Parameter

const Menu& rMenu	Referenz auf ein Menu.

Rückgabewert

Menu&	Referenz auf das Ergebnis der Zuweisung.

_______________


MenuBar

class MenuBar : public Menu

{

public:

MenuBar();

MenuBar( MenuBar& rMenuBar );

MenuBar( const ResId& rResId );

MenuBar&	operator =( const MenuBar& rMenuBar );

};

Beschreibung

Der MenuBar enthält die Haupteinträge eines Menus und stellt damit die erste Ebene einer Menu-Hierarchie dar. Seinen Einträgen können jeweils Folge-Menus als Instanzen der Klasse PopupMenu zugeordnet werden. Das Aufblenden der PopupMenus, wenn ein Eintrag aktiviert worden ist, geschieht durch StarView; sie werden ebenfalls automatisch geschlossen, wenn der Benutzer einen Eintrag selektiert hat.

Ein MenuBar kann mit der Methode Application::ChangeAppMenu() zum Applikations-Menu gemacht werden. Dabei wird der MenuBar automatisch angezeigt, und zwar am oberen Rand des Applikationsfenster-Ausgabebereichs bzw. des Bildschirms (beim Apple Macintosh). Ein in der Applikation evtl. bereits vorhandener MenuBar wird bei Aufruf dieser Methode unsichtbar, da nur jeweils ein MenuBar aktiv sein kann.

Basisklassen

Menu : Resource : LinkHdl

Querverweise

Application::ChangeAppMenu(), Application::GetAppMenu()

_______________


MenuBar::MenuBar()

MenuBar::MenuBar();

Beschreibung

Konstruktor für die Klasse MenuBar.

_______________


MenuBar::MenuBar( const MenuBar& rMenuBar )
MenuBar::MenuBar()

MenuBar::MenuBar( const MenuBar& rMenuBar );

Beschreibung

Copy-Konstruktor der Klasse MenuBar. Folge-Menus werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Menus umgehängt wurden sind.

Parameter

const MenuBar& rMenuBar	Referenz auf einen MenuBar.

_______________


MenuBar::MenuBar( const ResId& rResId )
MenuBar::MenuBar()

MenuBar::MenuBar( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse MenuBar. Angehängte PopupMenus werden automatisch mit erzeugt und automatisch mit zerstört.

Parameter

const ResId& rResId	Die ID des MenuBars in der Resource.

Querverweise

Resource

_______________


MenuBar& MenuBar::operator =( const MenuBar& rMenuBar )
MenuBar::operator =()

MenuBar& MenuBar::operator =( const MenuBar& rMenuBar );

Beschreibung

Zuweisungsoperator der Klasse MenuBar. Folge-Menus werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Menus umgehängt wurden sind.

Parameter

const MenuBar& rMenuBar	Referenz auf einen MenuBar.

Rückgabewert

MenuBar&	Referenz auf das Ergebnis der Zuweisung.

_______________


MenuButton

class MenuButton : public Control

{

protected:

virtual void	Select();

public:

MenuButton( Window* pParent, WinBits nWinStyle = 0 );

MenuButton( Window* pParent, const ResId& rResId );

~MenuButton();

PopupMenu*	ChangePopupMenu( PopupMenu* pNewMenu );

PopupMenu*	GetPopupMenu() const;

USHORT	GetCurItemId() const;

Link	ChangeSelectHdl( const Link& rLink );

Link	GetSelectHdl() const;

Beschreibung

Die Klasse MenuButton wird eingesetzt, wenn über ein Control mehrere Aktionen ausgelöst werden sollen. Dazu wird dem MenuButton ein PopupMenu zugeordnet, über das die Aktionen ausgelöst werden können. Wenn der MenuButton aktiviert wird, ruft er automatisch die Methode PopupMenu::Execute() auf. Beim Menu muß von der Applikation ein Select-Handler gesetzt werden, damit die Aktion ausgelöst wird. Man kann auch einen Select-Handler am MenuButton setzen, der gerufen wird, wenn im Menu etwas selektiert wird. Dabei sollte beachtet werden, das keine doppelten Id's verwendet werden, da der ausgewählte  Eintrag mit GetCurItemId() beim MenuButton abgefragt werden muß und somit nicht Untermenüs unterschieden werden können.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

PopupMenu

_______________


MenuButton::Select()

virtual void MenuButton::Select();

Beschreibung

Dieser Handler wird immer dann von StarView gerufen, wenn der Anwender einen Menueintrag ausgewählt hat. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeSelectHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeSelectHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

MenuButton::ChangeSelectHdl()

_______________


MenuButton::MenuButton( Window* pParent, WinBits nWinStyle = 0 );
MenuButton::MenuButton()

MenuButton::MenuButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse MenuButton.

Parameter

Window* pParent	Der Parent des MenuButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


MenuButton::MenuButton( Window* pParent, const ResId& rResId )
MenuButton::MenuButton()

MenuButton::MenuButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse MenuButton.

Wenn das PopupMenu automatisch von der Resource erzeugt wurde, wird das Menu im Destruktor dieser Klasse zerstört. Dies gilt auch dann, wenn das Menu mit ChangePopupMenu() umgesetzt wurde. Das automatisch erzeugt Menu kann über die Methode GetPopupMenu() abgefragt werden, um die entsprechenden Handler zu setzen.

Parameter

Window* pParent	Der Parent des MenuButtons.

const ResId& rResId	Die ID des MenuButtons in der Resource.

Querverweise

Resource

_______________


MenuButton::~MenuButton()

MenuButton::~MenuButton();

Beschreibung

Destruktor der Klasse MenuButton. Wenn das PopupMenu automatisch durch den Resource-Konstruktor erzeugt wurde, wird es zerstört. Dies gilt auch dann, wenn das Menu mit ChangePopupMenu() umgesetzt wurde.

_______________


MenuButton::ChangePopupMenu( PopupMenu* pNewMenu )
MenuButton::ChangePopupMenu()

PopupMenu* MenuButton::ChangePopupMenu( PopupMenu* pNewMenu );

Beschreibung

Mit dieser Methode kann dem MenuButton ein anderes PopupMenu zugeordnet werden.

Parameter

PopupMenu* pNewMenu	Das Menu, welches bei Betätigung des Buttons mit PopupMenu::Execute() gestartet wird.

Rückgabewert

PopupMenu*	Das zuvor gesetzte Menu.

Querverweise

PopupMenu

_______________


MenuButton::GetPopupMenu()

PopupMenu* MenuButton::GetPopupMenu() const;

Beschreibung

Mit dieser Methode kann das Menu abgefragt werden, welches dem MenuButton zugeordnet ist. Über diese Methode kann auch das von der Resource automatisch erzeugte Menu abgefragt werden, damit die entsprechenden Handler gesetzt werden können.

Rückgabewert

PopupMenu*	Das aktuell gesetzte Menu.

Querverweise

PopupMenu

_______________


MenuButton::GetCurItemId()

USHORT MenuButton::GetCurItemId() const;

Beschreibung

Mit dieser Methode kann die ID des ausgewählten Eintrag's abgefragt werden. Dieser Wert ist nur im Select-Handler gültig.

Rückgabewert

USHORT	Die ID des ausgewählten Menu-Eintrags.

_______________


MenuButton::ChangeSelectHdl( const Link& rLink )
MenuButton::ChangeSelectHdl()

Link MenuButton::ChangeSelectHdl( const Link& rLink );

Beschreibung

Mit dieser Methode wird dem MenuButton eine Referenz auf den Handler übergeben, der gerufen wird, wenn ein Eintrag im Menu ausgewählt wird.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn ein Eintrag im Menu ausgewählt wird. Als Parameter erhält der Handler einen Zeiger auf den geklickten MenuButton.

Prototyp des Handlers:

void MyClass::Select( MenuButton* pButton );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link

_______________


MenuButton::GetSelectHdl()

Link MenuButton::GetSelectHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn ein Eintrag im Menu ausgewählt wird.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


MessBox

class MessBox : ModalDialog

{

public:

MessBox( Window* pParent, WinBits nWinStyle,const String& rTitle, const String& rMessage );

MessBox( Window* pParent, const ResId& rResId );

virtual	~MessBox();

void	SetMessText( const String& rText );

String	GetMessText() const;

void	SetButtonText( USHORT nButtonType, const String& rText);

short	Execute();

};

Beschreibung

Die Klasse MessBox ist von der Klasse ModalDialog abgeleitet und stellt vordefinierte applikationsmodale Dialogboxen zur Verfügung. Beim Erzeugen einer Messagebox können Titel, Text und eine Auswahl vordefinierter Buttons im Konstruktor angegeben werden. Die Methode Execute() startet den Dialog und liefert als Ergebnis den Code des ausgewählten Buttons. Bei einem mehrzeiligen Text muß der Beginn einer neuen Zeile durch "\n" markiert werden.

Basisklassen

ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Beispiel

In diesem Beispiel wird eine Messagebox mit einem Ok- und einem Cancel-Button erzeugt. Nach Aufruf der Messagebox wird geprüft, mit welcher Taste die Messagebox beendet wurde.

...

MessBox aMessBox( this, WinBits( WB_OK_CANCEL ), "The Title", "The Text." );

switch( aMessBox.Execute() )

{

case RET_OK:

...

break;

}

Abbildung: Messagebox

Querverweise

InfoBox, WarningBox, ErrorBox, QueryBox

_______________


MessBox::MessBox( Window* pParent, WinBits nWinStyle, const String& rTitle, const String& rMessage )
MessBox::MessBox()

MessBox::MessBox( Window* pParent, WinBits nWinStyle, const String& rTitle, const String& rMessage );

Beschreibung

Konstruktor für eine Instanz der Klasse MessBox. Als Parameter werden der Parent, die Stylebits, der Titel und der Text übergeben. Durch den Konstruktor wird eine Messagebox erzeugt, aber noch nicht angezeigt. Dies geschieht erst durch die Methode Execute().

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Folgende Stylebits sind möglich:

WB_SYSMODAL

Die MessBox ist systemmodal.

WB_OK

Button OK.

WB_OK_CANCEL

Button OK und Cancel.

WB_YES_NO

Button Yes und No.

WB_YES_NO_CANCEL

Button Yes, No und Cancel.

WB_RETRY_CANCEL

Button Retry und Cancel.

(Es sind keine Kombinationen zulässig)

WB_DEF_OK

Der OK-Button ist der Default-Button.

WB_DEF_CANCEL

Der CANCEL-Button ist der Default-Button.

WB_DEF_YES

Der YES-Button ist der Default-Button.

WB_DEF_NO

Der NO-Button ist der Default-Button.

WB_DEF_RETRY

Der RETRY-Button ist der Default-Button.

(Es sind keine Default-Kombinationen zulässig)

const String& rTitle	Dieser Text wird in der Titelzeile der Messagebox angezeigt.

const String& rMessage	Dieser Text wird in der Messagebox angezeigt.

Anmerkungen

Es existiert kein Default-Button, wenn dieser nicht explizit durch die Applikation gesetzt wird.

Querverweise

MessBox::Execute()

_______________


MessBox::MessBox( Window* pParent, const ResId& rResId )
MessBox::MessBox()

MessBox::MessBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für eine Instanz der Klasse MessBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource, MessBox::Execute()

_______________


MessBox::~MessBox()

virtual MessBox::~MessBox();

Beschreibung

Destruktor der Klasse MessBox.

_______________


MessBox::SetMessText( const String& rText )
MessBox::SetMessText()

void MessBox::SetMessText( const String& rText );

Beschreibung

Die Methode setzt einen neuen Message-Text in die MessBox.

Parameter

const String& rText	Der neue Message-Text.

_______________


MessBox::GetMessText()

String MessBox::GetMessText() const;

Beschreibung

Die Methode ermittelt den aktuellen Message-Text der MessBox.

Rückgabewert

String	Der aktuellen Message-Text.

_______________


MessBox::SetButtonText( USHORT nButtonType, const String& rText)
MessBox::SetButtonText()

void MessBox::SetButtonText( USHORT nButtonType, const String& rText);

Beschreibung

Die Methode setzt einen neuen Button-Text in den angegebenen Button.

Parameter

USHORT nButtonType	Der Button, der einen neuen Text erhalten soll...

const String& rText	Der neue Button-Text.

_______________


MessBox::Execute()

short MessBox::Execute();

Beschreibung

Mit dieser Methode wird die Messagebox angezeigt und aktiviert. Wird ein Button ausgewählt, terminiert die Messagebox und liefert als Ergebnis den Code des ausgewählten Buttons.

Rückgabewert

short	RET_OK

Der Ok-Button wurde selektiert.

RET_CANCEL

Der Cancel-Button wurde selektiert.

RET_YES

Der Yes-Button wurde selektiert.

RET_NO

Der No-Button wurde selektiert.

RET_RETRY

Der Retry-Button wurde selektiert.

Anmerkungen

Der Aufruf dieser Methode ist modal, d.h. diese Methode wird erst dann beendet, wenn ein Button betätigt wurde.

Als Ergebnis kann nur ein Button geliefert werden, der auch als Stylebit im Konstruktor der Messagebox angegeben wurde.

_______________


MetaAction

class MetaAction

{

public:

MetaAction();

MetaAction( USHORT nType );

virtual	~MetaAction();

virtual void	Execute( void* pObj );

USHORT	GetType() const;

void	Duplicate();

void	Delete();

};

Beschreibung

Die Klasse MetaAction bildet die Basisklasse aller Klassen, die Aktionen repräsentieren. Bei diesen Aktionen handelt es sich um Aktionen, die im MetaFile gespeichert werden. Für jede der Aktionen muß eine Ableitung der Klasse MetaAction erstellt werden, die genau eine Aktion repräsentiert.

Die Aktionen müssen mit new angelegt werden und dürfen nicht weiter verwendet werden, wenn sie in einem MetaFile gespeichert sind. Die Aktionen werden ausschließlich vom MetaFile zerstört.

Mit der Methode Duplicate() wird eine intern gespeicherte Referenz hochgezählt, mit der es möglich ist, die Instanz erst zu zerstören, wenn die Instanz nicht mehr referenziert wird. Dazu darf dann natürlich nicht der Destruktor gerufen werden, sondern muß die Methode Delete() aufgerufen werden. Sind alle Referenzen abgearbeitet, zerstört sich das Objekt mit delete this selber.

_______________


MetaAction::MetaAction()

MetaAction::MetaAction();

Beschreibung

Default-Konstruktor der Klasse MetaAction. Der Typ wird auf 0 gesetzt.

_______________


MetaAction::MetaAction( USHORT nType )
MetaAction::MetaAction()

MetaAction::MetaAction( USHORT nType );

Beschreibung

Konstruktor der Klasse MetaAction. Dem Konstruktor muß ein eindeutiger Typ übergeben werden.

Parameter

USHORT nType	Eindeutiger Typ, der die MetaAction identifiziert.

_______________


MetaAction::~MetaAction()

virtual MetaAction::~MetaAction();

Beschreibung

Virtueller Destruktor der Klasse MetaAction. Der Destruktor ist virtuell, damit abgeleitete Klassen ihre Daten freigeben können, wenn die MetaAction vom MetaFile gelöscht wird.

_______________


MetaAction::Execute( void* pObj )
MetaAction::Execute()

virtual void MetaAction::Execute( void* pObj );

Beschreibung

Diese Methode startet die auf dem übergebenen Objekt auszuführende Aktion.

Parameter

void* pObj	Der Zeiger auf das Objekt, auf dem die Ausführung erfolgen soll.

_______________


MetaAction::GetType()

USHORT MetaAction::GetType() const;

Beschreibung

Mit dieser Methode kann erfragt werden, um welche Aktion es sich handelt.

Rückgabewert

USHORT	Typ der MetaAction.

_______________


MetaAction::Duplicate()

void MetaAction::Duplicate();

Beschreibung

Diese Methode erhöht einen internen Referenzzähler, damit bei Delete() entschieden werden kann, ob sich das Objekt zerstören kann oder nur den Referenzzähler erniedrigen muß. Durch die Verwendung dieser Technik ist es möglich, eine Instanz mehrfach zu referenzieren, ohne die Instanz mehrfach anzulegen.

_______________


MetaAction::Delete()

void MetaAction::Delete();

Beschreibung

Diese Methode erniedrigt den internen Referenzzähler. Falls alle Referenzen, die mit Duplicate() erzeugt wurden, gelöscht sind, zerstört sich das Objekt mit delete this selber.

_______________


MetaFile

#define METAFILE_END                ((ULONG)0xFFFFFFFF)

#define METAFILE_LABEL_NOTFOUND     ((ULONG)0xFFFFFFFF)

class MetaFile

{

protected:

virtual void	Linker( void* pObj, BOOL bLink );

virtual long	Hook();

public:

MetaFile();

MetaFile( const MetaFile& rMtf );

virtual	~MetaFile();

void	AddAction( MetaAction* pAction );

void	Clear();

void	Record( void* pObj );

BOOL	IsRecord() const;

void	Play( void* pObj, ULONG nPos = METAFILE_END );

void	Play( MetaFile& rMtf,ULONG nPos = METAFILE_END  );

void	Pause( BOOL bPaused );

BOOL	IsPause() const;

void	Stop();

void	WindStart();

void	WindEnd();

void	Wind( ULONG nAction );

void	WindPrev();

void	WindNext();

ULONG	GetActionCount() const;

const MetaAction*	GetAction( ULONG nAction ) const;

const MetaAction*	GetCurAction() const;

BOOL	InsertLabel( const String& rLabel, ULONG nActionPos );

void	RemoveLabel( const String& rLabel );

ULONG	GetActionPos( const String& rLabel );

String	GetLabel( ULONG nLabel );

ULONG	GetLabelCount() const;

Link	ChangeHookHdl( const Link& rLink );

Link	GetHookHdl() const;

MetaFile&	operator =( const MetaFile& rMtf );

};

Beschreibung

Das MetaFile ist die Ablage einer Sequenz von Aktionen.

Der Zweck des MetaFiles liegt in der Möglichkeit, häufig benötigte Abfolgen von Aktionen speichern und wieder abspielen zu können.

Das MetaFile muß für Aufnahme und Wiedergabe an ein Objekt angehängt werden. Für diese Aufgabe müssen Klassen von der Klasse MetaFile abgeleitet und diese Methode über die Methode Linker() ausgeführt werden.

Jede Aktion innerhalb eines MetaFiles kann über seine Position angesprochen werden, so daß eine teilweise Wiedergabe möglich ist. Zusätzlich können Labels gesetzt werden, mit deren Hilfe dann eine ebenfalls eine Lokalisierung der einzelnen Aktionen möglich ist.

Beispiel

class MouseMetaFile : public MetaFile

{

protected:

void	Linker( void* pObj, BOOL bLink );

public:

BOOL	AddAction( MetaAction* pAction )

{ return MetaFile::AddAction( pAction ); }

};

void MouseMetaFile::Linker( void* pObj, BOOL bLink )

{

if( bLink )

((MyWindow*)pObj)->Record( this );

else

((MyWindow*)pObj)->Stop();

}

#define MOUSE_ACTION 1

class MouseAction : public MetaAction

{

private:

MouseEvent	aEvt;

public:

MouseAction( const MouseEvent& rEvt ) : ( MOUSE_ACTION )

{ aEvt = rEvt; }

void	Execute( Object* pObj )

{ ((Window*)pObj)->MouseMove( aEvt ) }

};

class MyWindow : public Window

{

private:

MouseMetaFile*	pMetaFile;

Point	aOldPoint;

friend class	MouseMetaFile;

void	Record( MouseMetaFile* pMeta )

{ pMetaFile = pMeta; }

void	Stop() { pMetaFile = NULL; }

protected:

void	MouseMove( const MouseEvent& rEvt );

public:

MyWindow() { pMetaFile = NULL; }

};

void MyWindow::MouseMove( const MouseEvent& rEvt )

{

if ( pMetaFile )

pMetaFile->AddAction( new MouseAction( rEvt ) );

DrawLine( aOldPoint, aOldPoint = rEvt.GetPosPixel() );

}

Querverweise

MetaAction

_______________


MetaFile::Linker( void* pObj, BOOL bLink )
MetaFile::Linker()

virtual void MetaFile::Linker( void* pObj, BOOL bLink );

Beschreibung

Diese Methode ist für die Verbindung von einem MetaFile zu einem Objekt zuständig. Sie muß von einer abgeleiteten Klasse überladen werden und dafür sorgen, daß die Verbindung hergestellt wird. Diese Methode wird bei den Methoden Pause(), Record() und Stop() aufgerufen. Sie muß dem Objekt pObj mitteilen, ob es jetzt Aktionen an das MetaFile senden oder nicht mehr senden soll. In der Basisklasse MetaFile macht die Methode Linker() nichts.

Parameter

void* pObj	Der Zeiger auf das Objekt, zu dem die Verbindung aufgenommen werden soll.

BOOL bLink	TRUE

Verbindung aufnehmen; die Verbindung wird bei Record() und bei Pause( FALSE ) aufgenommen.

FALSE

Verbindung lösen; die Verbindung wird bei Stop() und bei Pause( TRUE ) gelöst.

_______________


MetaFile::Hook()

virtual long MetaFile::Hook();

Beschreibung

Diese Methode wird beim Abspielen von MetaFiles aufgerufen, bevor eine MetaAction ausgeführt wird. In dieser Methode wird der Handler aufgerufen, der mit ChangeHookHdl() eingestellt worden ist. Innerhalb dieses Handlers kann über die Methode GetCurAction() ein Zeiger auf die aktuelle MetaAction abgefragt werden.

Mit Hilfe des Rückgabewertes kann der Handler entscheiden, ob die aktuelle MetaAction ausgeführt werden soll oder nicht.

Rückgabewert

long	Wird hier 0 zurückgegeben, so wird die aktuelle MetaAction ausgeführt. Der Rückgabewert ist der Rückgabewert des eingestellten Handlers.

Bei der Rückgabe eines Wertes ungleich 0 wird die MetaAction nicht ausgeführt.

Querverweise

MetaFile::ChangeHookHdl(), MetaFile::GetCurAction()

_______________


MetaFile::MetaFile()

MetaFile::MetaFile();

Beschreibung

Konstruktor der Klasse MetaFile.

_______________


MetaFile::MetaFile( const MetaFile& rMtf )
MetaFile::MetaFile()

MetaFile::MetaFile( const MetaFile& rMtf );

Beschreibung

Copy-Konstruktor der Klasse MetaFile. Dieser Konstruktor übernimmt alle gespeicherten Labels und Aktionen sowie die eingestellten Werte des übergebenen MetaFiles.

Parameter

const MetaFile& rMtf	Das MetaFile, von dem die gespeicherten Labels und Aktionen sowie die eingestellten Werte übernommen werden sollen.

_______________


MetaFile::~MetaFile()

MetaFile::~MetaFile();

Beschreibung

Destruktor der Klasse MetaFile. Der Destruktor gibt alle gespeicherten Labels und Aktionen wieder frei.

_______________


MetaFile::AddAction( MetaAction* pAction )
MetaFile::AddAction()

void MetaFile::AddAction( MetaAction* pAction );

Beschreibung

Diese Methode ist eine Art Event-Handler für die Aufnahme von neuen Aktionen während einer Aufnahme.

Parameter

MetaAction* pAction	Der Zeiger auf die MetaAction-Instanz, die im MetaFile aufgezeichnet werden soll. Die MetaAction muß mit new angelegt werden und befindet sich nach Aufruf dieser Methode in der Verwaltung des MetaFiles. Die MetaAction wird automatisch durch das MetaFile mit delete gelöscht, wenn sie nicht mehr referenziert wird.

Querverweise

MetaAction

_______________


MetaFile::Clear()

void MetaFile::Clear();

Beschreibung

Die Methode löscht alle Labels und Aktionen aus dem MetaFile. Ist zu dem Zeitpunkt eine Aufnahme aktiv, so wird diese vorher beendet.

_______________


MetaFile::Record( void* pObj )
MetaFile::Record()

void MetaFile::Record( void* pObj );

Beschreibung

Diese Methode startet die Aufnahme von dem im Parameter pObj angegebenen Objekt. Es werden ab sofort alle Aktionen des entsprechenden Objektes aufgezeichnet, wenn eine Verbindung über die Methode Linker() aufgenommen wurde und das Senden der Aktionen in dem entsprechenden Objekt implementiert ist. Die Aktionen werden so lange protokolliert, bis die Methoden Stop() oder Pause() aufgerufen werden.

Diese Methode hängt Aufzeichnungen immer am Ende der schon im MetaFile gespeicherten Aktionen an. Es ist nicht möglich, innerhalb einer bestehenden Sequenz weitere Aktionen einzufügen.

Parameter

void* pObj	Der Zeiger auf das Objekt, von dem die Aufnahme erfolgen soll.

_______________


MetaFile::IsRecord()

BOOL MetaFile::IsRecord() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob eine Aufnahme gestartet wurde. Auch wenn eine Aufnahme mit Pause() unterbrochen wurde, liefert diese Methode TRUE zurück. Ob die Aufnahme unterbrochen wurde, kann mit der Methode IsPause() abgefragt werden. Ist bei Aufruf dieser Methode keine Aufnahme aktiv, so wird der Aufruf ignoriert.

Rückgabewert

BOOL	TRUE

Es wurde eine Aufnahme gestartet.

FALSE

Es wurde keine Aufnahme gestartet.

_______________


MetaFile::Play( void* pObj, ULONG nPos = METAFILE_END )
MetaFile::Play()

void MetaFile::Play( void* pObj, ULONG nPos = METAFILE_END );

Beschreibung

Diese Methode spielt den Inhalt des MetaFiles von der aktuellen bis zur übergebenen Position auf dem übergebenen Objekt ab. Dazu wird bei den gespeicherten MetaActions die Methode MetaAction::Execute() aufgerufen.

Falls eine Aufnahme aktiv ist, wird der Aufruf ignoriert.

Parameter

void* pObj	Der Zeiger auf das Objekt, das die Ausgaben ausführen soll.

ULONG nPos	Die Position, bis zu der abgespielt werden soll. Falls nichts angegeben wird, wird bis zum Ende des MetaFiles abgespielt.

_______________


MetaFile::Play( MetaFile& rMtf, ULONG nPos = METAFILE_END )
MetaFile::Play()

BOOL MetaFile::Play( MetaFile& rMtf, ULONG nPos = METAFILE_END );

Beschreibung

Diese Methode spielt den Inhalt des MetaFiles von der aktuellen bis zur übergebenen Position auf dem übergebenen MetaFile ab. Dazu werden die gespeicherten Aktionen kopiert und an das übergebenen MetaFile angehängt.

Falls eine Aufnahme aktiv ist, wird der Aufruf ignoriert.

Parameter

MetaFile& rMtf	Referenz auf das MetaFile, auf dem die Ausgabe erfolgen soll.

ULONG nPos	Die Position, bis zu der abgespielt werden soll. Falls nichts angegeben wird, wird bis zum Ende des MetaFiles abgespielt.

_______________


MetaFile::Pause( BOOL bPaused )
MetaFile::Pause()

void MetaFile::Pause( BOOL bPaused );

Beschreibung

Wird dieser Methode der Wert TRUE übergeben, so wird die Aufnahme zeitweise unterbrochen. Die logische Verbindung zwischen dem Objekt und dem MetaFile bleibt jedoch weiterhin bestehen. Eine Fortsetzung der Aufnahme erfolgt nach einem erneuten Aufruf dieser Methode mit Übergabe des Wertes FALSE. Ist bei Aufruf dieser Methode keine Aufnahme aktiv, so wird der Aufruf ignoriert.

Parameter

BOOL bPaused	TRUE

Die Aufnahme wird unterbrochen.

FALSE

Die Aufnahme wird fortgesetzt.

_______________


MetaFile::IsPause()

BOOL MetaFile::IsPause() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob eine Aufnahme mit Pause() unterbrochen wurde.

Rückgabewert

BOOL	TRUE

Die Aufnahme ist unterbrochen.

FALSE

Die Aufnahme ist nicht unterbrochen, oder es wurde keine Aufnahme gestartet.

_______________


MetaFile::Stop()

void MetaFile::Stop();

Beschreibung

Diese Methode beendet eine laufende Aufnahme. Dies kann unabhängig davon geschehen, ob die Aufnahme momentan mit Pause() unterbrochen wurde oder aktiv war.

Die logische Verbindung zwischen dem bei der Methode Record() übergebenen Objekt und dem MetaFile wird unterbrochen.

Falls keine Aufnahme gestartet wurde, so wird der Aufruf ignoriert.

Anmerkungen

Eine laufende Wiedergabe kann nicht unterbrochen werden, da die Methode Play() erst nach Beendigung der Ausgabe zurückkehrt.

_______________


MetaFile::WindStart()

void MetaFile::WindStart();

Beschreibung

Die Methode setzt die erste Aktion als aktuelle Aktion im MetaFile.

_______________


MetaFile::WindEnd()

void MetaFile::WindEnd();

Beschreibung

Die Methode setzt die letzte Aktion als aktuelle Aktion im MetaFile.

_______________


MetaFile::Wind( ULONG nAction )
MetaFile::Wind()

void MetaFile::Wind( ULONG nAction );

Beschreibung

Die Methode setzt die im Parameter nAction angegebene Aktion als aktuelle Aktion im MetaFile.

Parameter

ULONG nAction	Die Aktion, auf die die aktuelle Position im MetaFile gesetzt werden soll.

_______________


MetaFile::WindPrev()

void MetaFile::WindPrev();

Beschreibung

Die Methode setzt die vorherige Aktion als aktuelle Aktion im MetaFile.

_______________


MetaFile::WindNext()

BOOL MetaFile::WindNext();

Beschreibung

Die Methode setzt die nachfolgende Aktion als aktuelle Aktion im MetaFile.

_______________


MetaFile::GetActionCount()

ULONG MetaFile::GetActionCount() const;

Beschreibung

Diese Methode gibt die Anzahl der gespeicherten Aktionen zurück.

Rückgabewert

ULONG	Die Anzahl der gespeicherten Aktionen.

_______________


MetaAction* MetaFile::GetCurAction()
MetaFile::GetCurAction()

const MetaAction* MetaFile::GetCurAction() const;

Beschreibung

Mit dieser Methode kann die aktuelle MetaAction abgefragt werden.

Diese Methode kann eingesetzt werden, wenn z.B. im Hook bestimmte Aktionen nicht mit abgespielt werden sollen.

Rückgabewert

const MetaAction*	Der Zeiger auf die aktuelle MetaAction, die als nächstes ausgeführt wird.

_______________


MetaFile::GetAction( ULONG nAction )
MetaFile::GetAction()

const MetaAction* MetaFile::GetAction( ULONG nAction ) const;

Beschreibung

Mit dieser Methode kann die angegebene MetaAction abgefragt werden.

Diese Methode kann eingesetzt werden, wenn z.B. im Hook bestimmte Aktionen nicht mit abgespielt werden sollen.

Parameter

ULONG nAction	Die gesuchte Aktion. Der höchste Wert für nAction ist GetActionCount() - 1.

Rückgabewert

const MetaAction*	Der Zeiger auf die gesuchte MetaAction.

_______________


MetaFile::InsertLabel( const String& rLabel, ULONG nActionPos)
MetaFile::InsertLabel()

BOOL MetaFile::InsertLabel( const String& rLabel, ULONG nActionPos);

Beschreibung

Die Methode setzt an der angegebene Position innerhalb des MetaFiles ein Label. Diese Methode ist nur erfolgreich, wenn vorher eine Aufnahme mit der Methode Record() gestartet wurde. Ein Label kann während einer Aufnahme jederzeit gesetzt werden, also auch während einer Unterbrechung der Aufzeichnung mit der Methode Pause().

Falls keine Aufnahme aktiv ist oder das Label schon existiert, so wird dieser Aufruf ignoriert und FALSE zurückgeliefert.

Parameter

const String& rLabel	Der Name des Labels.

ULONG nActionPos	Die Position innerhalb des MetaFiles, an der das Label gesetzt wurde.

Rückgabewert

BOOL	TRUE

Das Label konnte gesetzt werden.

FALSE

Das Label ist bereits im MetaFile vorhanden, oder es ist keine Aufnahme aktiv.

_______________


MetaFile::RemoveLabel( const String& rLabel )
MetaFile::RemoveLabel()

void MetaFile::RemoveLabel( const String& rLabel );

Beschreibung

Diese Methode entfernt das angegebene Label aus dem MetaFile.

Parameter

const String& rLabel	Das Label, das entfernt werden soll.

_______________


MetaFile::GetActionPos( const String& rLabel )
MetaFile::GetActionPos()

ULONG MetaFile::GetActionPos( const String& rLabel );

Beschreibung

Diese Methode gibt die Position der Aktion hinter dem angegebenen Label zurück.

Parameter

const String& rLabel	Das Label, das vor der gesuchten Aktion steht.

Rückgabewert

ULONG	Die Position der gesuchten Aktion.

_______________


MetaFile::GetLabelCount()

ULONG MetaFile::GetLabelCount() const;

Beschreibung

Diese Methode gibt die Anzahl der gesetzten Labels zurück.

Rückgabewert

ULONG	Die Anzahl der gesetzten Labels.

_______________


MetaFile::GetLabel( ULONG nLabel )
MetaFile::GetLabel()

String MetaFile::GetLabel( ULONG nLabel ) const;

Beschreibung

Die Methode gibt den Namen des angegebenen Labels zurück.

Parameter

ULONG nLabel	Das gesuchte Label. Der höchste Wert für nLabel ist GetLabelCount() - 1.

Rückgabewert

String	Der Name des Labels.

_______________


MetaFile::ChangeHookHdl( const Link& rLink )
MetaFile::ChangeHookHdl()

Link MetaFile::ChangeHookHdl( const Link& rLink );

Beschreibung

Mit dieser Methode wird einem MetaFile eine Referenz auf einen Handler übergeben. Dieser Handler wird beim Abspielen vor jeder MetaAction aufgerufen.

Parameter

const Link& rLink	Der Link zeigt auf den Hook-Handler, der gerufen wird, bevor eine MetaAction ausgeführt wird. Als Parameter erhält der Handler einen Zeiger auf das MetaFile.

Prototyp des Handlers:

long MyClass::Hook( MetaFile* pMetaFile );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Der Rückgabewert des Handlers bestimmt, ob die aktuelle MetaAction ausgeführt wird oder nicht.

Bei einem Rückgabewert ungleich 0 wird die MetaAction nicht ausgeführt.

Rückgabewert

Link	Der Link enthält den alten Hook-Handler.

_______________


MetaFile::GetHookHdl()

Link MetaFile::GetHookHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Hook-Handler, der gerufen wird, bevor eine MetaAction ausgeführt wird.

Rückgabewert

Link	Der Link zeigt auf den Hook-Handler.

_______________


MetaFile::operator =( const MetaFile& rMtf )
MetaFile::operator =()

MetaFile& MetaFile::operator =( const MetaFile& rMtf );

Beschreibung

Zuweisungsoperator der Klasse MetaFile. Dieser Konstruktor übernimmt alle gespeicherten Labels und Aktionen sowie die eingestellten Werte des übergebenen MetaFiles.

Parameter

const MetaFile& rMtf	Das MetaFile, von dem die gespeicherten Labels und Aktionen sowie die eingestellten Werte übernommen werden sollen.

Rückgabewert

MetaFile&	Referenz auf die eigene Instanz für Mehrfachzuweisungen.

_______________


MetricBox

class MetricBox : public ComboBox, public MetricFormatter

{

public:

MetricBox( Window* pParent, WinBits nWinStyle );

MetricBox( Window* pParent,const ResId& rResId);

void	InsertValue( long nValue, FieldUnit eInUnit = FUNIT_NONE, USHORT nPos = COMBOBOX_APPEND );

void	RemoveValue( long nValue, FieldUnit eInUnit = FUNIT_NONE );

long	GetValue(FieldUnit eOutUnit=FUNIT_NONE) const;

long	GetValue( USHORT nPos, FieldUnit eOutUnit=FUNIT_NONE) const;

USHORT	GetValuePos( long nValue, FieldUnit eInUnit=FUNIT_NONE)const;

};

Beschreibung

Eine MetricBox ist eine ComboBox für formatierte Zahleneinträge mit Einheiten. Einheiten wie m, cm, mm, inch etc. werden automatisch konvertiert. Die Formatierung der Eingaben und der Listeneinträge erfolgt durch die Klasse NumericFormatter.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

NumericFormatter : MetricFormatter

Querverweise

MetricField, MetricFormatter

_______________


MetricBox::MetricBox( Window* pParent, WinBits nWinStyle = 0 )
MetricBox::MetricBox()

MetricBox::MetricBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse MetricBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der MetricBox werden aufsteigend sortiert.

_______________


MetricBox::MetricBox( Window* pParent, const ResId& rResId )
MetricBox::MetricBox()

MetricBox::MetricBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse MetricBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der MetricBox in der Resource.

Querverweise

Resource

_______________


MetricBox::InsertValue( long nValue, FieldUnit eInUnit =FUNIT_NONE, USHORT nPos = COMBOBOX_APPEND )
MetricBox::InsertValue()

void MetricBox::InsertValue( long nValue, FieldUnit eInUnit = FUNIT_NONE, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen Wert an der angegebenen Position in der MetricBox ein. Es kann optional die Einheit des übergebenen Zahlenwertes angegeben werden. Der Zahlenwert wird dann automatisch in die in der MetricBox eingestellte Einheit umgerechnet.

Parameter

long nValue	Der einzufügende Wert.

FieldUnit eInUnit	Eine optionale Einheit, in der der übergebene Zahlenwert vorliegt. Es wird automatisch in die Einheit der MetricBox umgerechnet. Wird keine Einheit angegeben, wird die Einheit der MetricBox zugrundegelegt.

USHORT nPos	Die Position, an der der Wert eingefügt werden soll. Falls nichts angegeben wird, wird der Wert hinter dem bisher letzten Eintrag eingefügt.

Querverweise

ComboBox, MetricFormatter

_______________


MetricBox::RemoveValue( long nValue, FieldUnit eInUnit = FUNIT_NONE )
MetricBox::RemoveValue()

void MetricBox::RemoveValue( long nValue, FieldUnit eInUnit = FUNIT_NONE );

Beschreibung

Die Methode entfernt den übergebenen Wert aus der MetricBox. Es kann optional die Einheit des übergebenen Zahlenwertes angegeben werden. Der Zahlenwert wird dann automatisch in die in der MetricBox eingestellte Einheit umgerechnet.

Parameter

long nValue	Der Wert, der entfernt werden soll.

FieldUnit eInUnit	Eine optionale Einheit, in der der übergebene Zahlenwert vorliegt. Es wird automatisch in die Einheit der MetricBox umgerechnet. Wird keine Einheit angegeben, wird die Einheit der MetricBox zugrundegelegt.

Querverweise

ComboBox, MetricFormatter

_______________


MetricBox::GetValue( FieldUnit eOutUnit=FUNIT_NONE )
MetricBox::GetValue()

long MetricBox::GetValue( FieldUnit eOutUnit=FUNIT_NONE ) const;

Beschreibung

Die Methode liefert den Wert an der aktuellen Position zurück. Es kann optional die Einheit werden, in der der Wert zurückgeliefert werden soll. Der Zahlenwert wird dann automatisch von der in der MetricBox eingestellten Einheit umgerechnet.

Parameter

FieldUnit eOutUnit	Eine optionale Einheit, in der der Wert geliefert werden soll. Wird keine Einheit angegeben, wird der Wert in der in der MetricBox eingestellten Einheit geliefert.

Rückgabewert

long	Der aktuelle Wert.

Querverweise

ComboBobox, MetricFormatter

_______________


MetricBox::GetValue( USHORT nPos, FieldUnit eOutUnit=FUNIT_NONE )
MetricBox::GetValue()

long MetricBox::GetValue( USHORT nPos, FieldUnit eOutUnit=FUNIT_NONE ) const;

Beschreibung

Die Methode liefert den Wert zurück, der sich an der angegebenen Position innerhalb der MetricBox befindet. Es kann optional die Einheit angegeben werden, in der der Wert zurückgeliefert werden soll. Der Zahlenwert wird dann automatisch von der in der MetricBox eingestellten Einheit umgerechnet

Parameter

USHORT nPos	An dieser Position befindet sich der Wert, der ermittelt werden soll.

FieldUnit eOutUnit	Eine optionale Einheit, in der der Wert geliefert werden soll. Wird keine Einheit angegeben, wird der Wert in der in der MetricBox eingestellten Einheit geliefert.

Rückgabewert

long	Der Wert, der sich an der Position nPos befindet.

Querverweise

ComboBox, MetricFormatter

_______________


MetricBox::GetValuePos( long nValue, FieldUnit eInUnit=FUNIT_NONE)
MetricBox::GetValuePos()

USHORT MetricBox::GetValuePos( long nValue, FieldUnit eInUnit=FUNIT_NONE) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Werts innerhalb der MetricBox. Es kann optional die Einheit angegeben werden, in der der übergebene Wert vorliegt. Der Zahlenwert wird dann automatisch in die in der MetricBox eingestellte Einheit umgerechnet.

Parameter

long nValue	Der Wert, dessen Position ermittelt werden soll.

FieldUnit eInUnit	Eine optionale Einheit, in der der gesuchte Wert vorliegt. Der Wert wird automatisch in die in der MetricBox eingestellte Einheit umgerechnet. Wird keine Einheit angegeben, wird die in der MetricBox eingestellte Einheit angenommen.

Rückgabewert

USHORT	Die Position des Werts.

Querverweise

ComboBox, MetricFormatter

_______________


MetricField

class MetricField : public SpinField, public MetricFormatter

{

public:

MetricField(Window* pParent, WinBits nWinStyle);

MetricField(Window* pParent,const ResId& rResId);

long	ChangeFirst( long nNewFirst, FieldUnit eInUnit=FUNIT_NONE );

long	GetFirst( FieldUnit eOutUnit=FUNIT_NONE ) const;

long	ChangeLast( long nNewLast, FieldUnit eInUnit=FUNIT_NONE );

long	GetLast( FieldUnit eOutUnit=FUNIT_NONE ) const;

long	ChangeSpinSize( long nNewSize );

long	GetSpinSize() const;

};

Beschreibung

Das MetricField ist ein Eingabefeld für formatierte Zahleneinträge mit Einheiten. Einheiten, wie m, cm, mm, inch etc., werden  automatisch konvertiert. Die Formatierung der Eingaben erfolgt durch die Klasse MetricFormatter.

Basisklassen

SpinField  :  Edit   :  Control  :  Window  :  OutputDevice  : Resource  :  LinkHdl;

NumericFormatter  :  MetricFormatter

Querverweise

MetricBox, MetricFormatter, SpinField


MetricField::MetricField(Window* pParent,WinBits nWinStyle = 0)
MetricField::MetricField()

MetricField::MetricField(Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse MetricField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das MetricField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das MetricField erhält einen SpinButton.

WB_REPEAT

Bei mehrmaligem Betätigen des SpinButtons soll die Aktion fortlaufend durchgeführt werden.

Querverweise

Edit, SpinField, Window

_______________


MetricField::MetricField( Window* pParent, const ResId& rResId)
MetricField::MetricField()

MetricField::MetricField( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse MetricField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des MetricFields.

Querverweise

Resource

_______________


MetricField::ChangeFirst( long nNewFirst, FieldUnit eInUnit=FUNIT_NONE )
MetricField::ChangeFirst()

long MetricField::ChangeFirst( long nNewFirst, FieldUnit eInUnit=FUNIT_NONE );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Parameter

long nNewFirst	Der neue Wert, der durch Betätigen der Taste <PGDOWN> gesetzt wird. Dieser  Wert muß in dem mit den Methoden ChangeMin() und ChangeMax() eingestellten Bereich liegen.

Querverweise

MetricField::GetFirst(), MetricField::ChangeMin(), CurrencyField::ChangeMax()

_______________


MetricField::GetFirst()

long MetricField::GetFirst() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGDOWN> gesetzt wird.

_______________


MetricField::ChangeLast( long nNewLast )
MetricField::ChangeLast()

long MetricField::ChangeLast( long nNewLast );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGUP> gesetzt wird.

Parameter

long nNewLast	Der neue Wert, der durch einmaliges Betätigen der Taste <PGUP> erreicht wird. Dieser Wert muß in dem mit den Methoden ChangeMin() und ChangeMax() eingestellten Bereich liegen.

Querverweise

MetricField::GetLast(), MetricField::ChangeMin(), MetricField::ChangeMax()

_______________


MetricField::GetLast()

long MetricField::GetLast() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGUP> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

_______________


MetricField::ChangeSpinSize( long nSpinSize )
MetricField::ChangeSpinSize()

long MetricField::ChangeSpinSize( long nSpinSize );

Beschreibung

Die Methode legt fest, um welchen Wert der Wert des MetricFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten nach oben bzw. nach unten erhöht bzw. erniedrigt werden soll.

Parameter

long nSpinSize	Der Wert, um den der Wert des MetricFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt werden soll.

Rückgabewert

long	Der zuvor gesetzte Wert, um den der aktuelle Wert des MetricFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt wurde.

Querverweise

MetricField::GetSpinSize(), SpinField

_______________


MetricField::GetSpinSize()

long MetricField::GetSpinSize() const;

Beschreibung

Die Methode gibt den zurück, um den das MetricField bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten nach oben bzw. nach unten erhöht bzw. erniedrigt wird.

Rückgabewert

long	Der Wert, um den der Wert des MetricFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt wird.

_______________


MetricFormatter

#define METRICFORMATTER_UNIT                0x01

#define METRICFORMATTER_CUSTOMUNITTEXT      0x02

struct RSMETRICFORMATTER_TYPE

{

short	nObjMask;

};

enum FieldUnit	{ FUNIT_NONE, FUNIT_MM, FUNIT_CM, FUNIT_M, FUNIT_KM, FUNIT_TWIP, FUNIT_POINT, FUNIT_PICA, FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CUSTOM };

class MetricFormatter : public NumericFormatter

{

virtual void	CustomConvert() = 0;

MetricFormatter();

MetricFormatter( const ResId & rResId );

public:

FieldUnit	ChangeUnit( FieldUnit eUnit );

FieldUnit	GetUnit();

String	ChangeCustomUnitText( const String& rStr );

String	GetCustomUnitText() const;

Link	ChangeCustomConvertHdl( const Link& rLink );

Link	GetCustomConvertHdl() const;

String	GetCurUnitText() const;

void	SetValue( long nNewValue, FieldUnit eInUnit = FUNIT_NONE );

long	GetValue(FieldUnit eOutUnit = FUNIT_NONE)const;

long	ChangeMax( long nNewMax, FieldUnit eInUnit = FUNIT_NONE );

long	GetMax( FieldUnit eOutUnit = FUNIT_NONE ) const;

long	ChangeMin( long nNewMin, FieldUnit eInUnit = FUNIT_NONE );

long	GetMin( FieldUnit eOutUnit = FUNIT_NONE ) const;

void	Reformat();

};

Beschreibung

Die Klasse MetricFormatter ist eine Basisklasse für die Klassen MetricField und MetricBox. Aufbauend auf die Funktionalität der Klasse NumericFormatter sorgt diese Klasse für die Formatierung der Eingabe und Anzeige von Längenangaben in verschiedenen Einheiten. Es können keine Instanzen dieser Klasse direkt erzeugt werden.

Basisklassen

NumericFormatter

Querverweise

NumericFormatter, MetricField, MetricBox

_______________


enum FieldUnit

enum FieldUnit	{ FUNIT_NONE, FUNIT_MM, FUNIT_CM, FUNIT_M, FUNIT_KM, FUNIT_TWIP, FUNIT_POINT, FUNIT_PICA, FUNIT_INCH, FUNIT_FOOT, FUNIT_MILE, FUNIT_CUSTOM };

Beschreibung

Die Werte des enum FieldUnit geben die Einheiten für die Längenangaben in einem MetricField und einer MetricBox an.

FUNIT_NONE	Keine Einheit gesetzt

FUNIT_MM	Millimeter

FUNIT_CM	Zentimeter

FUNIT_M	Meter

FUNIT_KM	Kilometer

FUNIT_TWIP	Twips (1/1440inch oder 1/72Punkt)

FUNIT_POINT	Point (Punkt, 1/72inch)

FUNIT_PICA	Pica

FUNIT_INCH	Inch

FUNIT_FOOT	Fuß

FUNIT_MILE	Meile

FUNIT_CUSTOM	Die Einheit wird vom Benutzer definiert.

_______________


MetricFormatter::CustomConvert() = 0
MetricFormatter::CustomConvert()

virtual void MetricFormatter::CustomConvert() = 0;

Beschreibung

Dieser Handler wird immer dann gerufen, wenn bei gesetzter Einheit FUNIT_CUSTOM eine Umrechnung einer Eingabe in die Benutzereinheit nötig ist. Diese Umrechnung wird immer dann nötig, wenn das Feld den Focus verliert oder die Methode MetricField::Reformat() gerufen wird. Innerhalb des Handlers sollte die Applikation den Einheitentext im Eingabefeld abfragen und eine Umrechnung in die Benutzereinheit vornehmen. Das Ergebnis wird anschließend mit Hilfe der Methode SetValue in das Feld gesetzt. Der eingestellte benutzerdefinierte Einheitentext wird automatisch angefügt.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeCustomConvertHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeCustomConvertHdl() kein Handler installiert, so wird keine Umrechnung ausgelöst.

Beispiel

...

    aMetricField.ChangeUnit( FUNIT_CUSTOM );

    aMetricField.ChangeCustomUnitText( String( "Äpfel" ) );

    aMetricField.ChangeCustomConvertHdl( Link( this, MyClass,
                                         ConvertHdl ) );

...

void MyClass::ConvertHdl( MetricField* pField )

{

    String aUnitText = pField->GetCurUnitText();

    if( aUnitText == "Birnen" )

        SetValue( GetValue() / 2 ); // 2Birnen == 1Apfel

    if( aUnitText == "Bananen" )

        SetValue( GetValue() * 3 ); // 1Banane == 3Äpfel

}

Querverweise

MetricFormatter::ChangeCustomConvertHdl(), MetricFormatter::SetCustomUnitText()

_______________


MetricFormatter::MetricFormatter()

MetricFormatter::MetricFormatter();

Beschreibung

Konstruktor der Klasse MetricFormatter. Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Querverweise

MetricField, MetricBox

_______________


MetricFormatter::MetricFormatter( const ResId & rResId )
MetricFormatter::MetricFormatter()

MetricFormatter::MetricFormatter( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse MetricFormatter. Der Konstruktor ist als "protected" deklariert, da keine Instanzen dieser Klasse direkt erzeugt werden können.

Parameter

const ResId& rResId	Der Resource-Identifier des MetricFormatter.

Querverweise

Resource

_______________


MetricFormatter::ChangeUnit( FieldUnit eNewUnit )
MetricFormatter::ChangeUnit()

FieldUnit MetricFormatter::ChangeUnit( FieldUnit eNewUnit );

Beschreibung

Die Methode setzt eine neue Einheit für die Zahleneingabe im MetricField oder der MetricBox. Eingaben können auch weiterhin in allen definierten Einheiten eingegeben werden. Nach dem das Feld den Focus verliert wird, sofern möglich, eine Umrechnung in die eingestellte Einheit vorgenommen. Eine Ausnahme bilden Umrechnungen von sehr großen in sehr kleine Einheiten und umgekehrt, da diese den Wertebereich überschreiten würden (z.B. Meilen in Millimeter). Wird die Einheit FUNIT_CUSTOM eingestellt, wird zur Umrechnung der Eingaben in die Benutzerheinheiten die Methode MetricFormatter::CustomConvert() gerufen.

Parameter

FieldUnit eNewUnit	Die neue Einheit für die Zahleneingabe.

Rückgabewert

FieldUnit	Die zuvor gesetzte Einheit für die Zahleneingabe.

Querverweise

MetricFormatter::GetUnit(), MetricFormatter::CustomConvert()

_______________


MetricFormatter::GetUnit()

FieldUnit MetricFormatter::GetUnit() const;

Beschreibung

Die Methode ermittelt die für die Zahleneingabe im MetricField oder der MetricBox eingestellte Einheit.

Rückgabewert

FieldUnit	Die eingestellte Einheit für die Zahleneingabe.

Querverweise

MetricFormatter::ChangeUnit()

_______________


MetricFormatter::ChangeCustomUnitText( const String& rStr )
MetricFormatter::ChangeCustomUnitText()

String MetricFormatter::ChangeCustomUnitText( const String& rStr );

Beschreibung

Die Methode setzt einen neuen benutzerdefinierten Einheittext, der als String übergeben wird. Dieser Text wird als Einheit interpretiert und hinter dem eigentlichen Zahlenwert ausgegeben (z.B. "23 Liter").

Parameter

const String& rStr	Der benutzerdefinierte Einheitentext.

Rückgabewert

String	Der bisher gesetzte Einheitentext.

Querverweise

MetricFormatter::CustomConvert(), MetricFormatter::GetCustomUnitText()

_______________


MetricFormatter::GetCustomUnitText()

String MetricFormatter::GetCustomUnitText() const;

Beschreibung

Die Methode ermittelt den gesetzten benutzerdefinierten Einheitentext.

Rückgabewert

String	Der benutzerdefinierte Einheitentext.

Querverweise

MetricFormatter::ChangeCustomUnitText(), MetricFormatter::CustomConvert()

_______________


MetricFormatter::ChangeCustomConvertHdl( const Link& rLink )
MetricFormatter::ChangeCustomConvertHdl()

Link MetricFormatter::ChangeCustomConvertHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn eine Einheitenumrechnung, erforderlich ist. Dies gilt nur, wenn die Einheit FUNIT_CUSTOM gesetzt ist.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn eine Einheitenumrechnung erforderlich ist. Als Parameter erhält der Handler einen Zeiger auf den MetricFormatter.

Prototyp des Handlers:

void MyClass::CustomConvert( MetricFormatter* pFormatter );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, MetricFormatter::CustomConvert(), MetricFormatter::GetCustomConvertHdl()

_______________


MetricFormatter::GetCustomConvertHdl()

Link MetricFormatter::GetCustomConvertHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn eine Einheitenumrechnung, erforderlich ist. Dies gilt nur, wenn die Einheit FUNIT_CUSTOM gesetzt ist.

Rückgabewert

Link	Der Link enthält den Handler.

Querverweise

MetricFormatter::CustomConvert(), MetricFormatter::ChangeCustomConvertHdl()

_______________


MetricFormatter::GetCurUnitText()

String MetricFormatter::GetCurUnitText() const;

Beschreibung

Diese Methode dient zur Ermittlung des Einheitentextextes in einer Eingabe während des Aufrufes der Methode MetricFormatter::CustomConvert(). Der Rückgabewert dient als Information zur  Umrechnung von eingegebenen Einheiten in eine benutzerdefinierte Einheit. Der Rückgabewert dieser Methode ist nur innerhalb des Handlers MetricFormatter::CustomConvert() gültig.

Rückgabewert

String	Der Einheitentext der Eingabe. Wird diese Methode außerhalb des Handlers MetricFormatter::CustomConvert() aufgerufen, wird ein leerer String zurückgegeben.

Querverweise

MetricFormatter::CustomConvert()

_______________


MetricFormatter::SetValue( long nValue, FieldUnit eInUnit = FUNIT_NONE )
MetricFormatter::SetValue()

void MetricFormatter::SetValue( long nValue, FieldUnit eInUnit = FUNIT_NONE );

Beschreibung

Die Methode setzt einen neuen Zahlenwert für das MetricField bzw. die MetricBox.

Parameter

long nValue	Der neue Zahlenwert.

FieldUnit eInUnit	Die gültige Einheit. Falls nichts angegeben wird, gilt der Zahlenwert ohne Einheit.

Querverweise

...

_______________


MetricFormatter::GetValue( FieldUnit eOutUnit = FUNIT_NONE )
MetricFormatter::GetValue()

long MetricFormatter::GetValue( FieldUnit eOutUnit = FUNIT_NONE ) const;

Beschreibung

Die Methode ermittelt den aktuell gesetzten Zahlenwert.

Parameter

FieldUnit eOutUnit	Die gültige Einheit. Falls nichts angegeben wird, gilt der Zahlenwert ohne Einheit.

Rückgabewert

long	Der aktuell gesetzte Zahlenwert.

Querverweise

...

_______________


MetricFormatter::ChangeMin( long nNewMin, FieldUnit eInUnit = FUNIT_NONE )
MetricFormatter::ChangeMin()

long MetricFormatter::ChangeMin( long nNewMin, FieldUnit eInUnit = FUNIT_NONE );

Beschreibung

Die Methode setzt einen neuen Minimalwert für die Zahleneingabe im MetricField oder der MetricBox. Zusätzlich kann eine Einheit angegeben werden, in der der neue Minimalwert vorliegt.

Parameter

long nNewMin	Der neue Minimalwert für die Zahleneingabe.

FieldUnit eInUnit	Die Einheit, in der der neue Wert vorliegt. Wird keine Einheit angegeben, wird die in der Instanz eingestellte Einheit angenommen.

Rückgabewert

long	Der zuvor gesetzte Minimalwert für die Zahleneingabe.

Querverweise

MetricFormatter::ChangeMax(), MetricFormatter::ChangeUnit()

_______________


MetricFormatter::GetMin(FieldUnit eOutUnit = FUNIT_NONE)
MetricFormatter::GetMin()

long MetricFormatter::GetMin(FieldUnit eOutUnit = FUNIT_NONE)const;

Beschreibung

Die Methode ermittelt den für die Zahleneingabe im MetricField oder der MetricBox gesetzten Minimalwert. Zusätzlich kann eine Einheit angegeben werden, in der der Minimalwert  zurückgeliefert werden soll.

Parameter

FieldUnit eOutUnit	Die Einheit, in der der Rückgabewert geliefert werden soll. Wird keine Einheit angegeben, wird der Rückgabewert in der in der Instanz eingestellten Einheit geliefert.

Rückgabewert

long	Der Minimalwert für die Zahleneingabe.

Querverweise

MetricFormatter::ChangeMax(), MetricFormatter::ChangeUnit()

_______________


MetricFormatter::ChangeMax( long nNewMax, FieldUnit eInUnit = FUNIT_NONE )
MetricFormatter::ChangeMax()

long MetricFormatter::ChangeMax( long nNewMax, FieldUnit eInUnit = FUNIT_NONE );

Beschreibung

Die Methode setzt einen neuen Maximalwert für die Zahleneingabe im MetricField oder der MetricBox. Zusätzlich kann eine Einheit angegeben werden, in der der neue Maximalwert vorliegt.

Parameter

long nNewMax	Der neue Maximalwert für die Zahleneingabe.

FieldUnit eInUnit	Die Einheit, in der der neue Wert vorliegt. Wird keine Einheit angegeben, wird die in der Instanz eingestellte Einheit angenommen.

Rückgabewert

long	Der zuvor gesetzte Maximalwert für die Zahleneingabe.

Querverweise

MetricFormatter::ChangeMin(), MetricFormatter::ChangeUnit()

_______________


MetricFormatter::GetMax(FieldUnit eOutUnit = FUNIT_NONE)
MetricFormatter::GetMax()

long MetricFormatter::GetMax(FieldUnit eOutUnit = FUNIT_NONE)const;

Beschreibung

Die Methode ermittelt den für die Zahleneingabe im MetricField oder der MetricBox gesetzten Maximalwert. Zusätzlich kann eine Einheit angegeben werden, in der der Maximalwert  zurückgeliefert werden soll.

Parameter

FieldUnit eOutUnit	Die Einheit, in der der Rückgabewert geliefert werden soll. Wird keine Einheit angegeben, wird der Rückgabewert in der in der Instanz eingestellten Einheit geliefert.

Rückgabewert

long	Der Maximalwert für die Zahleneingabe.

Querverweise

MetricFormatter::ChangeMin(), MetricFormatter::ChangeUnit()

_______________


MetricFormatter::Reformat()

virtual void MetricFormatter::Reformat();

Beschreibung

Diese Methode überprüft den Inhalt des MetricField oder der MetricBox auf korrekten Inhalt und korrigiert die Formatierung entsprechend den Einstellungen. Diese Methode wird automatisch gerufen, wenn das Eingabefeld den Focus verliert. Durch Aufruf dieser Methode kann eine Applikation jederzeit zusätzlich eine Überprüfung und Korrektur des Inhalts der MetricField oder der MetricBox vornehmen.

Querverweise

_______________


FontMetric

enum FontType	{ TYPE_DONTKNOW, TYPE_RASTER, TYPE_VECTOR, TYPE_SCALABLE };

class FontMetric

{

public:

FontMetric();

FontMetric( const FontMetric& rMetric );

~FontMetric();

Font	GetPhysicalFont() const;

FontType	GetType() const;

BOOL	IsDeviceFont() const;

USHORT	GetAscent() const;

USHORT	GetDescent() const;

USHORT	GetLeading() const;

short	GetSlant() const;

BOOL	ExistChar( char c ) const;

FontMetric&	operator =( const FontMetric& rMetric );

BOOL	operator ==( const FontMetric& rMetric ) const;

BOOL	operator !=( const FontMetric& rMetric ) const;

};

Beschreibung

Eine Instanz der Klasse FontMetric wird als Rückgabewert beim Aufruf der Methode OutputDevice::GetFontMetric() zurückgegeben. Sie enthält die Eigenschaften eines StarView-Fonts vom OutputDevice. Die Werte der FontMetric können von den in der Klasse Font angegebenen Werten abweichen, weil das Basisfenstersystem eine Anpassung von logischen StarView-Fonts an die im System vorhandenen physikalischen Fonts vornimmt.

Die Werte der FontMetric können verwendet werden, um einen Vergleich zwischen einem StarView-Font und dessen Aussehen auf einem spezifischen OutputDevice anzustellen oder um einen Abgleich zwischen Printer und Window zu implementieren.

Ausnahmen

Es ist zu beachten, daß diese Klasse auch den Wert DONTKNOW zurückliefern kann, weil nicht für jeden Font das genaue Aussehen auf dem OutputDevice festgestellt werden kann.

Querverweise

Font, OutputDevice, OutputDevice::GetFontMetric()

_______________


enum FontType

enum FontType	{ TYPE_DONTKNOW, TYPE_RASTER, TYPE_VECTOR, TYPE_SCALABLE };

Beschreibung

Die Werte des enum FontType geben den Typ des Fonts an.

TYPE_DONTKNOW	Der Fonttyp kann nicht genau bestimmt werden.

TYPE_RASTER	Der Font liegt als Bitmap vor.

TYPE_VECTOR	Der Font liegt als Polygonzug vor.

TYPE_SCALABLE	Es handelt sich um einen Font, der sich vor einer Ausgabe an die Fontgröße anpaßt und sich dann als Bitmap ausgibt. Dies sind z.B. TrueType oder Postscript-Fonts.

_______________


FontMetric::FontMetric()

FontMetric::FontMetric();

Beschreibung

Konstruktor der Klasse FontMetric. Die Instanz wird mit Defaultwerten initialisiert und liefert so keine gültigen Informationen. Die Instanz muß über den Operator = mit einer Instanz initialisiert werden, die von der Methode OutputDevice::GetFontMetric() zurückgeliefert wird.

Querverweise

OutputDevice::GetFontMetric()

_______________


FontMetric::FontMetric( const FontMetric& rMetric )

FontMetric::FontMetric()

FontMetric::FontMetric( const FontMetric& rMetric );

Beschreibung

Copy-Konstruktor der Klasse FontMetric. Diese Instanz sollte mit einer FontMetric-Instanz initialisiert werden, die von der Methode OutputDevice::GetFontMetric() zurückgeliefert wird.

Parameter

const FontMetric& rMetric	Die FontMetric, mit der diese Instanz initialisiert werden soll.

Querverweise

OutputDevice::GetFontMetric()

_______________


FontMetric::~FontMetric()

FontMetric::~FontMetric();

Beschreibung

Destruktor der Klasse FontMetric.

_______________


FontMetric::GetPhysicalFont()

Font FontMetric::GetPhysicalFont() const;

Beschreibung

Es wird der Font mit den Werten zurückgeliefert, wie er auf dem OutputDevice dargestellt wird. Dieser Font kann z.B. für den Abgleich zwischen Printer und Window benutzt werden.

Die Größe des Fonts wird ohne Leading in logischen Einheiten zurückgegeben.

Rückgabewert

Font	Der Font, wie er auf dem OutputDevice dargestellt wird.

Ausnahmen

Falls nicht alle Werte ermittelt werden können, wird DONTKNOW gesetzt. Bei LineOrientation und CharOrientation wird der Wert gegenüber dem logischen Font nicht verändert, wenn die Werte nicht ermittelt werden können. Ein Abgleich der Farben wird nicht vorgenommen, da die Farbwerte auf verschiedenen OutputDevices als Muster dargestellt werden können.

Querverweise

Font

_______________


FontMetric::GetType()

FontType FontMetric::GetType() const;

Beschreibung

Es wird der Typ des auf dem OutputDevice benutzten physikalischen Fonts zurückgegeben.

Rückgabewert

FontType	Der Typ des physikalischen Fonts, der auf dem OutputDevice benutzt wird.

Querverweise

FontType

_______________


FontMetric::IsDeviceFont()

BOOL FontMetric::IsDeviceFont() const;

Beschreibung

Es wird zurückgegeben, ob der verwendete Font ein Font vom OutputDevice oder ein von StarView nachgebildeter Font ist. Z. B. kann StarView bestimmte Fonts, die nicht in einer bestimmten Größe oder in einem bestimmten Attribute vorliegen, um verschiedene Faktoren skalieren oder nachbilden.

Rückgabewert

BOOL	TRUE

Der verwendete Font ist ein Font vom OutputDevice und wird ohne Nachbildungen angezeigt.

FALSE

Bestimmte Attribute des Fonts werden von StarView nachgebildet. Dadurch kann der Font nur mit Einschränkungen angezeigt werden.

_______________


FontMetric::GetAscent()

USHORT FontMetric::GetAscent() const;

Beschreibung

Es wird die Höhe eines Zeichens über der Basislinie in logischen Einheiten zurückgegeben. Der Ascent enthält das Leading. Die Höhe der Zeichenbox ergibt sich aus Ascent und Descent. Die Größe, die bei Font::ChangeSize() angegeben wird, errechnet sich aus Ascent+Descent-Leading.

Rückgabewert

USHORT	Die Höhe eines Zeichens über der Basislinie in logischen Einheiten.

_______________


FontMetric::GetDescent()

USHORT FontMetric::GetDescent() const;

Beschreibung

Es wird die Höhe eines Zeichens unter der Basislinie in logischen Einheiten zurückgegeben.

Rückgabewert

USHORT	Die Höhe eines Zeichens unter der Basislinie in logischen Einheiten.

_______________


FontMetric::GetLeading()

USHORT FontMetric::GetLeading() const;

Beschreibung

Es wird die Höhe des eingebauten Zeilenabstands in logischen Einheiten zurückgegeben.

Rückgabewert

USHORT	Die Höhe des eingebauten Zeilenabstands in logischen Einheiten.

_______________


FontMetric::GetSlant()

short FontMetric::GetSlant() const;

Beschreibung

Es wird der Versatz des Fonts in logischen Einheiten zurückgeliefert. Der Versatz wird nur bei kursiven Fonts zurückgeliefert. Dieser Wert wird z.B. dafür gebraucht, um die Wortabstände bei kursivem Text zu berechnen, da OutputDevice::GetTextSize() immer die Breite der Zeichenbox zurückliefert.

Rückgabewert

short	Der Versatz des Fonts in logischen Einheiten.

_______________


FontMetric::ExistChar( char c )
FontMetric::ExistChar()

BOOL FontMetric::ExistChar( char c ) const;

Beschreibung

Diese Methode prüft, ob das übergebene Zeichen im Font vorhanden ist.

Parameter

char c	Das Zeichen, für das geprüft werden soll, ob es im Font vorhanden ist.

Rückgabewert

BOOL	TRUE

Das Zeichen ist im Font vorhanden.

FALSE

Das Zeichen ist nicht im Font vorhanden.

_______________


FontMetric::operator =( const FontMetric& rMetric )
FontMetric::operator =()

FontMetric& FontMetric::operator =( const FontMetric& rMetric );

Beschreibung

Zuweisungsoperator der Klasse FontMetric.

Parameter

const FontMetric& rMetric	Referenz auf eine Instanz der Klasse FontMetric.

Rückgabewert

Font&	Referenz auf das Ergebnis der Zuweisung.

_______________


FontMetric::operator ==( const FontMetric& rMetric )
FontMetric::operator ==()

BOOL FontMetric::operator ==( const FontMetric& rMetric ) const;

Beschreibung

Vergleichsoperator der Klasse FontMetric. Mit diesem Operator kann festgestellt werden, ob zwei logische Fonts zum gleichen Font auf dem OutputDevice führen.

Parameter

const FontMetric& rMetric	Referenz auf eine Instanz der Klasse FontMetric.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Instanzen sind identisch.

FALSE

Die Eigenschaften der verglichenen Instanzen sind unterschiedlich.

_______________


FontMetric::operator !=( const FontMetric& rMetric )
FontMetric::operator !=()

BOOL FontMetric::operator !=( const FontMetric& rMetric ) const;

Beschreibung

Vergleichsoperator der Klasse Font. Mit diesem Operator kann festgestellt werden, ob zwei logische Fonts zu verschiedenen Fonts auf dem OutputDevice führen.

Parameter

const FontMetric& rMetric	Referenz auf einen Font.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Instanzen sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Instanzen sind identisch.

_______________


ModalDialog

class ModalDialog : public Dialog

{

public:

ModalDialog( Window* pParent, WinBits nWinStyle = WB_STDMODAL );

ModalDialog( Window* pParent, const ResId& rResId );

virtual	~ModalDialog();

short	Execute();

BOOL	IsInExecute() const;

void	EndDialog( short nResult = 0 );

};

Beschreibung

Die Klasse ModalDialog ist von der Klasse Dialog abgeleitet und stellt modale Dialogboxen zur Verfügung. Modale Dialogboxen müssen bearbeitet und beendet werden, bevor weitere Schritte innerhalb der Applikation erfolgen können.

Man unterscheidet weiter zwischen systemmodalen und applikationsmodalen Dialogboxen. Verwendet man systemmodale Dialogboxen, kann kein anderes Fenster innerhalb des Systems angewählt werden, bis die Dialogbox terminiert. Bei der Verwendung einer applikationsmodalen Dialogbox kann lediglich kein anderes Fenster der gleichen Applikation angewählt werden.

Eine besondere Eigenschaft der Methode Execute() ist, daß die Methode erst zurückkehrt, wenn die Dialogbox beendet wurde. Dieses Verhalten ermöglicht es, den Aufruf und das Ergebnis einer Dialogbox im gleichen Kontext zu bearbeiten.

Anmerkungen

Wenn die Dialogbox schließbar ist (WB_CLOSEABLE) und vom Benutzer geschlossen wird, wird der Handler ModalDialog::Close() aufgerufen. Diese Methode führt defaultmäßig den Befehl EndDialog( 0 ) aus. Denselben Effekt erzielt das Betätigen eines CancelButtons innerhalb der Dialogbox, wenn das implementierte Defaultverhalten des Click-Handlers für diesen Button nicht umdefiniert wurde.

Ausnahmen

Die Methoden Window::Show() und Window::Hide() dürfen nicht aufgerufen werden und sind deshalb in dieser Klasse als private deklariert.

Basisklassen

Dialog  :  SystemWindow  :  Window :  OutputDevice  :  Resource  :  LinkHdl

Beispiel

Das folgende Beispiel demonstriert eine einfache modale Dialogbox MyDialog. In der Funktion foo() wird beim Aufruf die Dialogbox aModalDialog aus der Resource erzeugt. Anschließend wird mit Execute() die Dialogbox aktiviert und danach das Ergebnis ausgewertet.

Die Dialogbox besitzt zwei RadioButtons, einen OKButton und einen CancelButton. Der Benutzer kann einen der beiden RadioButtons auswählen und anschließend seine Wahl mit OK bestätigen oder mit Cancel abbrechen.

Im Konstruktor von MyDialog wird an die Klasse ModalDialog sowie an alle Member-Controls der Parent und der entsprechende Resource-Identifier weitergegeben. Dabei muß die Resource bis zum Ende des Konstruktoraufrufs gelockt bleiben, damit sich die Controls ebenfalls aus der Resource laden können.

class MyDialog : public ModalDialog

{

private:

RadioButton	aGroupBtn;

RadioButton	aItemBtn;

GroupBox	aGroupBox;

OKButton	aOKBtn;

CancelButton	aCancelBtn;

public:

MyDialog( Window* pParent );

// Control-Handler

void	RadioButtonHdl( RadioButton* pButton );

};

MyDialog::MyDialog( Window* pParent ) :

ModalDialog( pParent, ResId( RC_BOX ) ),

aGroupBtn( this, ResId( RC_GROUPBTN ) ),

aItemBtn( this, ResId( RC_ITEMBTN ) ),

aGroupBox( this, ResId( RC_GROUPBOX ) ),

aOkBtn( this, ResId( RC_OKBTN ) ),

aCancelBtn( this, ResId( RC_CANCELBTN ) )

{

aGroupBtn.ChangeClickHdl( LINK( this, MyDialog, RadioButtonHdl));

aItemBtn.ChangeClickHdl( LINK( this, MyDialog, RadioButtonHdl ));

FreeResource();

}

void MyDialog::RadioButtonHdl( RadioButton* pButton )

{

if ( pButton == &aGroupBtn )

...

}

int foo( Window* pParent )

{

MyDialog aModalDialog( pParent );

if ( aModalDialog.Execute() )

...

}

Querverweise

SystemWindow::Close()

_______________


ModalDialog::ModalDialog()

ModalDialog::ModalDialog( Window* pParent, WinBits nWinStyle = WB_STDMODAL );

Beschreibung

Konstruktor der Klasse ModalDialog.

Über rWinStyle kann eine applikations- oder systemmodale Dialogbox erzeugt werden.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window. Als Parent sollte das Fenster übergeben werden, welches nicht aktiviert werden soll, wenn die Dialogbox aktiv ist.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_SYSMODAL

Eine systemmodale Dialogbox.

WB_CLOSEABLE

Die Dialogbox kann geschlossen werden. Dieser Style sollte nur bei Dialogen angegeben werden, die keinen CancelButton beinhalten.

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_SVLOOK

Die Dialogbox und deren Child-Fenster erscheinen im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


ModalDialog::ModalDialog( Window* pParent, const ResId& rResId );
ModalDialog::ModalDialog()

ModalDialog::ModalDialog( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse ModalDialog. Die Dialogbox ist auf dem Ausgabemedium erst nach Aufruf der Methode Execute() sichtbar. Sie muß für jedes im Resourcefile beschriebene Control, dessen Input für sie interessant ist oder auf dessen Daten sie zugreifen will, eine Instanz der entsprechenden Klasse erzeugen.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window. Als Parent sollte das Fenster übergeben werden, welches nicht aktiviert werden soll, wenn die Dialogbox aktiv ist.

const ResId& rResId	Die ID der Dialogbox in der Resource.

Querverweise

Resource

_______________


ModalDialog::~ModalDialog()

virtual ModalDialog::~ModalDialog();

Beschreibung

Destruktor der Klasse ModalDialog.

_______________


ModalDialog::Execute()

short ModalDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die Dialogbox. Die Dialogbox wird mit ihren Controls auf dem Ausgabemedium angezeigt und nimmt die Eingaben des Benutzers entgegen. Sie terminiert, sobald die Methode EndDialog() gerufen wird. Der Rückgabewert ist der Rückgabewert der Dialogbox.

Rückgabewert

short	Der Rückgabewert der Dialogbox. Es wird hier der Wert zurückgegeben, der bei dem Aufruf der Methode EndDialog() übergeben wurde.

Anmerkungen

Die Dialogbox wird beim Start der Eingabeverarbeitung durch Execute() automatisch angezeigt.

Querverweise

ModalDialog::EndDialog()

_______________


ModalDialog::IsInExecute()

BOOL ModalDialog::IsInExecute() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob sich die Dialogbox innerhalb des Execute-Aufrufs befindet.

Rückgabewert

BOOL	TRUE

Die Dialogbox befindet sich innerhalb des Execute-Aufrufs.

FALSE

Die Dialogbox befindet sich nicht innerhalb des Execute-Aufrufs.

Querverweise

ModalDialog::Execute(), ModalDialog::EndDialog()

_______________


ModalDialog::EndDialog( short nResult = 0 )
ModalDialog::EndDialog()

void ModalDialog::EndDialog( short nResult = 0 );

Beschreibung

Die Methode beendet die Eingabeverarbeitung durch die Dialogbox. Falls die Dialogbox einen Returncode liefern soll, kann dieser in dem Parameter nResult übergeben werden, und die Applikation kann diesen als Ergebnis der Methode Execute() auswerten.

Parameter

short nResult	Der Returncode der Dialogbox.

Anmerkungen

Die Dialogbox wird nach Beenden der Eingabeverarbeitung nicht mehr angezeigt.

Querverweise

ModalDialog::Execute(), SystemWindow::Close()

_______________


ModelessDialog

class ModelessDialog : public Dialog

{

public:

ModelessDialog( Window* pParent, WinBits nWinStyle = WB_STDMODELESS );

ModelessDialog( Window* pParent, const ResId& rResId );

virtual	~ModelessDialog();

BOOL	IsPinIn() const;

};

Beschreibung

Die Klasse ModelessDialog ist von der Klasse Dialog abgeleitet. Da diese Klasse keine Modalität kennt, ist sie der Klasse WorkWindow sehr ähnlich und erweitert deren Funktionalität um die Dialogsteuerung.

Basisklassen

Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Beispiel

Das folgende Beispiel demonstriert eine einfache nichtmodale Dialogbox MyDialog. In der Funktion foo() wird beim Aufruf dynamisch die Dialogbox MyDialog aus der Resource erzeugt. Mit der Methode Window::Show() wird die Dialogbox aktiviert.

Die Dialogbox besitzt zwei RadioButtons, einen PushButton, um die Aktion zu starten, und einen CancelButton für Close. Der Benutzer kann einen der beiden RadioButtons auswählen und anschließend die Aktion starten oder den Dialog abbrechen.

Im Konstruktor von MyDialog wird an die Klasse ModelessDialog sowie an alle Member-Controls der Parent und der entsprechende Resource-Identifier weitergegeben. Dabei muß die Resource bis zum Ende des Konstruktoraufrufs gelockt bleiben, damit sich die Controls ebenfalls aus der Resource laden können.

Im Close-Handler zerstört sich die Dialogbox selbst. Dies hat für die Applikation den Vorteil, daß sie sich nicht darum kümmern muß, wann der Benutzer die Dialogbox schließt.

class MyDialog : public ModelessDialog

{

private:

RadioButton	aGroupBtn;

RadioButton	aItemBtn;

GroupBox	aGroupBox;

PushButton	aActionBtn;

CancelButton	aCloseBtn;

public:

MyDialog( Window* pParent );

virtual BOOL	Close();

// Control-Handler

void	RadioBtnHdl( RadioButton* pButton );

void	ActionHdl( PushButton* pButton );

};

MyDialog::MyDialog( Window* pParent ) :

ModelessDialog( pParent, ResId( RC_BOX ) ),

aGroupBtn( this, ResId( RC_GROUPBTN ) ),

aItemBtn( this, ResId( RC_ITEMBTN ) ),

aGroupBox( this, ResId( RC_GROUPBOX ) ),

aActionBtn( this, ResId( RC_ACTIONBTN ) ),

aCloseBtn( this, ResId( RC_CLOSEBTN ) )

{

aGroupBtn.ChangeClickHdl( LINK( this, MyDialog, RadioBtnHdl ) );

aItemBtn.ChangeClickHdl( LINK( this, MyDialog, RadioBtnHdl ) );

aActionBtn.ChangeClickHdl( LINK( this, MyDialog, ActionHdl ) );

FreeResource();

}

void MyDialog::RadioBtnHdl( RadioButton* pButton )

{

if ( pButton == &aGroupBtn )

...

}

void MyDialog::ActionHdl( PushButton* pButton )

{

// Aktion starten

...

}

BOOL MyDialog::Close()

{

// Dialogbox zerstoeren

delete this;

return TRUE;

}

void foo( Window* pParent )

{

MyDialog* pDlg = new MyDialog( pParent );

pDlg->Show();

}

Querverweise

WorkWindow, ModalDialog, SystemWindow::Close()

_______________


ModelessDialog::ModelessDialog( Window* pParent, WinBits nWinStyle = WB_STDMODELESS )
ModelessDialog::ModelessDialog()

ModelessDialog::ModelessDialog( Window* pParent, WinBits nWinStyle = WB_STDMODELESS );

Beschreibung

Konstruktor für die Klasse ModelessDialog.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_CLOSEABLE

Die Dialogbox kann geschlossen werden.

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

Style-Kombinationen:

WB_STDMODELESS

Verschiebbar und schließbar.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_PININ

Auf Systemen, bei denen nichtmodale Dialogboxen vom Anwender angepinnt werden können, kann mit diesem Flag der Pinstatus auf "angepinnt" voreingestellt werden.

WB_SVLOOK

Die Dialogbox und deren Child-Fenster erscheinen im StarView-Look.

Querverweise

Application::EnableSVLook()

_______________


ModelessDialog::ModelessDialog( Window* pParent, const ResId& rResId )
ModelessDialog::ModelessDialog()

ModelessDialog::ModelessDialog( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse ModelessDialog.

Die Dialogbox muß für jedes in der Resource-Datei beschriebene Control, dessen Input für sie interessant ist oder auf dessen Daten sie zugreifen will, eine Instanz der entsprechenden Klasse erzeugen.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der Dialogbox in der Resource.

Querverweise

Resource

_______________


ModelessDialog::~ModelessDialog()

virtual ModelessDialog::~ModelessDialog();

Beschreibung

Destruktor der Klasse ModelessDialog.

_______________


ModelessDialog::IsPinIn()

BOOL ModelessDialog::IsPinIn() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob die nichtmodale Dialogbox angepinnt ist. Wenn in der Dialogbox eine Aktion ausgelöst wird, muß mit dieser Methode festgestellt werden, ob die Dialogbox beendet werden soll. Auf Systemen, wo nichtmodale Dialogboxen nicht angepinnt werden können, liefert die Methode immer TRUE zurück.

Rückgabewert

BOOL	TRUE

Die Dialogbox ist angepinnt.

FALSE

Die Dialogbox ist nicht angepinnt.

Beispiel

void MyDialog::ButtonClickHdl( PushButton* )

{

// Aktion auslösen

...

// Abfragen, ob Dialogbox beendet werden soll

if ( !IsPinIn() )

ModelessDialog::Close();

}

_______________


MoreButton

class MoreButton : public PushButton

{

protected:

virtual void	Click();

public:

MoreButton( Window* pParent, WinBits nWinStyle = 0 );

MoreButton( Window* pParent, const ResId& rResId  );

~MoreButton();

void	AddWindow( Window* pWindow );

void	RemoveWindow( Window* pWindow );

USHORT	ChangeDelta( USHORT nDelta );

USHORT	GetDelta() const;

MapUnit	ChangeMapUnit( MapUnit eNewUnit = MAP_PIXEL );

MapUnit	GetMapUnit()const;

BOOL	ChangeState( BOOL bNewState = TRUE );

BOOL	GetState() const;

};

Beschreibung

Bei der Klasse MoreButton handelt es sich um einen PushButton, der bei Betätigung im Parent-Fenster zusätzliche Controls ein- oder ausblendet. Somit kann dem Anwender Dialogboxen mit den wichtigsten Einstellung angeboten werden, der durch die Betätigung des Buttons um weitere Einstellmöglichkeiten erweitert werden kann.

Basisklassen

PushButton : Control : Window : OutputDevice : Resource : LinkHdl

_______________


MoreButton::Click()

virtual void MoreButton::Click();

Beschreibung

Dieser Handler ist der Event-Handler für den MoreButton. Er wird immer dann aufgerufen, wenn der MoreButton angeklickt wurde. Falls der Handler nicht überladen wurde, wird der Parent des Buttons um die mit ChangeDelta() und ChangeMapUnit() eingestellten Werte erweitert, bzw. verkleinert. Dabei werden die mit AddWindow() dazugefügten Fenster mit Show() oder Hide() angezeigt oder wieder  versteckt. Es wird auch die Methode PushButton::Click() aufgerufen, damit der Handler gerufen wird, der mit der Methode Button::ChangeClickHdl() eingetsellt wurde.

Querverweise

Button::ChangeClickHdl()

_______________


MoreButton::MoreButton( Window* pParent, WinBits nWinStyle = 0 );
MoreButton::MoreButton()

MoreButton::MoreButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse MoreButton.

Parameter

Window* pParent	Der Parent des MoreButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


MoreButton::MoreButton( Window* pParent, const ResId& rResId );
MoreButton::MoreButton()

MoreButton::MoreButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse MoreButton.

Parameter

Window* pParent	Der Parent des MoreButtons.

const ResId& rResId	Die ID des MoreButtons in der Resource.

Querverweise

Resource

_______________


MoreButton::~MoreButton()

MoreButton::~MoreButton();

Beschreibung

Destruktor der Klasse MoreButton.

_______________


MoreButton::AddWindow( Window* pWindow )
MoreButton::AddWindow()

void MoreButton::AddWindow( Window* pWindow );

Beschreibung

Mit dieser Methode kann dem MoreButton ein neues Fenster zugeordnet werden, das bei Anklicken des Buttons angezeigt bzw. versteckt wird.

Parameter

Window* pWindow	Das Fenster, welches bei Betätigen des MoreButtons zusätzlich geöffnet werden soll.

Querverweise

Window

_______________


MoreButton::RemoveWindow( Window* pWindow )
MoreButton::RemoveWindow()

void MoreButton::RemoveWindow( Window* pWindow );

Beschreibung

Mit dieser Methode kann ein dem MoreButton zugeordnetes Fenster wieder entfernt werden.

Parameter

Window* pWindow	Das zu entfernende Fenster.

Querverweise

Window

_______________


MoreButton::ChangeDelta( USHORT nDelta )
MoreButton::ChangeDelta()

USHORT MoreButton::ChangeDelta( USHORT nDelta );

Beschreibung

Mit dieser Methode wird eingestellt, um wieviele Einheiten der Parent erweitert werden soll. Die Einheit wird mit der Methode ChangeMapUnit() eingestellt.

Parameter

USHORT nDelta	Anzahl der Einheiten, um die der Dialog erweitert werden soll.

Rückgabewert

USHORT	Der vorher eingestellte Wert.

_______________


MoreButton::GetDelta()

USHORT MoreButton::GetDelta() const;

Beschreibung

Mit dieser Methode wird die Anzahl der Einheiten abgefragt, um die der Parent erweitert wird.

Rückgabewert

USHORT	Wert, um den der Parent bei Betätigung des Buttons erweitert wird.

_______________


MoreButton::ChangeMapUnit()

MapUnit MoreButton::ChangeMapUnit( MapUnit eNewUnit = MAP_PIXEL );

Beschreibung

Mit dieser Methode wird die Einheit eingestellt, auf die sich der mit ChangeDelta() eingestellte Wert bezieht.

Parameter

MapUnit eNewUnit	Einheit, auf den sich der mit ChangeDelta() eingestellte Wert bezieht.

Rückgabewert

MapUnit	Vorher eingestellte Einheit.

Querverweise

MapUnit

_______________


MoreButton::GetMapUnit()

MapUnit MoreButton::GetMapUnit() const;

Beschreibung

Mit dieser Methode wird die Einheit abgefragt, auf die sich der mit ChangeDelta() eingestellte Wert bezieht.

Rückgabewert

MapUnit	Einheit, auf die sich der mit ChangeDelta() eingestellte wird bezieht.

Querverweise

MapUnit

_______________


MoreButton::ChangeState( BOOL bNewState = TRUE )
MoreButton::ChangeState()

BOOL MoreButton::ChangeState( BOOL bNewState = TRUE );

Beschreibung

Mit dieser Methode wird der Status eingestellt, in dem sich der MoreButton befindet. Dabei wird bei einer Statusänderung auch der Parent erweitert bzw. verkleinert.

Parameter

BOOL bNewState	TRUE

Der Parant wird erweitert und die mit AddWindow() zugeordneten Fenster angezeigt.

FALSE

Der Parent wird verkleinert und die mit AddWindow() zugeordeneten Fenster versteckt.

Rückgabewert

BOOL	TRUE

Es wurde vorher der erweiterte Parent angezeigt.

FALSE

Es wurde vorher der nicht erweiterte Parent angezeigt.

Querverweise

MoreButton::Click()

_______________


MoreButton::GetState()

BOOL MoreButton::GetState() const;

Beschreibung

Mit dieser Methode wird der eingestellte Status des MoreButtons abgefragt.

Rückgabewert

BOOL	TRUE

Es wird der erweiterte Parent angezeigt.

FALSE

Es wird der nicht erweiterte Parent angezeigt.

Querverweise

MoreButton::Click()

_______________


MouseEvent

class MouseEvent

{

public:

MouseEvent();

MouseEvent( const Point& rPos, USHORT nClicks = 1, USHORT nMode = 0, USHORT nButtons = 0, USHORT nModifier = 0 );

Point	GetPosPixel() const;

USHORT	GetMode() const;

USHORT	GetClicks() const;

USHORT	GetButtons() const;

BOOL	IsLeft() const;

BOOL	IsMiddle() const;

BOOL	IsRight() const;

USHORT	GetModifier() const;

BOOL	IsShift() const;

BOOL	IsMod1() const;

BOOL	IsMod2() const;

};

Beschreibung

Diese Klasse ermöglicht die Abfrage von Informationen über MouseEvents. Eine Referenz auf ein Objekt dieser Klasse wird den Mouse-Handlern der Klasse Window übergeben.

Anmerkungen

Die Modi, die der MouseEvent anbietet, können auf den einzelnen Betriebssystemen unterschiedlich ausgelöst werden.

Querverweise

KeyEvent

_______________


Mausmodes

Mausmodi im MouseMove-Handler:

MOUSE_MOVE	Normale Mausbewegung.

MOUSE_SIMPLEDRAG	Mausbewegung mit Selektierung.

MOUSE_EXTDRAG	Mausbewegung mit erweiterter Selektierung.

Mausmodi im MouseButtonDown/Up-Handler:

MOUSE_SIMPLE	Normale Selektion.

MOUSE_EXT	Selektion aufheben oder erweiterte Selektion.

MOUSE_MULTI	Mehrfachselektion.

Anmerkungen

Die Mausmodi werden auf den einzelnen Betriebssystemen folgendermaßen abgebildet:

Modus/System        Windows       PM         Motif         MAC

MOUSE_MOVE           keine       keine       keine       keine

MOUSE_SIMPLEDRAG     linke       linke       linke       Button

MOUSE_EXTDRAG        rechte      rechte      rechte   Command+Button

MOUSE_SIMPLE         linke       linke       linke       Button

MOUSE_EXT            rechte      rechte      rechte   Command+Button

MOUSE_MULTI       Shift+linke Shift+linke  Ctrl+linke  Shift+Button


ModifierKeys
Modifier-Tasten

KEY_SHIFT	Shift-Taste.

KEY_MOD1	Control-Taste (Command-Taste beim Macintosh).

KEY_MOD2	Alt-Taste (Option-Taste beim Macintosh).


MouseKeys
MausKeys

MOUSE_LEFT	Linke Maustaste.

MOUSE_MIDDLE	Mittlere Maustaste.

MOUSE_RIGHT	Rechte Maustaste.

_______________


MouseEvent::MouseEvent()

MouseEvent::MouseEvent();

Beschreibung

Default-Konstruktor der Klasse MouseEvent. Es werden alle Werte auf 0 initialisiert.

_______________


MouseEvent::MouseEvent( const Point& rPos, USHORT nClicks =1, USHORT nMode = 0, USHORT nButtons = 0, USHORT nModifier = 0 )
MouseEvent::MouseEvent()

MouseEvent::MouseEvent( const Point& rPos, USHORT nClicks =1, USHORT nMode = 0, USHORT nButtons = 0, USHORT nModifier = 0 );

Beschreibung

Konstruktor der Klasse MouseEvent.

Parameter

const Point& rPos	Die Position, an der der MouseEvent ausgelöst wurde. Die Position wird in Pixeln relativ zur Ausgabefläche des zugehörigen Fensters angegeben. Siehe dazu die Methode GetPosPixel().

USHORT nClicks	Die Anzahl der Klicks. Siehe dazu die Methode GetClicks().

USHORT nMode	Der Mausmodus. Siehe dazu GetMode().

USHORT nButtons	Der Status der Maustasten beim Auslösen des Events. Die einzelnen Tasten dürfen nicht verknüpft werden, da immer nur eine Maustaste zur gleichen Zeit gedrückt sein kann. Siehe dazu GetButtons().

USHORT nModifier	Der Status der Modifier-Tasten beim Auslösen des Events. Siehe dazu GetModifier().

_______________


MouseEvent::GetPosPixel()

Point MouseEvent::GetPosPixel() const;

Beschreibung

Diese Methode liefert die Position zurück, an der der Event ausgelöst wurde.

Rückgabewert

Point	Die Position des Mauszeigers in Pixeln relativ zur Ausgabefläche des zugehörigen Fensters.

Wird die Position in logischen Koordinaten des zugehörigen Windows benötigt, so muß diese mit Hilfe der Methode OutputDevice::PixelToLogic() in logische Koordinaten umgewandelt werden.

_______________


MouseEvent::GetMode()

USHORT MouseEvent::GetMode() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, in welchem Modus sich die Maus befindet. Dieser Modus wird unter allen Betriebssystemen unterstützt und eignet sich zur unabhängigen Programmierung. Wenn eine Maus angeschlossen ist, kann der Anwender jeden dieser Modi mit der Maus auswählen. Es können jedoch auch Events ankommen, in denen kein Modus gesetzt ist. Dies ist z.B. der Fall, wenn die mittlere Maustaste gedrückt wird.

Rückgabewert

USHORT	Der Modus, in dem sich die Maus befindet, oder 0, wenn kein entsprechender Modus vorhanden ist.

Querverweise

Mausmodes

_______________


MouseEvent::GetClicks()

USHORT MouseEvent::GetClicks() const;

Beschreibung

Diese Methode liefert die Anzahl der Klicks zurück, die an der gleichen Position mit dem gleichen Modus hintereinander erzeugt worden sind. Bei einem Doppelklick wird der MouseButtonDown- und MouseButtonUp-Handler zuerst mit dem Klickwert 1 und danach mit dem Klickwert 2 aufgerufen. Bei einem Dreifachklick werden danach die Handler noch einmal mit dem Klickwert 3 aufgerufen. Es können maximal 65535 Klicks generiert werden. Wird der Event an den MouseMove-Handler übergeben, liefert diese Methode 0 zurück.

Rückgabewert

USHORT	Die Anzahl der Klicks, die im gleichen Modus, an der gleichen Position und hintereinander ausgelöst wurden. Falls der Event an den MouseMove-Handler übergeben wurde, wird 0 zurückgeliefert.

_______________


MouseEvent::GetButtons()

USHORT MouseEvent::GetButtons() const;

Beschreibung

Diese Methode liefert den Status der Maustasten in einem Bitfeld zurück. Hier ist der Status aller Maustasten kodiert. Es kann jeweils nur eine Taste der Maus gedrückt sein. Im MouseMove-Handler ist die Taste gesetzt, die beim Verschieben der Maus gedrückt ist. In den MouseButtonDown/Up-Handlern ist die Taste gesetzt, die den Event ausgelöst hat.

Rückgabewert

USHORT	Der Status der Maustasten. Es ist entweder die Taste gesetzt, die den Event ausgelöst hat, oder die Taste, die beim Bewegen der Maus gedrückt war. Bei 0 wurde beim Auslösen des MouseMove-Events keine Taste gedrückt. Es kann maximal eine Maustaste gedrückt sein.

Anmerkungen

Sind auf dem aktuellen System weniger als 3 Maustasten vorhanden, ist der Status aller nicht vorhandenen Tasten nie "gedrückt".

Querverweise

Maustasten, MouseEvent::GetModifier()

_______________


MouseEvent::IsLeft()

BOOL MouseEvent::IsLeft() const;

Beschreibung

Diese Methode liefert immer den Status der linken Maustaste zurück, unabhängig von der Anzahl der Maustasten. Diese Methode wird auf allen Systemen unterstützt.

Rückgabewert

BOOL	TRUE

Die linke Maustaste hat den Event ausgelöst, oder die Taste war beim Auslösen des MouseMove-Events gedrückt.

FALSE

Eine andere Maustaste hat den Event ausgelöst, oder die Taste war beim Auslösen des MouseMove-Events nicht gedrückt.

_______________


MouseEvent::IsMiddle()

BOOL MouseEvent::IsMiddle() const;

Beschreibung

Diese Methode liefert immer den Status der mittleren Maustaste zurück, unabhängig von der Anzahl der Maustasten.

Rückgabewert

BOOL	TRUE

Die mittlere Maustaste hat den Event ausgelöst, oder die Taste war beim Auslösen des MouseMove-Events gedrückt.

FALSE

Eine andere Maustaste hat den Event ausgelöst, oder die mittlere Taste war beim Auslösen des MouseMove-Events nicht gedrückt.

Anmerkungen

Diese Methode liefert immer FALSE zurück, wenn eine Maus mit weniger als 3 Tasten angeschlossen ist.

_______________


MouseEvent::IsRight()

BOOL MouseEvent::IsRight() const;

Beschreibung

Diese Methode liefert immer den Status der rechten Maustaste zurück, unabhängig von der Anzahl der Maustasten. Es muß eine Maus mit mindestens 2 Tasten angeschlossen sein, damit diese Methode TRUE zurückliefern kann.

Rückgabewert

BOOL	TRUE

Die rechte Maustaste hat den Event ausgelöst, oder die Taste war beim Auslösen des MouseMove-Events gedrückt.

FALSE

Eine andere Maustaste hat den Event ausgelöst, oder die rechte Taste war beim Auslösen des MouseMove-Events nicht gedrückt.

Anmerkungen

Diese Methode liefert immer FALSE zurück, wenn eine Maus mit nur einer Taste angeschlossen ist.

_______________


MouseEvent::GetModifier()

USHORT MouseEvent::GetModifier() const;

Beschreibung

Diese Methode gibt den Status aller Modifier-Tasten zurück.

Rückgabewert

USHORT	Der Status der Modifier-Tasten.

Beispiel

void MyWindow::MouseButtonDown( MouseEvent& rEvt )

{

switch( rEvt.GetModifier() + rEvt.GetButtons() )

{

case MOUSE_LEFT:

...

break;

case MOUSE_RIGHT:

...

break;

case KEY_SHIFT + MOUSE_LEFT:

...

break;

case KEY_MOD1 + MOUSE_RIGHT:

...

break;

case KEY_SHIFT + KEY_MOD1 + MOUSE_LEFT:

...

break;

case default:

...

}

}

Querverweise

Modifier-Tasten, MouseEvent::GetButtons()

_______________


MouseEvent::IsShift()

BOOL MouseEvent::IsShift() const;

Beschreibung

Die Methode liefert den Zustand der Shift-Taste zurück.

Rückgabewert

BOOL	TRUE

Die Shift-Taste ist gedrückt.

FALSE

Die Shift-Taste ist nicht gedrückt.

_______________


MouseEvent::IsMod1()

BOOL MouseEvent::IsMod1() const;

Beschreibung

Die Methode liefert den Zustand der Modifier1-Taste zurück. Die Modifier1-Taste ist die Control-Taste auf einer PC-Tastatur, auf der Tastatur des Apple Macintosh ist dies die Command-Taste.

Rückgabewert

BOOL	TRUE

Die Modifier1-Taste ist gedrückt.

FALSE

Die Modifier1-Taste ist nicht gedrückt.

_______________


MouseEvent::IsMod2()

BOOL MouseEvent::IsMod2() const;

Beschreibung

Die Methode liefert den Zustand der Modifier2-Taste zurück. Die Modifier2-Taste ist die Alt-Taste auf einer PC-Tastatur, auf der Tastatur des Apple Macintosh ist dies die Option-Taste.

Rückgabewert

BOOL	TRUE

Die Modifier2-Taste ist gedrückt.

FALSE

Die Modifier2-Taste ist nicht gedrückt.

_______________


MultiLineEdit

class MultiLineEdit : public Edit

{

public:

MultiLineEdit( Window* pParent, WinBits nWinStyle = WB_LEFT | WB_BORDER );

MultiLineEdit( Window* pParent, const ResId& rResId );

}

Beschreibung

Die Klasse MultiLineEdit stellt ein mehrzeiliges Editfeld zur Verfügung. Das MultiLineEdit entspricht in seiner Funktionalität dem einzeiligen Edit, die Unterschiede bestehen in der Präsentation des Textes.

Der Inhalt des MultiLineEdits kann sowohl in horizontaler als auch in vertikaler Richtung gescrollt werden; per Default erfolgt kein Scrollen. Falls die Applikation das Scrollen erlaubt, werden dem MultiLineEdit zusätzlich horizontale und/oder vertikale ScrollBars gegeben. Das Edit übernimmt die Aufgabe, die Benutzereingaben an seinen ScrollBars auszuwerten und den Text dementsprechend zu präsentieren.

Das MultiLineEdit sorgt dafür, daß die ScrollBars nur dann erzeugt werden, wenn ein Scrollen in der jeweiligen Richtung unterstützt wird. Falls automatisches Scrollen in horizontaler Richtung nicht erlaubt ist, wird der Text bei Erreichen des rechten Randes des MultiLineEdits durch das MultiLineEdit automatisch an Wortgrenzen umgebrochen. Wenn in einer Zeile Text gelöscht wurde, wird der Umbruch neu berechnet. Dies gilt lediglich für weiche Returns (automatische Umbrüche). Harte Returns, die der Benutzer direkt in den Text eingefügt hat, bleiben erhalten. Harte Returns werden in den Methoden Window::SetText() und Window::GetText() durch "\n" dargestellt.

Basisklassen

Edit : Control : Window : OutputDevice : Resource : LinkHdl

_______________


MultiLineEdit::MultiLineEdit( Window* pParent, WinBits nWinStyle =  WB_LEFT | WB_BORDER )
MultiLineEdit::MultiLineEdit()

MultiLineEdit::MultiLineEdit( Window* pParent, WinBits nWinStyle =  WB_LEFT | WB_BORDER );

Beschreibung

Konstruktor der Klasse MultiLineEdit. Wird weder WB_LEFT noch WB_RIGHT oder WB_CENTER angegeben, so wird der Text linksbündig ausgegeben.

Parameter

Window* pParent	Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (eine Textausrichtung muß gewählt werden):

WB_BORDER

Das Edit hat einen Rahmen.

WB_HSCROLL

Horizontales Scrollen ist möglich.

WB_VSCROLL

Vertikales Scrollen ist möglich.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_READONLY

Der Text des MultiLineEdits kann nicht mehr editiert, sondern lediglich über Window::SetText() gesetzt werden.

_______________


MultiLineEdit::MultiLineEdit( Window* pParent, const ResId& rResId);
MultiLineEdit::MultiLineEdit()

MultiLineEdit::MultiLineEdit( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse MultiLineEdit.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID des Edits in der Resource.

Querverweise

Resource

_______________


MultiListBox

class MultiListBox : public ListBox

{

public:

MultiListBox( Window* pParent, WinBits nWinStyle = 0 );

MultiListBox( Window* pParent, const ResId& rResId );

};

Beschreibung

Eine MultiListBox ist eine ListBox, in der auch Mehrfachselektionen möglich sind.

Alle Methoden der Basisklasse ListBox zur Selektion und Abfrage der Einträge sind auch auf diese Klasse anwendbar.

Basisklassen

ListBox : Control : Window : OutputDevice : Resource : LinkHdl

_______________

MultiListBox::MultiListBox()

MultiListBox::MultiListBox(Window* pParent, WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse MultiListBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_BORDER

Die MultiListBox hat einen Rahmen.

WB_SORT

Die Einträge in der MultiListBox werden in aufsteigenden Reihenfolge (abhängig vom Basisfenstersystem) sortiert.

WB_DROPDOWN

Die MultiListBox ist eine aufkklappbare ListBox, das bedeutet: Erst wenn der Benutzer einen speziellen Button anklickt, der zur MultiListBox gehört, wird die ListBox aufgeklappt, und ihr Inhalt wird sichtbar. Im geschlossenen Zustand wird der aktuelle Eintrag der MultiListBox nur als FixedText angezeigt. Bei geöffneter MultiListBox befindet sich dieser FixedText oberhalb der aufgeklappten MultiListBox.

WB_AUTOSIZE

Die Größe der MultiListBox wird automatisch so gesetzt, daß immer ganze Zeilen in der MultiListBox angezeigt werden.

WB_HSCROLL

Der horizontale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein horizontales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

WB_VSCROLL

Der vertikale ScrollBar soll in jedem Fall angezeigt werden. Er wird disabled, wenn kein vertikales Scrollen möglich ist. Auf Systemen, die dies nicht unterstützen, wird das Bit ignoriert.

WB_SIMPLEMODE

Die MultiListBox verhält sich wie eine normale ListBox. Die Mehrfachselektion kann nur über entsprechende Zusatztasten erfolgen.

_______________

MultiListBox::MultiListBox()

MultiListBox::MultiListBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse MultiListBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der MultiListBox in der Resource.

Querverweise

Resource

_______________


NumericBox

class NumericBox : public ComboBox, public NumericFormatter

{

public:

NumericBox( Window* pParent, WinBits nWinStyle);

NumericBox( Window* pParent, const ResId& rResId);

void	InsertValue( long nValue, USHORT nPos           =COMBOBOX_APPEND );

void	RemoveValue( long nValue );

long	GetValue() const;

long	GetValue( USHORT nPos ) const;

USHORT	GetValuePos( long nValue ) const;

};

Beschreibung

Eine NumericBox ist eine ComboBox für formatierte Zahleneinträge. Die Formatierung der Eingaben und der Listeneinträge erfolgt durch die Klasse NumericFormatter.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

NumericFormatter

Querverweise

NumericField, NumericFormatter

_______________


NumericBox::NumericBox( Window* pParent, WinBits nWinStyle = 0 )
NumericBox::NumericBox()

NumericBox::NumericBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse NumericBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der NumericBox werden aufsteigend sortiert.

_______________


NumericBox::NumericBox( Window* pParent, const ResId& rResId )
NumericBox::NumericBox()

NumericBox::NumericBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse NumericBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der NumericBox in der Resource.

Querverweise

Resource

_______________


NumericBox::InsertValue( long nValue, USHORT nPos = COMBOBOX_APPEND )
NumericBox::InsertValue()

void NumericBox::InsertValue( long nValue, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen Wert an der angegebenen Position in der NumericBox ein.

Parameter

long nValue	Der einzufügende Wert.

USHORT nPos	Die Position, an der der Wert eingefügt werden soll. Falls nichts angegeben wird, wird der Wert hinter dem bisher letzten Eintrag eingefügt.

Querverweise

ComboBox, NumericFormatter

_______________


NumericBox::RemoveValue( long nValue )
NumericBox::RemoveValue()

void NumericBox::RemoveValue( long nValue );

Beschreibung

Die Methode entfernt den übergebenen Wert aus der NumericBox.

Parameter

long nValue	Der Wert, der entfernt werden soll.

Querverweise

ComboBox, NumericFormatter

_______________


NumericBox::GetValue()

long NumericBox::GetValue() const;

Beschreibung

Die Methode liefert den Wert an der aktuellen Position zurück.

Rückgabewert

long	Der aktuelle Wert.

Querverweise

ComboBox, NumericFormatter

_______________


NumericBox::GetValue( USHORT nPos )
NumericBox::GetValue()

long NumericBox::GetValue( USHORT nPos ) const;

Beschreibung

Die Methode liefert den Wert zurück, der sich an der angegebenen Position innerhalb der NumericBox befindet.

Parameter

USHORT nPos	Die Position des Wertes, der ermittelt werden soll.

Rückgabewert

long	Der Wert, der sich an der Position nPos befindet.

Querverweise

ComboBox, NumericFormatter

_______________


NumericBox::GetValuePos( long nValue )
NumericBox::GetValuePos()

USHORT NumericBox::GetValuePos( long nValue ) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Werts innerhalb der NumericBox.

Parameter

long nValue	Der Wert, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Wertes.

Querverweise

ComboBox, NumericFormatter

_______________


NumericField

class NumericField : public SpinField, public NumericFormatter

{

public:

NumericField(Window* pParent, WinBits nWinStyle);

NumericField(Window* pParent,const ResId& rResId);

long	ChangeFirst( long nNewFirst );

long	GetFirst() const;

long	ChangeLast( long nNewLast );

long	GetLast() const;

long	ChangeSpinSize( long nSpinSize );

long	GetSpinSize() const;

};

Beschreibung

Das NumericField ist ein Eingabefeld für formatierte Zahleingaben. Die Formatierung der Eingaben und der Anzeige erfolgt durch die Basisklasse  NumericFormatter.

Basisklassen

SpinField : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

NumericFormatter

Querverweise

SpinField, NumericFormatter, NumericBox

_______________


NumericField()::NumericField()
NumericField::NumericField()

NumericField::NumericField( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse NumericField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das NumericField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das NumericField erhält einen SpinButton.

WB_REPEAT

Bei längerer Betätigung des SpinButtons soll dieser fortlaufend ausgelöst werden.

Querverweise

SpinField, Edit, Window

_______________


NumericField::NumericField( Window* pParent, const ResId& rResId )
NumericField::NumericField()

NumericField::NumericField( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse NumericField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des NumericFields.

Querverweise

Resource

_______________


NumericField::ChangeFirst( long nNewFirst )
NumericField::ChangeFirst()

long NumericField::ChangeFirst( long nNewFirst );

Beschreibung

Mit Hilfe dieser Methode wird der Wert einstellbar, der durch Betätigen der Taste <PGDN> gesetzt wird.

Parameter

long nNewFirst	Der neue Wert, der durch Betätigen der Taste <PGDN> gesetzt wird.

Querverweise

NumericField::GetFirst()

_______________


NumericField::GetFirst()

long NumericField::GetFirst() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGDN> gesetztwird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGDN> gesetzt wird.

_______________


NumericField::ChangeLast( long nNewLast )
NumericField::ChangeLast()

long NumericField::ChangeLast( long nNewLast );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, der durch Betätigen der Taste <PGUP> gesetzt wird.

Parameter

long nNewLast	Der neue Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

Querverweise

NumericField::GetLast()

_______________


NumericField::GetLast()

long NumericField::GetLast() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGUP> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

_______________


NumericField::ChangeSpinSize( long nSpinSize )
NumericField::ChangeSpinSize()

long NumericField::ChangeSpinSize( long nSpinSize );

Beschreibung

Mit Hilfe dieser Methode wird der Wert eingestellt, um den der Inhalt des Feldes bei jeder Betätigung des SpinButtons oder der Pfeiltasten erhöht oder erniedrigt werden soll.

Parameter

long nSpinSize	Der Wert, um den der Inhalt des NumericFields bei jeder Betätigung des SpinButtons oder einer der Pfeiltasten erhöht bzw. erniedrigt werden soll.

Rückgabewert

long	Der zuvor gesetzte Wert.

Querverweise

NumericField::ChangeSpinSize()

_______________


NumericField::GetSpinSize()

long NumericField::GetSpinSize() const;

Beschreibung

Die Methode ermittelt, um welchen Wert der Inhalt des Felds bei Betätigung des SpinButtons oder einer der Pfeiltasten erhöht oder erniedrigt wird.

Rückgabewert

long	Der Wert, um den der Inhalt des Felds bei Betätigen des SpinButtons oder einer der Pfeiltasten erhöht oder erniedrigt wird.

_______________


NumericFormatter

class NumericFormatter

{

NumericFormatter();

NumericFormatter( const ResId & rResId );

public:

long	ChangeMin( long nNewMin );

long	GetMin() const;

long	ChangeMax( long nNewMax );

long	GetMax() const;

BOOL	ChangeStrictFormat( BOOL bStrict );

BOOL	GetStrictFormat() const;

International	ChangeInternational(const International& rInter);

International	GetInternational() const;

USHORT	ChangeDecimalDigits( USHORT nDigits );

USHORT	GetDecimalDigits() const;

void	SetValue( long nNewValue );

long	GetValue() const;

BOOL	IsValueModified() const;

Fraction	ConvertToFraction( long nValue );

long	ConvertToLong( const Fraction& rValue );

long	Normalize( long nValue ) const;

long	Denormalize( long nValue ) const;

virtual void	Reformat();

};

Beschreibung

Die Klasse NumericFormatter sorgt für die Eingabeüberprüfung, die Formatierung und Anzeige von numerischen Werten innerhalb der abgeleiteten  Klassen NumericField und NumericBox. Da innerhalb von StarView keine Fließkomma- oder Festkommaformate fuer numerische Werte implementiert sind, verwendet die Klasse NumericFormatter eine normalisierte Darstellung der Werte. Das hat zur Folge, daß an der Methodenschnittstelle die Mantissen der Werte in Form eines "long" Wertes übergeben werden. Der eigentliche Wert wird durch Berücksichtigung der Anzahl der Nachkommastellen ermittelt.

Soll zum Beispiel der Wert 1308,61 in einem numerischen Feld gesetzt werden, so muß die Anzahl der Nachkommastellen auf 2 gesetzt und anschließend der Wert 130861 als Wert übergeben werden. Alternativ zu dieser Form der Darstellung können die normalisierten Werte mit Hilfe der Methoden ConvertToFraction() und ConvertToLong() in eine Bruchdarstellung umgewandelt werden. Die gesetzte Anzahl von Nachkommastellen wird bei der Umwandlung automatisch berücksichtigt.

Querverweise

NumericField, NumericBox

_______________


NumericFormatter::NumericFormatter()

NumericFormatter::NumericFormatter();

Beschreibung

Konstruktor der Klasse NumericFormatter. Es können keine Instanzen dieser Klasse direkt erzeugt werden, da es sich um eine Basisklasse für die Klassen NumericField und NumericBox handelt.

Querverweise

NumericField, NumericBox

_______________


NumericFormatter::NumericFormatter( const ResId & rResId )
NumericFormatter::NumericFormatter()

NumericFormatter::NumericFormatter( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse NumericFormatter. Es können keine Instanzen dieser Klasse direkt erzeugt werden, da es sich um eine Basisklasse für die Klassen NumericField und NumericBox handelt.

Parameter

const ResId& rResId	Der Resource-Identifier des NumericFormatter.

Querverweise

NumericField, NumericBox

_______________


NumericFormatter::ChangeMin( long nNewMin )
NumericFormatter::ChangeMin()

long NumericFormatter::ChangeMin( long nNewMin );

Beschreibung

Die Methode setzt einen neuen Minimalwert für die Zahleneingabe im NumericField oder der NumericBox. Gibt der Benutzer einen kleineren Wert ein, dann wird dieser auf den angegebenen Minimalwert geändert. Die Angabe des Wertes erfolgt in normalisierter Darstellung.

Parameter

long nNewMin	Der neue Minimalwert für die Zahleneingabe in normalisierter Form.

Rückgabewert

long	Der zuvor gesetzte Minimalwert für die Zahleneingabe in normalisierter Form.

Querverweise

GetMin(), ChangeMax(), ChangeDecimalDigits()

_______________


NumericFormatter::GetMin()

long NumericFormatter::GetMin() const;

Beschreibung

Die Methode ermittelt den gesetzten Minimalwert für Zahleneingaben im NumericField oder der NumericBox.

Rückgabewert

long	Der gesetzte Minimalwert für die Zahleneingabe in normalisierter Form.

Querverweise

ChangeMin(),ChangeDecimalDigits()

_______________


NumericFormatter::ChangeMax( long nNewMax )
NumericFormatter::ChangeMax()

long NumericFormatter::ChangeMax( long nNewMax );

Beschreibung

Die Methode setzt einen neuen Maximalwert für die Zahleneingabe im NumericField oder der NumericBox. Gibt der Benutzer einen größeren Wert ein, dann wird dieser auf den angegebenen Maximalwert geändert. Die Angabe des Wertes erfolgt in normalisierter Darstellung.

Parameter

long nNewMax	Der neue Maximalwert für die Zahleneingabe in normalisierter Form.

Rückgabewert

long	Der zuvor gesetzte Maximalwert für die Zahleneingabe in normalisierter Form.

Querverweise

GetMax(), ChangeMin(), ChangeDecimalDigits()

_______________


NumericFormatter::GetMax()

long NumericFormatter::GetMax() const;

Beschreibung

Die Methode ermittelt den gesetzten Maximalwert für Zahleneingaben im NumericField oder der NumericBox.

Rückgabewert

long	Der gesetzte Maximalwert für die Zahleneingabe in normalisierter Form.

Querverweise

ChangeMax(), ChangeDecimalDigits()

_______________


NumericFormatter::ChangeStrictFormat( BOOL bStrict )
NumericFormatter::ChangeStrictFormat()

BOOL NumericFormatter::ChangeStrictFormat( BOOL bStrict );

Beschreibung

Die Methode legt fest, ob im NumericField oder der NumericBox Eingaben sofort auf korrektes Format überprüft werden sollen. Es ist bei eingeschalteter strikter Überprüfung nur möglich Ziffern, sowie die Zeichen für den Dezimaltrenner und die Tausenderseparatoren einzugeben. Wird die strikte Überprüfung ausgeschaltet, wird eine Untersucheung der Eingaben erst bei Verlust des Eingabefocus oder durch den Aufruf der Methode Refomat() vorgenommen. Nach der Erzeugung eines Objektes der Klassen NumericField oder NumericBox ist die strikte Überprüfung ausgeschaltet.

Parameter

BOOL bStrict	TRUE

Die strikte Überprüfung wird eingeschaltet.

FALSE

Die strikte Überprüfung wird ausgeschaltet.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfung war eingeschaltet.

FALSE

Die strikte Überprüfung war ausgeschaltet.

Querverweise

NumericFormatter::GetStrictFormat(), NumericFormatter::Reformat()

_______________


NumericFormatter::GetStrictFormat()

BOOL NumericFormatter::GetStrictFormat() const;

Beschreibung

Die Methode ermittelt, ob im NumericField oder der NumericBox die strikte Überprüfung der Eingaben eingeschaltet ist.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfung der Eingaben ist eingeschaltet.

FALSE

Die strikte Überprüfung der Eingaben ist ausgeschaltet.

Querverweise

NumericFormatter::ChangeStrictFormat(), NumericFormatter::Reformat()

_______________


NumericFormatter::ChangeInternational( const International& rInter )
NumericFormatter::ChangeInternational()

International NumericFormatter::ChangeInternational( const International& rInter );

Beschreibung

Die Methode setzt eine neue Instanz der Klasse Internationat, deren Einstellungen die Grundlage für die Zahlenformatierung in der NumericBox und dem NumericField bilden.

Parameter

const International& rInter	Die neue Instanz der Klasse International.

Rückgabewert

International	Die bisher gesetzte Instanz der Klasse International.

Querverweise

GetInternational(), International

_______________


NumericFormatter::GetInternational()

International NumericFormatter::GetInternational() const;

Beschreibung

Die Methode ermittelt die Instanz der Klasse International, deren Einstellungen die Grundlage für die Zahlenformatierung im NumericField oder in der NumericBox bilden.

Rückgabewert

International	Die gesetzte Instanz der Klasse International.

Querverweise

ChangeInternational(), International

_______________


NumericFormatter::ChangeDecimalDigits( USHORT nDigits )
NumericFormatter::ChangeDecimalDigits()

USHORT NumericFormatter::ChangeDecimalDigits( USHORT nDigits );

Beschreibung

Die Methode setzt eine neue Anzahl von Dezimalstellen für die Zahlendarstellung in der NumericBox und dem NumericField.

Parameter

USHORT nDigits	Die neueAnzahl von Dezinmalstellen.

Rückgabewert

USHORT	Die bisher gesetzte Anzahl von Dezimalstellen.

Querverweise

GetDecimalDigits(), Normalize(), Denormalize()

_______________


NumericFormatter::GetDecimalDigits()

USHORT NumericFormatter::GetDecimalDigits() const;

Beschreibung

Die Methode ermittelt die gesetzte Anzahl von Dezimalstellen für die Zahlendarstellung in der NumericBox und dem NumericField .

Rückgabewert

USHORT	Die gesetzte Anzahl von Dezimalstellen.

Querverweise

NumericFormatter::ChangeDecimalDigits(), NumericFormatter::Normalize(), NumericFormatter::Denormalize()

_______________


NumericFormatter::SetValue( long nValue )
NumericFormatter::SetValue()

void NumericFormatter::SetValue( long nValue );

Beschreibung

Die Methode setzt einen neuen Zahlenwert für das NumericField bzw. die NumericBox.

Parameter

long nValue	Der neue Zahlenwert in normalisierter Form.

Querverweise

NumericFormatter::GetValue(), NumericFormatter::ChangeDecimalDigits(), NumericFormatter::Normalize(), NumericFormatter::Denormalize()

_______________


NumericFormatter::GetValue()

long NumericFormatter::GetValue() const;

Beschreibung

Die Methode ermittelt den aktuellen Zahlenwert eines NumericField oder einer NumeriBox. Vor der Rückgabe des Wertes wird eine Eingabeüberprüfung vorgenommen.

Rückgabewert

long	Der aktuelle Zahlenwert in normalisierter Form.

Querverweise

NumericFormatter::SetValue(), NumericFormatter::ChangeDecimalDigits(), NumericFormatter::Reformat()

_______________


NumericFormatter::IsValueModified()

BOOL NumericFormatter::IsValueModified() const;

Beschreibung

Die Methode ermittelt, ob der Zahlenwert seit dem letzten Aufruf von SetValue() geändert wurde.

Rückgabewert

BOOL	TRUE

Der Zahlenwert wurde geändert.

FALSE

Der Zahlenwert wurde nicht geändert.

Querverweise

NumericFormatter::SetValue(), NumericFormatter::Reformat()

_______________


NumericFormatter::ConvertToFraction( long nValue )
NumericFormatter::ConvertToFraction()

Fraction NumericFormatter::ConvertToFraction( long nValue );

Beschreibung

Die Methode konvertiert den übergebenen Zahlenwert in einen Bruch. Bei der Wandlung wird die gesetzte Anzahl der Nachkommastellen berücksichtigt. Wird der Wert 101034 übergeben und beträgt die Anzahl der Nachkommastellen 2, liefert diese Methode eine Instanz der Klasse Fraction mit den Werten 101034/100 zurück.

Parameter

long nValue	Der Zahlenwert, der konvertiert werden soll.

Rückgabewert

Fraction	Der konvertierte Wert als Instanz der Klasse Fraction.

Querverweise

NumericFormatter::ConvertToLong(), NumericFormatter::ChangeDecimalDigits(), NumericFormatter::Normalize(), NumericFormatter::Denormalize()

_______________


NumericFormatter::ConvertToLong( const Fraction& rValue )
NumericFormatter::ConvertToLong()

long NumericFormatter::ConvertToLong( const Fraction& rValue );

Beschreibung

Die Methode konvertiert den übergebenen Bruch in einen long-Wert.  Bei der Wandlung wird die gesetzte Anzahl der Nachkommastellen berücksichtigt. Wird der Wert 101034/100 übergeben und beträgt die Anzahl der Nachkommastellen 2, liefert diese Methode den Wert 101034 zurück.

Parameter

const Fraction& rValue	Der Fraction-Wert, der konvertiert werden soll.

Rückgabewert

long	Der konvertierte long-Wert.

Querverweise

NumericFormatter::ConvertToFraction(), NumericFormatter::ChangeDecimalDigits(), NumericFormatter::Normalize(), NumericFormatter::Denormalize()

_______________


NumericFormatter::Normalize( long nValue )
NumericFormatter::Normalize()

long NumericFormatter::Normalize( long nValue ) const;

Beschreibung

Die Methode normalisiert den übergebenen Wert in Abhängigkeit der gesetzten Anzahl von Nachkommastellen. Wird der Wert 1010 übergeben und beträgt die Anzahl der Nachkommastellen 2, liefert die Methode den Wert 101000.

Parameter

long nValue	Der Wert, der normalisiert werden soll.

Rückgabewert

long	Der normalisierte Wert.

Querverweise

NumericFormatter::Denormalize(), NumericFormatter::ChangeDecimalDigits()

_______________


NumericFormatter::Denormalize( long nValue )
NumericFormatter::Denormalize()

long NumericFormatter::Denormalize( long nValue ) const;

Beschreibung

Die Methode denormalisiert den übergebenen Wert in Abhängigkeit der gesetzten Anzahl von Nachkommastellen. Bei der Wird der Wert 101034 übergeben und beträgt die Anzahl der Nachkommastellen 2, wird der Wert 1010 zurückgegeben.

Parameter

long nValue	Der Wert, der dnormalisiert werden soll.

Rückgabewert

long	Der denormalisierte Wert.

Querverweise

NumericFormatter::Normalize(), NumericFormatter::ChangeDecimalDigits()

_______________


NumericFormatter::Reformat()

virtual void NumericFormatter::Reformat();

Beschreibung

Diese Methode dient der Überprüfung und Neuformatierung der Eingaben in einem NumericField oder in einer NumericBox. Diese Methode wird auch intern bei Verlust des Eingabefocus zur Neuformatierung gerufen.

_______________


StarObjectServer

class StarObjectServer

{

public:

StarObjectServer();

StarObjectServer( const String& rName );

~StarObjectServer();

BOOL	IsServer() const;

String	GetServerName() const;

String	GetAppName() const;

String	GetObjectName() const;

Size	GetSize() const;

void	Update();

virtual BOOL	Create() = 0;

virtual void	Release();

virtual BOOL	Action( USHORT nAction ) = 0;

virtual void	NewNames( const String& rAppName, const String& rObjName ) = 0;

virtual BOOL	ReceiveData( MemoryBlock& rMemBlock ) = 0;

virtual BOOL	TransmitData( MemoryBlock& rMemBlock ) = 0;

virtual BOOL	TransmitPicture( GDIMetaFile& rMtf ) = 0;

};

Beschreibung

Diese Klasse deklariert ein ansonsten normales Programm zu einem StarServer. Ein oder mehrere Instanzen der Klasse StarObjectServer können von einem StarServer eingerichtet werden. Damit dieser voll funktionsfähig ist, müssen alle virtuellen Methoden überladen werden. Ein StarServer kann ein StarObject erstellen und bearbeiten. Er kann auch für mehrere verschiedene Objekte als Server verantwortlich sein. Ist eine StarObjectServer-Instanz eingerichtet, kann die Applikation (der Server) bestimmen, ob sie als Server oder als normale Applikation hochgefahren wurde. Die Methode StarObjectServer::IsServer() liefert TRUE zurück, wenn die Applikation als Server hochgefahren wurde. Von da an verhält sich ein Server im Gegensatz zu einer normalen Applikation völlig passiv. Er darf zum Beispiel nicht das Hauptfenster sichtbar machen. Es kann nämlich vorkommen, daß (unter Windows) der Server nur das Abbild neu berechnen soll, aber sonst unsichtbar bleiben soll. Auch beim Abspielen eines Sound- oder Multimedia-Objekts darf sich der Server normalerweise nicht zeigen. Ein Server darf sich nur zeigen, wenn er ein Objekt bearbeiten soll.

Ein von einem Server geliefertes Objekt kann durch ein anderes Program (Client) in einem Dokument gespeichert werden.

Querverweise

StarObject

_______________


StarObjectServer::StarObjectServer()

StarObjectServer::StarObjectServer();

Beschreibung

Der Konstruktor überprüft, ob die Applikation als Server gestartet wurde. Unter Windows ist dies z.B. der Fall, wenn in der Kommandozeile der String "/Embedding" oder "-Embedding" gefunden wird. Ist dies der Fall, wird die Applikation als Server registriert.

_______________


StarObjectServer::StarObjectServer( const String& rName )
StarObjectServer::StarObjectServer()

StarObjectServer::StarObjectServer( const String& rName );

Beschreibung

Der Konstruktor überprüft, ob die Applikation als Server gestartet wurde. Unter Windows ist dies z.B. der Fall, wenn in der Kommandozeile der String "/Embedding" oder "-Embedding" gefunden wird. Ist dies der Fall, wird die Applikation als Server registriert.

Parameter

const String& rName	Der Name des Servers. Dieser muß auf allen System eindeutig sein. Er sollte nur aus Buchstaben und Zahlen bestehen.

_______________


StarObjectServer::~StarObjectServer()

StarObjectServer::~StarObjectServer();

Beschreibung

Destruktor der Klasse StarObjectServer.

_______________


StarObjectServer::IsServer()

BOOL StarObjectServer::IsServer() const;

Beschreibung

Diese Methode liefert TRUE zurück, wenn die Applikation als Server gestartet wurde. Unter Windows ist dies z.B. der Fall, wenn in der Kommandozeile der String "/Embedding" oder "-Embedding" gefunden wird. In diesem Fall sollte die Applikation sein Hauptfenster nicht zeigen und auf den Aufruf der Callbacks warten.

Rückgabewert

BOOL	TRUE

Die Applikation wurde als Server gestartet.

FALSE

Die Applikation wurde nicht als Server gestartet.

_______________


StarObjectServer::GetServerName()

String StarObjectServer::GetServerName() const;

Beschreibung

Der im Konstruktor angegebene Name des Servers wird zurückgeliefert.

Rückgabewert

String	Der Name des Servers.

_______________


StarObjectServer::GetAppName()

String StarObjectServer::GetAppName() const;

Beschreibung

Der Name der Client-Applikation wird zurückgeliefert. Ist der Name noch nicht vom Client übermittelt worden, ist der String leer. Handelt es sich beim Client um eine StarObject-Applikation, ist der voreingestellte Name "StarObjectApp".

Rückgabewert

String	Der Name der Client-Applikation.

_______________


StarObjectServer::GetObjectName()

String StarObjectServer::GetObjectName() const;

Beschreibung

Der Name des Objekts in der Client-Applikation wird zurückgeliefert. Ist der Name noch nicht vom Client übermittelt worden, ist der String leer. Handelt es sich beim Client um eine StarObject-Applikation, ist der voreingestellte Name "StarObject".

Rückgabewert

String	Der Name des Objekts in der Client-Applikation.

_______________


StarObjectServer::GetSize()

Size StarObjectServer::GetSize() const;

Beschreibung

Die Größe des Objekts wird so zurückgeliefert, wie sie vom Client definiert wurde. Die Maße sind immer als 1/100 mm zu betrachten. Bei einem Initial Edit ist die Größe noch 0. Das gleiche ist der Fall, wenn die Größe noch nicht übermittelt wurde.

Rückgabewert

Size	Die Größe des Objekts.

_______________


StarObjectServer::Update()

void StarObjectServer::Update();

Beschreibung

Der Aufruf dieser Methode veranlaßt den Client, die Objektdaten sowie das Abbild vom Server neu anzufordern. Sie wird normalerweise nach dem Ende einer Bearbeitung gerufen. Neben dem Anfordern der Daten wird im Client auch die Methode StarObject::IsChanged() veranlaßt, TRUE zurückzuliefern.

Querverweise

StarObject::IsChanged()

_______________


StarObjectServer::Create() = 0
StarObjectServer::Create()

virtual BOOL StarObjectServer::Create() = 0;

Beschreibung

Diese Methode wird aufgerufen, wenn ein Datenobjekt zu einem Starobjekt erzeugt werden soll.

Rückgabewert

BOOL	TRUE

Das Datenobjekt wurde erzeugt

FALSE

Das Datenobjekt wurde nicht erzeugt

_______________


StarObjectServer::Release()

virtual void StarObjectServer::Release();

Beschreibung

Diese Methode wird gerufen, wenn die Bearbeitung eines StarObjekts beendet werden soll.

_______________


StarObjectServer::Action( USHORT nAction ) = 0
StarObjectServer::Action()

virtual BOOL StarObjectServer::Action( USHORT nAction ) = 0;

Beschreibung

Wenn diese Methode aufgerufen wird, soll der Server die gewünschte Aktion ausführen. Im Rückgabewert wird angezeigt, ob die Aktion ausgeführt wurde.

Parameter

USHORT nAction	Gewünschte Aktion, die ausgeführt werden soll

Rückgabewert

BOOL	TRUE

Die Aktion wurde ausgeführt

FALSE

Die Aktion wurde nicht ausgeführt

_______________


StarObjectServer::NewNames( const String& rAppName, const String& rObjName )
StarObjectServer::NewNames()

virtual void StarObjectServer::NewNames( const String& rAppName, const String& rObjName ) = 0;

Beschreibung

Wenn der Client dem Server den Namen der Applikation sowie den Namen des Objakts übermittelt, wird dieser Callback aufgerufen. Die Ablage der Namen mußte als eigener Callback angelegt werden, da nicht immer gewährleistet ist, daß die Namen bereits beim Aufruf des Callbacks Edit() bereits zur Verfügung stehen.

Parameter

const String& rAppName	Der Name der Applikation. Eine StarObject-Applikation hat als Voreinstellung den Text "StarObjectApp".

const String& rObjName	Der Name des Objekts. Eine StarObject-Applikation hat als Voreinstellung den Text "StarObject".

_______________


StarObjectServer::ReceiveData( MemoryBlock& rMemBlock )
StarObjectServer::ReceiveData()

virtual BOOL StarObjectServer::ReceiveData( MemoryBlock& rMemBlock ) = 0;

Beschreibung

Dieser Callback wird aufgerufen, wenn der Client dem Server die Objektdaten übermittelt. Der Parameter enthält die Objektdaten so, wie sie zuvor im Callback TransmitData() vom Server erzeugt worden waren. Der Server sollte diese Daten übernehmen und bei korrekter Übernahme den Wert TRUE zurückliefern.

Parameter

MemoryBlock& rMemBlock	Daten, die vom Client kommen

Rückgabewert

BOOL	TRUE

Der Memoryblock wurde empfangen und gelesen

FALSE

Der Memoryblock wurden nicht empfangen

_______________


StarObjectServer::TransmitData( MemoryBlock& rMemBlock )
StarObjectServer::TransmitData()

virtual BOOL StarObjectServer::TransmitData( MemoryBlock& rMemBlock ) = 0;

Beschreibung

Dieser Callback wird aufgerufen, wenn der Client vom Server die Objektdaten anfordert. Dies ist der Fall, wenn der Server nach einem Edit-Vorgang die Methode Update() aufruft. Der Server füllt das übergebene Objekt mit den Daten, die er zur Darstellung des Objekts benötigt. Diese Daten werden vom Client im Dokument gespeichert. Wenn der Server die Daten korrekt gefüllt hat, liefert er den Wert TRUE zurück.

Parameter

MemoryBlock& rMemBlock	Daten, die zum Client gesendet werden sollen

Rückgabewert

BOOL	TRUE

Der Memoryblock würde korrekt gefüllt

FALSE

Der Memoryblock wurde nicht gefüllt

_______________


StarObjectServer::TransmitPicture( GDIMetaFile& rMtf )
StarObjectServer::TransmitPicture()

virtual BOOL StarObjectServer::TransmitPicture( GDIMetaFile& rMtf ) = 0;

Beschreibung

Dieser Callback wird aufgerufen, wenn der Client vom Server das Abbild anfordert. Dies ist der Fall, wenn der Server nach einem Edit-Vorgang die Methode Update() aufruft. Der Server füllt das übergebene GDIMetaFile mit dem Abbild des Objekts. Der dabei verwendete MapMode muß zur Zeit MAP_100TH_MM (1/100 mm) sein. Die Größe des Objekts wird im MetaFile mit GDIMetaFile::ChangePrefSize() eingestellt. Diese Angabe muß in 1/100 mm gemacht werden. Die Daten werden vom Client im Dokument gespeichert und für die Ausgabe verwendet. Wenn der Server das MetaFile korrekt gefüllt hat, liefert er den Wert TRUE zurück.

Parameter

GDIMetaFile& rMtf	Das GDIMetaFile, das mit dem Abbild des Objekts gefüllt werden soll.

Rückgabewert

BOOL	TRUE

Der Server hat das Abbild in das Metafile gestellt

FALSE

Der Server hat kein Abbild in das Metafile gestellt

Anmerkungen

Wenn GDIMetaFiles direkt übertragen werden können, kann das MetaFile auch andere MapModes enthalten.

Unter Windows kann ein "Stilles Update" erfolgen. Dabei wird unmittelbar nach dem Aufruf von ReceiveData() dieser Callback aufgerufen. Dies ist dann der Fall, wenn der Client für eine neue Objektgröße ein neues Abbild haben möchte.

Querverweise

GDIMetaFile::ChangePrefSize()

_______________


OKButton

class OKButton : public PushButton

{

protected:

virtual void	Click();

public:

OKButton( Window* pParent, WinBits nWinStyle = WB_DEFBUTTON );

OKButton( Window* pParent, const ResId& rResId );

};

Beschreibung

Die Klasse OKButton wird eingesetzt, wenn über einen PushButton ein modaler Dialog beendet werden soll und die Werte übernommen werden sollen. Der OKButton erhält als Voreinstellung je nach im System eingestellter Sprache automatisch den richtigen Text. Der Click-Handler prüft, ob es sich beim Parent um einen modalen Dialog handelt und ob kein Link gesetzt ist. Wenn dies der Fall ist, wird die Methode ModalDialog::EndDialog() vom Parent gerufen. Dieses Default-Verhalten erspart in vielen Fällen das Setzen eines Links. Auf Systemen, bei denen ein Dialog durch eine Taste (z.B. ESC) oder über ein System-Menu abgebrochen werden kann, wird der Click-Handler des OKButtons gerufen, wenn kein CancelButton vorhanden ist.

Es ist darauf zu achten, daß nicht zwei OKButtons den gleichen Parent besitzen.

Basisklassen

PushButton : Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


OKButton::Click()

virtual void OKButton::Click();

Beschreibung

Dieser Handler wird in dieser Klasse überladen und ruft den mit Button::ChangeClickHdl() eingestellten Handler. Falls kein Handler eingestellt wurde, wird die Methode ModalDialog::EndDialog() vom Parent mit dem Parameter TRUE aufgerufen, wenn es sich beim Parent um einen modalen Dialog handelt. Falls der Parent ein ModelessDialog ist oder ein WorkWindow, wird der Close-Handler vom Parent gerufen. Ist der Parent ein ModelessDialog, wird der Close-Handler nur gerufen, wenn ModelessDialog::IsPinIn() FALSE zurückliefert.

Querverweise

ModalDialog::EndDialog(), SystemWindow::Close()

_______________


OKButton::OKButton( Window* pParent, WinBits nWinStyle = 0 )
OKButton::OKButton()

OKButton::OKButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse OKButton.

Parameter

Window* pParent	Der Parent des OKButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_DEFBUTTON

Bei dem Button handelt es sich um den Default-PushButton, der z.B. durch die Eingabetaste aktiviert wird. Bei PushButtons, die den gleichen Parent besitzen, darf nur bei einem PushButton dieses Stylebit gesetzt werden.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


OKButton::OKButton( Window* pParent, const ResId& rResId )
OKButton::OKButton()

OKButton::OKButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse OKButton.

Parameter

Window* pParent	Der Parent des OKButtons.

const ResId& rResId	Die ID des OKButtons in der Resource.

Querverweise

Resource

_______________


OutputDevice

enum RasterOp	{ ROP_OVERPAINT, ROP_INVERT, ROP_AND, ROP_OR, ROP_XOR, ROP_NXOR };

enum OutDevType	{ OUTDEV_DONTKNOW, OUTDEV_WINDOW, OUTDEV_PRINTER, OUTDEV_VIRDEV };

class OutputDevice : public Resource

{

private:

OutputDevice( const OutputDevice& rOutDev );

OutputDevice&	operator =( const OutputDevice& rOutDev );

protected:

OutputDevice();

OutputDevice( const ResId& rResId );

public:

virtual	~OutputDevice();

void	DrawText( const Point& rStartPt, const String& rStr, USHORT nPos = 0, USHORT nLen = STRING_LEN );

Size	GetTextSize( const String& rStr, USHORT nPos = 0, USHORT nLen = STRING_LEN ) const;

void	DrawStretchText( const Point& rStartPt, USHORT nWidth, const String& rStr, USHORT nIndex = 0, USHORT nLen = STRING_LEN );

Size	GetStretchTextSize( const String& rStr, USHORT nWidth, USHORT nPartIndex, USHORT nPartLen, USHORT nIndex = 0, USHORT nLen = STRING_LEN ) const;

void	DrawKernText( const Point& rStartPt, const String&rStr, USHORT nPos = 0,USHORT nLen = STRING_LEN, short* pKernAry = 0 );

Size	GetKernTextSize( const String& rStr, USHORT nPos = 0, USHORT nLen = STRING_LEN, short* pKernAry = 0 ) const;

void	DrawPixel( const Point& rPt, const Color& rColor );

Color	GetPixel( const Point& rPt ) const;

void	DrawPoint( const Point& rPt );

void	DrawLine( const Point& rStartPt, const Point& rEndPt );

void	DrawRect( const Rectangle& rRect,USHORT nHorzRound =0, USHORT nVertRound = 0 );

void	InvertRect( const Rectangle& rRect );

void	HighlightRect( const Rectangle& rRect );

void	DrawEllipse( const Rectangle& rRect );

void	DrawArc( const Rectangle& rRect, const Point& rStartPt, const Point& rEndPt );

void	DrawPie( const Rectangle& rRect, const Point& rStartPt, const Point& rEndPt );

void	DrawPolyLine( const Polygon& rPolygon );

void	DrawPolygon( const Polygon& rPolygon );

void	DrawPolyPolygon( const PolyPolygon& rPolyPoly );

void	DrawOutDev( const Point& rDestPt,const Size& rDestSize, const Point& rSrcPt, const Size& rSrcSize, const OutputDevice& rScrDev );

void	DrawBitmap(const Point& rDestPt,const Bitmap& rBitmap);

void	DrawBitmap( const Point& rDestPt,const Size& rDestSize, const Bitmap& rBitmap );

Bitmap	GetBitmap(const Point& rSrcPt,const Size& rSize) const;

void	DrawIcon( const Point& rDestPt, const Icon& rIcon );

Region	ChangeClipRegion();

Region	ChangeClipRegion( const Region& rRegion );

Region	MoveClipRegion( short nHorzMove, short nVertMove );

Region	IntersectClipRegion( const Rectangle& rRect );

Region	GetClipRegion() const;

BOOL	IsClipRegion() const;

Pen	ChangePen( const Pen& rNewPen );

Pen	GetPen() const;

Font	ChangeFont( const Font& rNewFont );

Font	GetFont() const;

Brush	ChangeBackgroundBrush( const Brush& rNewBrush );

Brush	GetBackgroundBrush() const;

Brush	ChangeFillInBrush( const Brush& rNewBrush );

Brush	GetFillInBrush() const;

MapMode	ChangeMapMode( const MapMode& rNewMapMod );

MapMode	GetMapMode() const;

Point	LogicToPixel( const Point& rLogicPoint, const MapMode& rMapMod ) const;

Point	LogicToPixel( const Point& rLogicPoint ) const;

Size	LogicToPixel( const Size& rLogicSize, const MapMode& rMapMod ) const;

Size	LogicToPixel( const Size& rLogicSize ) const;

Rectangle	LogicToPixel( const Rectangle& rLogicRect, const MapMode& rMapMod ) const;

Rectangle	LogicToPixel( const Rectangle& rLogicRect ) const;

Polygon	LogicToPixel( const Polygon& rLogicPoly ) const;

Polygon	LogicToPixel( const Polygon& rLogicPoly, const MapMode& rMapMod ) const;

PolyPolygon	LogicToPixel( const PolyPolygon& rLogicPolyPoly ) const;

PolyPolygon	LogicToPixel( const PolyPolygon& rLogicPolyPoly, const MapMode& rMapMod ) const;

Region	LogicToPixel( const Region& rLogicRegion ) const;

Region	LogicToPixel( const Region& rLogicRegion, const MapMode& rMapMod ) const;

Point	PixelToLogic( const Point& rDevicePoint, const MapMode& rMapMod) const;

Point	PixelToLogic( const Point& rDevicePoint ) const;

Size	PixelToLogic( const Size& rDeviceSize, const MapMode& rMapMod ) const;

Size	PixelToLogic( const Size& rDeviceSize ) const;

Rectangle	PixelToLogic( const Rectangle& rDeviceRect, const MapMode& rMapMod ) const;

Rectangle	PixelToLogic( const Rectangle& rDeviceRect ) const;

Polygon	PixelToLogic( const Polygon& rDevicePoly ) const;

Polygon	PixelToLogic( const Polygon& rDevicePoly, const MapMode& rMapMod ) const;

PolyPolygon	PixelToLogic( const PolyPolygon& rDevicePolyPoly ) const;

PolyPolygon	PixelToLogic( const PolyPolygon& rDevicePolyPoly, const MapMode& rMapMod ) const;

Region	PixelToLogic( const Region& rDeviceRegion ) const;

Region	PixelToLogic( const Region& rDeviceRegion, const MapMode& rMapMod ) const;

RasterOp	ChangeRasterOp( RasterOp eNewROP );

RasterOp	GetRasterOp() const;

Size	GetOutputSize() const;

virtual Size	GetOutputSizePixel() const;

USHORT	GetDevFontCount() const;

Font	GetDevFont( USHORT nPos ) const;

USHORT	GetDevFontSizeCount( const Font& rFont ) const;

Size	GetDevFontSize( const Font& rFont, USHORT nPos ) const;

FontMetric	GetFontMetric() const;

FontMetric	GetFontMetric( const Font& rFont ) const;

Color	GetSolidColor( const Color& rColor ) const;

ULONG	GetColorCount() const;

void	Push();

void	Pop();

OutDevType	GetOutDevType() const;

};

Beschreibung

Die Klasse OutputDevice stellt die Basis für eine fenstersystemunabhängige Ausgabefunktionalität zur Verfügung. Außerhalb dieser Klasse sollen in Bezug auf die Ausgabe keine Abhängigkeiten vom zugrundeliegenden Fenstersystem bestehen.

Die Klasse OutputDevice ist die Basisklasse für alle Klassen, die Ausgaben darstellen können (Window, Printer usw.).

Die Klasse OutputDevice arbeitet mit einem logischen Koordinatensystem. Alle für die Ausgabemethoden benötigten Koordinatenangaben sind logische Koordinaten. Die Einstellung des logischen Koordinatensystems erfolgt über die Auswahl eines passenden MapModes.

Alle Ausgabemethoden arbeiten mit logischen Ausgabewerkzeuge (Pen, Brush, Font).

In der folgenden Tabelle werden die Methoden zum Abfragen und Ändern der OutputDevice-Größe sowie der Devices von abgeleiteten Klassen gezeigt. Dabei wird zwischen logischen Einheiten und Device-Einheiten, je nach gewähltem MapMode, unterschieden. Die Trennung zwischen innen und außen gibt es in den Klassen OutputDevice und VirtualDevice nicht. In der Klasse Window beschreibt "innen" den Ausgabebereich des Fensters, während "außen" das gesamte Fenster inklusive seines Rahmens beschreibt. In der Klasse Printer bedeutet "innen" die bedruckbare Fläche des Papiers und "außen" die gesamte Papiergröße.

Die Gesamtgröße eines Windows kann nur in Device-Einheiten eingestellt werden, da sich der selektierte MapMode nur auf die Ausgabefläche, nicht aber auf das gesamte Fenster bezieht.


            Einheit

           logische Einheiten

                  Device-Einheiten

Klasse

Innen

Außen

Innen

Außen

OutputDevice

GetOutputSize

   -

GetOutputSizePixel

   -

   -

   -

   -

   -

Printer

GetOutputSize

   -

GetOutputSizePixel

GetPaperSizePixel

   -

   -

   -

   -

VirtualDevice

GetOutputSize

   -

GetOutputSizePixel

   -

SetOutputSize

   -

SetOutputSizePixel

   -

Window

GetOutpuSize

   -

GetOutputSizePixel

GetSizePixel

   -

   -

ChangeOutputSizePixel

ChangeSizePixel

SystemWindow

GetOutputSize

   -

GetOutputSizePixel

GetSizePixel

   -

   -

ChangeOutputSizePixel

ChangeSizePixel

Beispiel zur obenstehenden Tabelle:

Die Größe des Ausgabebereichs (innen) in einem WorkWindow (abgeleitet von SystemWindow) wird mit der Methode Window::ChangeOutputSizePixel() in Pixeln eingestellt.

Ausnahmen

Es ist nicht möglich, eine Instanz dieser Klasse zu erzeugen. Der Copy-Konstruktor und der Zuweisungsoperator sind als private definiert, da keine Instanzen dieser Klasse oder der abgeleiteten Klassen kopiert werden können.

Basisklassen

Resource : LinkHdl

Beispiel

...

Pen   aBlackPen( Color( COL_BLACK ), 0, PEN_SOLID );

Pen   aThickRedPen( Color( COL_RED ), 5, PEN_SOLID);

Brush   aBlueBrush( Color( COL_BLUE ), BRUSH_SOLID );

Brush   aGreenHatchBrush( Color( COL_GREEN ), BRUSH_HORZ );

MapMode   aMapMode( MAP_MM );

Pen      aOldPen;

Brush    aOldBrush;

MapMode  aOldMapMode;

// Alle folgenden Ausgaben in Millimetern.

pWindow->ChangeMapMode( aMapMode );

// Schwarzen Pen zuordnen und alten Pen merken.

aOldPen pWindow->ChangePen( aBlackPen );

// Blaue FillInBrush zuordnen und alte Brush merken.

aOldFillInBrush = pWindow->ChangeFillInBrush( aBlueBrush );

// Blaues Rechteck mit schwarzem Rand in der Größe 10x10mm.

pWindow->DrawRectangle( Rectangle( 100, 100, 110, 110 ));

// Grünschraffierte Ellipse mit 5mm dickem Rand in Rot

// in einem umschreibenden Rechteck der Größe 20x10mm.

pWindow->ChangePen( aThickRedPen );

pWindow->ChangeFillInBrush( aGreenHatchBrush );

pWindow->DrawEllipse( Rectangle( 200, 200, 220, 210 ) );

// Alten Pen, alte FillInBrush und alten MapMode

// wiederherstellen.

pWindow->ChangeFillInBrush( aOldBrush );

pWindow->ChangePen( aOldPen );

pWindow->ChangeMapMode( aOldMapMode );

...

Querverweise

MapMode, Brush, Pen, Font, VirtualDevice, Printer, Window

_______________


enum RasterOp

enum RasterOp	{ ROP_OVERPAINT, ROP_INVERT, ROP_AND, ROP_OR, ROP_XOR, ROP_NXOR };

Beschreibung

Die Werte des enum RasterOp bestimmen, wie die Farben der Ausgabewerkzeuge vom OutputDevice mit den auf der Zeichenfläche vorhandenen Farben verknüpft werden. Da es sich bei den Verknüpfungen nur um logische Funktionen handelt, kann die Farbe, die bei der Operation herauskommt, vom gewünschten Ergebnis abweichen.

ROP_OVERPAINT	Die Ausgaben werden über den Inhalt der Ausgabefläche gezeichnet.

ROP_INVERT	Der Inhalt der Ausgabefläche wird invertiert. Wird die gleiche Ausgabe mit dieser RasterOp zweimal durchgeführt, so erhält man den ursprünglichen Inhalt der Ausgabefläche.

ROP_AND	Die Ausgaben werden mit dem Inhalt der Ausgabefläche über die logische AND-Funktion verknüpft. Das Ergebnis wird über den Inhalt der Ausgabefläche gezeichnet.

ROP_OR	Die Ausgaben werden mit dem Inhalt der Ausgabefläche über die logische OR-Funktion verknüpft. Das Ergebnis wird über den Inhalt der Ausgabefläche gezeichnet.

ROP_XOR	Die Ausgaben werden mit dem Inhalt der Ausgabefläche über die logische XOR-Funktion verknüpft. Das Ergebnis wird über den Inhalt der Ausgabefläche gezeichnet. Wird die gleiche Ausgabe mit dieser RasterOp zweimal durchgeführt, so erhält man den ursprünglichen Inhalt der Ausgabefläche.

ROP_NXOR	Die Ausgaben werden mit dem Inhalt der logischen NXOR-Funktion verknüpft. Das Ergebnis wird über den Inhalt der Ausgabefläche gezeichnet. Wird die gleiche Ausgabe mit dieser RasterOp zweimal durchgeführt, so erhält man den ursprünglichen Inhalt der Ausgabefläche.

_______________


enum OutDevType

enum OutDevType	{ OUTDEV_DONTKNOW, OUTDEV_WINDOW, OUTDEV_PRINTER, OUTDEV_VIRDEV };

Beschreibung

Die Werte des enum OutDevType bestimmen, um was für ein OutputDevice es sich handelt.

OUTDEV_DONTKNOW	Der Typ des OutputDevices ist nicht bekannt.

OUTDEV_WINDOW	Beim Typ des OutputDevices handelt es sich um ein Fenster.

OUTDEV_PRINTER	Beim Typ des OutputDevices handelt es sich um einen Printer.

OUTDEV_VIRDEV	Beim Typ des OutputDevices handelt es sich um ein virtuelles Device.

_______________


OutputDevice::OutputDevice()

OutputDevice::OutputDevice();

Beschreibung

Konstruktor der Klasse OutputDevice.

Querverweise

Pen, Brush, Font, MapMode

_______________


OutputDevice::OutputDevice( const ResId& rResId )
OutputDevice::OutputDevice()

OutputDevice::OutputDevice( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse OutputDevice.

Parameter

const ResId& rResId	Die Resource-ID des OutputDevices.

Querverweise

Resource

_______________


OutputDevice::~OutputDevice()

virtual OutputDevice::~OutputDevice();

Beschreibung

Destruktor der Klasse OutputDevice.

_______________


OutputDevice::DrawText()

OutputDevice::DrawText( const Point& rStartPt, const String& rStr, USHORT nPos =0,USHORT nLen =STRING_LEN);

Beschreibung

Die Methode DrawText() gibt rStr an der Position rStartPt aus und schließt das automatische Kerning mit ein. Der Parameter nLen bestimmt, wie viele Character des Strings ausgegeben werden. Wird der Parameter nLen nicht angegeben, so werden alle Character des Strings ausgegeben. Zur Ausgabe wird der aktuelle Font verwendet.

Parameter

const Point& rStartPt	Die Startposition der Ausgabe in logischen Einheiten.

const String& rStr	Der auszugebende String.

USHORT nPos	Das Zeichen im String, bei dem die Ausgabe beginnt.

USHORT nLen	Die Anzahl der Character, die ausgegeben werden sollen. Defaultwert (STRING_LEN) ist die gesamte Anzahl der Character im String.

Querverweise

Font, OutputDevice::ChangeFont(), Control::DrawCtrlText()

_______________


OutputDevice::GetTextSize()

Size OutputDevice::GetTextSize( const String& rStr,USHORT nPos =0, USHORT nLen=STRING_LEN) const;

Beschreibung

Diese Methode erzeugt keine Ausgabe, sondern berechnet lediglich die für eine Textausgabe auf dem aktuellen OutputDevice benötigte Breite und Höhe in logischen Einheiten. Der Parameter nLen entscheidet, für wie viele Character im String die Berechnung ausgeführt werden soll. Als Berechnungsgrundlage dient der aktuelle Font. Das automatische Kerning wird mit eingeschlossen.

Bei der zurückgegebenen Breite und Höhe handelt es sich um die umschließende Box. So wird die Höhe mit Leading zurückgegeben. Wenn bei kursivem Text die nächste Ausgabeposition berechnet wird, muß von der Breite der Slant abgezogen werden, der bei GetFontMetric() zurückgeliefert wird.

Parameter

const String& rStr	Der String, für den die Berechnung durchgeführt werden soll.

USHORT nPos	Das Zeichen im String, ab dem die Größe ermittelt wird.

USHORT nLen	Die Anzahl der Character im String, für die die Berechnung durchgeführt werden soll. Der Defaultwert (STRING_LEN) ist die gesamte Anzahl der Character im String. Wird hier 0 angegeben, so kann die Höhe einer Textausgabe berechnet werden. Die zurückgegebene Breite ist in diesem Fall 0.

Rückgabewert

Size	Die zur Ausgabe des Strings benötigte Größe.

Querverweise

Font, OutputDevice::ChangeFont(), Control::GetCtrlTextSize()

_______________


OutputDevice::DrawStretchText()

void OutputDevice::DrawStretchText( const Point& rStartPt, USHORT nWidth, const String&rStr,USHORT nPos=0,USHORT nLen = STRING_LEN,  short* pKernAry = 0 );

Beschreibung

Die Methode DrawStretchText() gibt rStr an der Position rStartPt aus und paßt die Stringausgabe dabei durch Dehnen bzw. Zusammenziehen der Zeichenzwischenräume auf die angegebene Weite nWidth an. Der Parameter nLen bestimmt, wie viele Character des Strings ausgegeben werden. Wird der Parameter nLen nicht angegeben, so werden alle Character des Strings ausgegeben. Zur Ausgabe wird der aktuelle Font verwendet.

Parameter

const Point& rStartPt	Die Startposition der Ausgabe in logischen Einheiten.

USHORT nWidth	Die zur Verfügung stehende Breite für den auszugebenden String.

const String& rStr	Der auszugebende String.

USHORT nPos	Das Zeichen im String, bei dem die Ausgabe beginnt.

USHORT nLen	Die Anzahl der Character, die ausgegeben werden sollen. Der Default-Wert (STRING_LEN) ist die gesamte Anzahl der Character im String.

short* pKernAry	Ein optionales Array mit den Breiten für jedes Zeichen im Zeichensatz. Wird kein Array übergeben, wird intern ein Array mit den Standardbreiten für die Zeichen des Fonts verwendet.

Querverweise

Font, OutputDevice::ChangeFont()

_______________


OutputDevice::GetStretchTextSize()

Size OutputDevice::GetStretchTextSize( const String& rStr, USHORT nWidth, USHORT nPartIndex, USHORT nPartLen,USHORT nPos=0, USHORT nLen= STRING_LEN ) const;

Beschreibung

Diese Methode erzeugt keine Ausgabe, sondern berechnet lediglich die für eine Textausgabe auf dem aktuellen OutputDevice benötigte Breite und Höhe in logischen Einheiten. Die Berechnung erfolgt dabei speziell für die Ausgabemethode DrawStretchText(). Der Parameter nLen bestimmt, für wie viele Character im String die Berechnung ausgeführt werden soll. Als Berechnungsgrundlage dient der aktuelle Font. Es kann außerdem die Größe eines Teils der Zeichenkette berechnet werden, für die der Dehnungsalgorithmus angewendet wird.

Bei der zurückgegebenen Breite und Höhe handelt es sich um die umschließende Box. Die Höhe wird mit Leading zurückgegeben.

Parameter

const String& rStr	Der String, für den die Berechnung durchgeführt werden soll.

USHORT nWidth	Die Breite, die für die Ausgabe mit DrawStretchText zur Verfügung steht.

USHORT nPartIndex	Die Position des ersten Zeichens, für das die Größenberechnung vorgenommen werden soll.

USHORT nPartLen	Die Anzahl der Zeichen, für die die Größenberechnung vorgenommen werden soll.

USHORT nPos	Die Position des ersten Zeichens, für das der Dehnungsalgorithmus angewendet werden soll.

USHORT nLen	Die Anzahl der Character im String, für die der Dehnungsalogrithmus angewendet werden soll. Der Defaultwert (STRING_LEN) ist auf die gesamte Anzahl der Character im String gesetzt. Wird hier 0 angegeben, so kann die Höhe einer Textausgabe berechnet werden. Die zurückgegebene Breite ist in diesem Fall  0.

Rückgabewert

Size	Die zur Ausgabe des Strings oder benötigte Größe.

Querverweise

Font, OutputDevice::ChangeFont(), OutputDevice::DrawStretchText()

_______________


OutputDevice::DrawKernText()

void OutputDevice::DrawKernText( const Point& rStartPt, const String&rStr,USHORT nPos=0,USHORT nLen = STRING_LEN,  short* pKernAry = 0 );

Beschreibung

Die Methode DrawKernText() gibt rStr an der Position rStartPt aus. Der Parameter nLen bestimmt, wie viele Character des Strings ausgegeben werden. Wird der Parameter nLen nicht angegeben, so werden alle Character des Strings ausgegeben. Zur Ausgabe wird der aktuelle Font verwendet.

Der optionale Parameter pKernAry spezifiziert ein Array mit Kerningwerten, um ein Kerning zu definieren, das vom automatischen Kerning abweicht. Das automatische Kerning wird von der Methode DrawText() benutzt oder wenn der Methode DrawKernText() 0 übergeben wird. Die Kerningwerte geben die Position der einzelnen Character in Bezug auf die Startposition des gesamtem Strings in logischen Einheiten an. Die Anzahl der Kerningwerte im Array muß der Anzahl der auszugebenen Character -1 entsprechen. Für den ersten Character wird kein Kerningwert angegeben, da dessen Position durch rStartPt bestimmt wird.

Parameter

const Point& rStartPt	Die Startposition der Ausgabe in logischen Einheiten.

const String& rStr	Der auszugebende String.

USHORT nPos	Das Zeichen im String, bei dem die Ausgabe beginnt.

USHORT nLen	Die Anzahl der Character, die ausgegeben werden sollen. Der Default-Wert (STRING_LEN) ist die gesamte Anzahl der Character im String.short* pKernAry	Das Array mit den Kerningwerten in logischen Einheiten. Wird ein NULL-Zeiger angegeben, so wird das automatische Kerning eingeschaltet. Die Anzahl der anzugebenden Kerningwerte entspricht der Anzahl der auszugebenden Character -1, da der erste Character keinen Kerningwert zugeordnet bekommt. Wird nur ein Teil eines Strings ausgegeben (nPos != 0), zeigt pKernAry auf eine Kerningtabelle, die mit der Position nPos beginnt.

Querverweise

Font, OutputDevice::ChangeFont()

_______________


OutputDevice::GetKernTextSize()

Size OutputDevice::GetKernTextSize( const String& rStr, USHORT nPos=0, USHORT nLen= STRING_LEN, short* pKernAry = 0 ) const;

Beschreibung

Diese Methode erzeugt keine Ausgabe, sondern berechnet lediglich die für eine Textausgabe auf dem aktuellen OutputDevice benötigte Breite und Höhe in logischen Einheiten. Der Parameter nLen bestimmt, für wie viele Character im String die Berechnung ausgeführt werden soll. Als Berechnungsgrundlage dient der aktuelle Font.

Bei der zurückgegebenen Breite und Höhe handelt es sich um die umschließende Box. So wird die Höhe mit Leading zurückgegeben. Optional kann im Parameter pKernAry ein Array mit Kerningwerten übergeben werden. Die Kerningwerte geben die Position der einzelnen Character im String in Bezug auf die Startposition des gesamten Strings in logischen Einheiten an. Wird kein Kerning Array angegeben, so wird das automatische Kerning mit eingerechnet.

Parameter

const String& rStr	Der String, für den die Berechnung durchgeführt werden soll.

USHORT nPos	Das Zeichen, ab dem die Größe ermittelt werden soll.

USHORT nLen	Die Anzahl der Character im String, für die die Berechnung durchgeführt werden soll. Der Defaultwert (STRING_LEN) ist die gesamte Anzahl der Character im String. Wird hier 0 angegeben, so kann die Höhe einer Textausgabe berechnet werden. Die zurückgegebene Breite ist in diesem Fall 0.

short* pKernAry	Das Array mit den bei der Berechnung zu benutzenden Kerningwerten in logischen Einheiten. Wird 0 übergeben, so wird das automatische Kerning verwendet. Die Anzahl der Werte im Kerningarray muß der Anzahl der auszugebenden Character -1 entsprechen, da der erste Character im String keinen Kerningwert zugeordnet bekommt. Wird nur ein Teil eines Strings ausgegeben (nPos != 0), so zeigt pKernAry auf eine Kerningtabelle, die mit der Position nPos beginnt.

Rückgabewert

Size	Die zur Ausgabe des Strings benötigte Größe.

Querverweise

Font, OutputDevice::ChangeFont(), OutputDevice::DrawKernText()

_______________


OutputDevice::DrawPixel( const Point& rPt,const Color& rColor)
OutputDevice::DrawPixel()

void OutputDevice::DrawPixel( const Point& rPt,const Color& rColor);

Beschreibung

Die Methode setzt den Pixel an der Position rPt in der übergebenen Farbe. Es wird immer nur ein Pixel gesetzt, gleichgültig, welcher MapMode gesetzt ist. Die Position wird in logischen Einheiten übergeben, und das Clip-Rechteck wird berücksichtigt.

Parameter

const Point& rPt	Die Position des Pixels in logischen Einheiten.

const Color& rColor	Die Farbe, in der der Pixel gezeichnet werden soll.

Querverweise

OutputDevice::DrawPoint()

_______________


OutputDevice::GetPixel( const Point& rPt )
OutputDevice::GetPixel()

Color OutputDevice::GetPixel( const Point& rPt ) const;

Beschreibung

Diese Methode liefert die Farbe des Pixels an der übergebenen Position zurück.

Parameter

const Point& rPt	Die Position des Pixels, von dem die Farbe zurückgegeben werden soll, in logischen Einheiten.

Rückgabewert

Color	Die Farbe des Pixels an der übergebenen Position.

Anmerkungen

Diese Methode liefert die Default-Farbe zurück, wenn es sich um eine Printer-Instanz handelt.

Querverweise

Color

_______________


OutputDevice::DrawPoint( const Point& rPt )
OutputDevice::DrawPoint()

void OutputDevice::DrawPoint( const Point& rPt );

Beschreibung

Die Methode zeichnet einen Punkt an der Position rPt. Der aktuelle Pen wird verwendet. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Point& rPt	Die Position des Punktes in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen(), OutputDevice::DrawPixel()

_______________


OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt )
OutputDevice::DrawLine()

void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt );

Beschreibung

Die Methode zeichnet eine Linie zwischen den Punkten rStartPt und rEndPt. Der aktuelle Pen wird verwendet. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Point& rStartPt	Der mittlere Anfangspunkt der Linie in logischen Einheiten.

const Point& rEndPt	Der Endpunkt der Linie in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen()

_______________


OutputDevice::DrawRect()

void OutputDevice::DrawRect( const Rectangle& rRect, USHORT  nHorzRound = 0,USHORT nVertRound = 0);

Beschreibung

Die Methode zeichnet ein Rechteck mit der in rRect angegebenen Position und Größe. Der Rahmen wird mit dem aktuellen Pen gezeichnet und die Fläche mit der aktuellen FillInBrush gefüllt. Die Parameter nHorzRound und nVertRound geben den Radius der Eckenverrundung in horizontaler und vertikaler Richtung an. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Rectangle& rRect	Position und Größe des Rechtecks in logischen Einheiten.

USHORT nHorzRound	Horizontaler Radius der Eckenverrundung in logischen Einheiten.

USHORT nVertRound	Vertikaler Radius der Eckenverrundung in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen(), Brush, OutputDevice::ChangeFillInBrush()

_______________


OutputDevice::InvertRect( const Rectangle& rRect )
OutputDevice::InvertRect()

void OutputDevice::InvertRect( const Rectangle& rRect );

Beschreibung

Diese Methode invertiert den im Parameter angegebenen rechteckigen Bereich. Das Invertieren erfolgt im Farbmodell, d.h. es wird jeweils die Komplementärfarbe angezeigt. Ein zweites Invertieren des gleichen Bereichs erzeugt wieder den Originalzustand.

Parameter

const Rectangle& rRect	Position und Größe des Rechtecks in logischen Einheiten.

Querverweise

OutputDevice::HighlightRect()

_______________


OutputDevice::HighlightRect( const Rectangle& rRect )
OutputDevice::HighlightRect()

void OutputDevice::HighlightRect( const Rectangle& rRect );

Beschreibung

Diese Methode invertiert den im Parameter angegebenen rechteckigen Bereich. Das Invertieren erfolgt unter Berücksichtigung der eingestellten Highlight-Farben. Diese Methode sollte anstelle von InvertRect() zum Selektieren von Bereichen verwendet werden. Ein zweiter Aufruf der Methode HighlightRect() für den gleichen Bereich erzeugt wieder den Originalzustand.

Parameter

const Rectangle& rRect	Position und Größe des Rechtecks in logischen Einheiten.

Querverweise

OutputDevice::InvertRect()

_______________


OutputDevice::DrawEllipse( const Rectangle& rRect )
OutputDevice::DrawEllipse()

void OutputDevice::DrawEllipse( const Rectangle& rRect );

Beschreibung

Die Methode zeichnet eine Ellipse innerhalb des übergebenen Rechtecks. Der Rahmen wird mit dem aktuellen Pen gezeichnet und die Fläche der Ellipse mit der aktuellen FillInBrush gefüllt. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Rectangle& rRect	Position und Größe des die Ellipse umschließenden Rechtecks in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen(), Brush, OutputDevice::ChangeFillInBrush()

_______________


OutputDevice::DrawArc()

void OutputDevice::DrawArc( const Rectangle& rRect, const Point&  rStartPt, const Point& rEndPt );

Beschreibung

Die Methode zeichnet einen Bogen. Dabei wird als Grundform eine Ellipse innerhalb des angegebenen, umschreibenden Rechtecks angenommen. Als Startpunkt wird der Schnittpunkt des Ellipsenumfangs mit der Geraden zwischen rStartPt und dem Zentrum der Ellipse verwendet. Als Endpunkt des Bogens wird der Schnittpunkt zwischen dem Ellipsenumfang und der Geraden zwischen dem Zentrum der Ellipse und dem Punkt rEndPt verwendet.

Der Bogen wird im mathematisch positiven Sinn gezeichnet. Dies ist bei der Angabe der Punkte rStartPt und rEndPt zu beachten.

Zum Zeichnen wird der aktuelle Pen verwendet. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Rectangle& rRect	Umschreibendes Rechteck für die Basisellipse in logischen Einheiten.

const Point& rStartPt	Ein Punkt zur Berechnung des Startpunktes auf der Basisellipse (siehe oben) in logischen Einheiten.

const Point& rEndPt	Ein Punkt zur Berechnung des Endpunktes auf der Basisellipse (siehe oben) in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen()

_______________


OutputDevice::DrawPie()

void OutputDevice::DrawPie( const Rectangle& rRect, const Point&  rStartPt, const Point& rEndPt );

Beschreibung

Die Methode zeichnet ein Tortenstück. Dabei wird als Grundform eine Ellipse innerhalb des angegebenen, umschreibenden Rechtecks angenommen. Als Startpunkt wird der Schnittpunkt des Ellipsenumfangs mit der Geraden zwischen rStartPt und dem Zentrum der Ellipse verwendet. Als Endpunkt des Bogens wird der Schnittpunkt zwischen dem Ellipsenumfang und der Geraden zwischen dem Zentrum der Ellipse und dem Punkt rEndPt verwendet.

Der Bogen wird im mathematisch positiven Sinn gezeichnet. Dies ist bei der Angabe der Punkte rStartPt und rEndPt zu beachten.

Nach der Ausgabe des Bogens werden die Endpunkte des Bogens über Geraden mit dem Zentrum der Basisellipse verbunden.

Der Rahmen des Tortenstücks wird mit dem aktuellen Pen gezeichnet und die umschlossene Fläche mit der aktuellen FillInBrush gefüllt. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Rectangle rRect	Umschreibendes Rechteck für die Basisellipse in logischen Einheiten.

const Point& rStartPt	Ein Punkt zur Berechnung des Startpunkts auf der Basisellipse (siehe oben) in logischen Einheiten.

const Point& rEndPt	Ein Punkt zur Berechnung des Endpunkts auf der Basisellipse (siehe oben) in logischen Einheiten.

Querverweise

Pen, OutputDevice::ChangePen(), Brush(), OutputDevice::ChangeFillInBrush()

_______________


OutputDevice::DrawPolyLine( const Polygon& rPolygon )
OutputDevice::DrawPolyLine()

void OutputDevice::DrawPolyLine( const Polygon& rPolygon );

Beschreibung

Die Methode zeichnet einen Linienzug. Für die Anzahl und Positionen der Punkte dieses Linienzuges wird ein Objekt der Klasse Polygon übergeben. Beim Zeichnen des Linienzuges wird, anders als bei DrawPolygon(), der letzte Pukt nicht mit dem ersten Punkt des Polygons verbunden, d.h. der Linienzug bleibt offen. Zum Zeichnen des Linienzuges wird der aktuelle Pen verwendet. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Polygon& rPolygon	Das Polygon, das als Grundlage für den Lininenzug dienen soll.

Querverweise

OutputDevice::DrawPolygon(), Pen, OutputDevice::ChangePen()

_______________


OutputDevice::DrawPolygon( const Polygon& rPolygon )
OutputDevice::DrawPolygon()

void OutputDevice::DrawPolygon( const Polygon& rPolygon );

Beschreibung

Die Methode zeichnet ein Polygon. Für die Anzahl und Positionen der Punkte im Polygon wird ein Objekt der Klasse Polygon übergeben. Der erste Punkt im Polygon wird mit dem letzten Punkt verbunden, do daß sich immer eine geschlossene Fläche ergibt.

Zum Zeichnen des Polygonzuges wird der aktuelle Pen verwendet und die vom Polygon umschlossene Fläche mit der aktuellen FillInBrush gefüllt. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const Polygon& rPolygon	Das Polygon, das als Grundlage für die Fläche dienen soll.

Querverweise

Pen, OutputDevice::ChangePen(), Brush, OutputDevice::ChangeFillInBrush()

_______________


OutputDevice::DrawPolyPolygon(const PolyPolygon& rPolyPoly)
OutputDevice::DrawPolyPolygon()

void OutputDevice::DrawPolyPolygon(const PolyPolygon& rPolyPoly);

Beschreibung

Die Methode zeichnet ein PolyPolygon. Das PolyPolygon wird als Objekt der Klasse PolyPolygon übergeben und besteht aus mehreren einzelnen Polygonen, die einzelnen gezeichnet und gemeinsam gefüllt werden.

Zum Zeichnen des PolyPolygons wird der aktuelle Pen verwendet und die vom PolyPolygon umschlossene Fläche mit der aktuellen FillInBrush gefüllt. Wenn der Pen breiter als ein Pixel ist, bezieht sich die Positionsangabe auf die Mitte des Pens.

Parameter

const PolyPolygon& rPolyPoly	´Das PolyPolygon, das als Grundlage für das Zeichnen der Fläche dienen soll.

Querverweise

Pen, OutputDevice::ChangePen(), Brush, OutputDevice::ChangeFillInBrush()

Beispiel

Es sollen zwei ineinander liegende Rechteck gezeichnet werden, wobei die Fläche zwischen den Rechtecken gefüllt, die Fläche innerhalb des inneren Rechtecks jedoch nicht gefüllt werden soll:

...

Polygon aPoly1( Rectangle( 100, 100, 200, 200 ) );

Polygon aPoly2( Rectangle( 125, 125, 175, 175 ) );

PolyPolygon aPolyPoly( aPoly1 );

aPolyPoly.Insert( aPoly2 );

pOut->DrawPolyPolygon( aPolyPoly );

...

_______________


OutputDevice::DrawOutDev()

void OutputDevice::DrawOutDev( const Point& rDestPt, const Size&  rDestSize, const Point& rSrcPt, const Size& rSrcSize, const OutputDevice& rSrcDev );

Beschreibung

Die Methode DrawOutDev() bildet einen Bereich des im Parameter rSrcDev angegebenen OutputDevices auf einen Bereich des aktuellen OutputDevices ab.

Sind die Parameter rDestSize und rSrcSize identisch, so wird eine 1:1-Abbildung erzeugt. Bei unterschiedlichen Werten für rSrcSize und rDestSize wird eine entsprechende Größenanpassung durchgeführt. Bei einer Größenanpassung können Qualitätsverluste auftreten (Moiré-Muster). Der MapMode sollte in beiden Devices der gleiche sein.

Die aktuellen Ausgabewerkzeuge haben auf diese Methode keinen Einfluß.

Die Referenz auf das Quell-Device wird nur während der Ausführung der Methode benutzt und kann anschließend ungültig werden.

Parameter

const Point& rDestPt	Die obere linke Ecke der Abbildung im Ziel-Device in logischen Einheiten des Ziel-Devices.

const Size& rDestSize	Die Größe der Abbildung im Ziel-Device in logischen Einheiten des Ziel-Devices.

const Point& rSrcPt	Die obere linke Ecke der Abbildung im Quell-Device in logischen Einheiten des Quell-Devices.

const Size& rSrcSize	Die Größe der Abbildung im Quell-Device in logischen Einheiten des Quell-Devices.

const OutputDevice& rSrcDev	Referenz auf das Quell-Device.

Beispiel:

Das folgende Beispiel zeigt das Kopieren des Inhalts eines Windows auf einen Drucker.

Dabei wird der MapMode des Printers für die Ausgabe auf den MapMode des Windows gesetzt, um eine 1:1-Abbildung zu erreichen.

...

MapMode aOldMapMode;

aOldMapMode = aPrinter.ChangeMapMode( aWindow.GetMapMode() );

aPrinter.DrawOutDev( Point( 0, 0 ), Size( 1000, 1000 ), Point( 0, 0 ), Size( 1000, 1000 ), aWindow );

aPrinter.ChangeMapMode( aOldMapMode );

...

Querverweise

MapMode

_______________


OutputDevice::DrawBitmap( const Point& rDestPt, const Bitmap& rBitmap )
OutputDevice::DrawBitmap()

void OutputDevice::DrawBitmap( const Point& rDestPt, const Bitmap& rBitmap );

Beschreibung

Die Methode gibt den Inhalt von rBitmap an der Position rDestPt aus.

Parameter

const Point& rDestPt	Die Position im aktuellen OutputDevice, an der die Bitmap abgebildet werden soll, in logischen Einheiten.

const Bitmap& rBitmap	Die Bitmap, die ausgegeben werden soll.

Querverweise

Bitmap, DrawBitmap()

_______________


OutputDevice::DrawBitmap()

void OutputDevice::DrawBitmap( const Point& rDestPt, const Size&  rDestSize, const Bitmap& rBitmap );

Beschreibung

Die Methode gibt den Inhalt von rBitmap an der Position rDestPt mit der Größe rDestSize aus. Die Größe der Bitmap wird auf die Größe von rDestSize angepaßt.

Parameter

const Point& rDestPt	Die Position, an der die Bitmap abgebildet werden soll, in logischen Einheiten.

const Size& rDestSize	Die Größe der Darstellung der Bitmap in logischen Koordinaten.

const Bitmap& rBitmap	Die Bitmap, die ausgegeben werden soll.

Querverweise

Bitmap, DrawBitmap()

_______________


OutputDevice::GetBitmap( const Point& rSrcPt, const Size& rSize )
OutputDevice::GetBitmap()

Bitmap OutputDevice::GetBitmap( const Point& rSrcPt, const Size& rSize ) const;

Beschreibung

Die Methode gibt einen Ausschnitt des aktuellen OutputDevices als Bitmap zurück.

Parameter

const Point& rSrcPt	Die Position der oberen linken Ecke des Bereiches, der als Bitmap zurückgegeben werden soll, in logischen Einheiten.

const Size& rSize	Die Größe des Bereiches, der als Bitmap zurückgegeben werden soll, in logischen Einheiten.

Rückgabewert

Bitmap	Der Inhalt des angegebenen Bereichs wird als Bitmap zurückgegeben.

Anmerkungen

Diese Methode liefert eine leere Bitmap zurück, wenn es sich um eine Printer-Instanz handelt.

Querverweise

Bitmap

_______________


OutputDevice::DrawIcon(const Point& rDestPt,const Icon& rIcon)
OutputDevice::DrawIcon()

void OutputDevice::DrawIcon(const Point& rDestPt,const Icon& rIcon);

Beschreibung

Die Methode gibt den Inhalt von rIcon an der Position rDestPt aus.

Parameter

const Point& rDestPt	Die Position im aktuellen OutputDevice, an der das Icon abgebildet werden soll, in logischen Einheiten.

const Icon& rIcon	Das Icon, das ausgegeben werden soll.

Querverweise

Icon

_______________


OutputDevice::ChangeClipRegion()

Region OutputDevice::ChangeClipRegion();

Beschreibung

Das Clipping wird ausgeschaltet. Nach Aufruf dieser Methode liefert IsClipRegion() FALSE zurück.

Rückgabewert

Region	Die zuvor gesetzte Clip-Region. War kein Clipping gesetzt, so wird eine Region für den gesamten Ausgabebereich zurückgeliefert.

Querverweise

OutputDevice::IsClipRegion(), Region

_______________


OutputDevice::ChangeClipRegion( const Region& rRegion )
OutputDevice::ChangeClipRegion()

Region OutputDevice::ChangeClipRegion( const Region& rRegion );

Beschreibung

Eine neue Clip-Region wird gesetzt. Die ClipRegion kann ein Rechteck, ein Polygon oder ein PolyPolygon sein. Alle nachfolgenden Ausgaben sind nur sichtbar, wenn sie innerhalb der Region rRegion liegen. Nach Aufruf dieser Methode liefert IsClipRegion() TRUE zurück. Soll das Clippen ausgeschaltet werden, so wird die Methode ChangeClipRegion() ohne Region verwendet.

Parameter

const Region& rRegion	Die neue Clip-Region in logischen Koordinaten.

Rückgabewert

Region	Die zuvor gesetzte Clip-Region. War kein Clipping gesetzt, so wird eine Region für den gesamten Ausgabebereich zurückgeliefert.

Querverweise

OutputDevice::IsClipRegion(), Region

_______________


OutputDevice::MoveClipRegion( short nHorzMove, short nVertMove )
OutputDevice::MoveClipRegion()

Region OutputDevice::MoveClipRegion( short nHorzMove, short nVertMove );

Beschreibung

Die gesetzte Clip-Region wird um die angegebenen Werte in horizontaler und vertikaler Richtung verschoben.

Parameter

short nHorzMove	Der Wert für die horizontale Verschiebung der Clip-Region.

short nVertMove	Der Wert für die vertikale Verschiebung der Clip-Region.

Rückgabewert

Region	Die zuvor gesetzte Clip-Region.

Querverweise

OutputDevice::IsClipRegion(), Region

_______________


OutputDevice::IntersectClipRegion( const Rectangle& rRect )
OutputDevice::IntersectClipRegion()

Region OutputDevice::IntersectClipRegion( const Rectangle& rRect );

Beschreibung

Die Methode setzt die Region als ClipRegion, die aus der Überschneidung der aktuellen ClipRegion mit dem übergebenen Rechteck entsteht.

Parameter

const Rectangle& rRect	Das Rechteck, mit dem die Schnittmenge gebildet werden soll.

Rückgabewert

Region	Die vorher gesetzte ClipRegion.

Querverweise

OutputDevice::IsClipRegion(), Region

_______________


OutputDevice::GetClipRegion()

Region OutputDevice::GetClipRegion() const;

Beschreibung

Die Methode gibt die gesetzte Clip-Region zurück.

Rückgabewert

Region	Die gesetzte Clip-Region in logischen Einheiten. Ist kein Clipping gesetzt, so wird eine Region für den gesamten Ausgabebereich zurückgeliefert.

_______________


OutputDevice::IsClipRegion()

BOOL OutputDevice::IsClipRegion() const;

Beschreibung

Über diese Methode kann abgefragt werden, ob eine Clip-Region gesetzt ist. Nur wenn ChangeClipRegion() mit einer übergebenen Region aufgerufen wurde, ist das Clipping eingeschaltet.

Rückgabewert

BOOL	TRUE

Es wurde eine Clip-Region gesetzt.

FALSE

Es wurde keine Clip-Region gesetzt.

_______________


OutputDevice::ChangePen( const Pen& rNewPen )
OutputDevice::ChangePen()

Pen OutputDevice::ChangePen( const Pen& rNewPen );

Beschreibung

Der im Parameter übergebene Pen wird der aktuelle Pen.

Parameter

const Pen& rNewPen	Der neue Pen.

Rückgabewert

Pen	Der bisher aktive Pen.

Querverweise

Pen

_______________


OutputDevice::GetPen()

Pen OutputDevice::GetPen() const;

Beschreibung

Die Methode gibt den aktuellen Pen zurück.

Rückgabewert

Pen	Der aktuelle Pen.

Querverweise

Pen

_______________


OutputDevice::ChangeFont( const Font& rNewFont )
OutputDevice::ChangeFont()

Font OutputDevice::ChangeFont( const Font& rNewFont );

Beschreibung

Der im Parameter übergebene Font wird der aktuelle Font.

Parameter

const Font& rNewFont	Der neue Font.

Rückgabewert

Font	Der bisher aktive Font.

Querverweise

Font

_______________


OutputDevice::GetFont()

Font OutputDevice::GetFont() const;

Beschreibung

Die Methode gibt den aktuellen Font zurück.

Rückgabewert

Font	Der aktuelle Font.

Querverweise

Font

_______________


OutputDevice::ChangeBackgroundBrush( const Brush& rNewBrush )
OutputDevice::ChangeBackgroundBrush()

Brush OutputDevice::ChangeBackgroundBrush( const Brush& rNewBrush );

Beschreibung

Die im Parameter übergebene Brush wird die aktuelle Brush für das Löschen des Hintergrundes von Fenstern oder VirtualDevices.

Parameter

const Brush& rNewBrush	Die neue BackgroundBrush.

Rückgabewert

Brush	Die bisher aktive BackgroundBrush.

Querverweise

Brush, Window, VirtualDevice

_______________


OutputDevice::GetBackgroundBrush()

Brush OutputDevice::GetBackgroundBrush() const;

Beschreibung

Die Methode gibt die aktuelle BackgroundBrush zurück. Die BackgroundBrush wird bei Windows und VirtualDevices zum Löschen des Hintergrundes verwendet.

Rückgabewert

Brush	Die aktuelle BackgroundBrush.

Querverweise

Brush, Window, VirtualDevice

_______________


OutputDevice::ChangeFillInBrush( const Brush& rNewBrush )
OutputDevice::ChangeFillInBrush()

Brush OutputDevice::ChangeFillInBrush( const Brush& rNewBrush );

Beschreibung

Die im Parameter übergebene Brush wird die aktuelle Brush für das Füllen von Objekten wie Kreisen, Rechtecken usw.

Parameter

const Brush& rNewBrush	Die neue FillInBrush.

Rückgabewert

Brush	Die bisher aktive FillInBrush.

Querverweise

Brush

_______________


OutputDevice::GetFillInBrush()

Brush OutputDevice::GetFillInBrush() const;

Beschreibung

Die Methode gibt die aktuelle FillInBrush zurück. Die FillInBrush wird zum Füllen von Objekten wie Kreisen, Rechtecken usw. verwendet.

Rückgabewert

Brush	Die aktuelle FillInBrush.

Querverweise

Brush

_______________


OutputDevice::ChangeMapMode( const MapMode& rNewMapMod )
OutputDevice::ChangeMapMode()

MapMode OutputDevice::ChangeMapMode( const MapMode& rNewMapMod );

Beschreibung

Der aktuelle MapMode wird durch den übergebenen MapMode ersetzt.

Parameter

const MapMode& rNewMapMod	Der neue MapMode.

Rückgabewert

MapMode	Der bisher aktive MapMode.

Querverweise

MapMode

_______________


OutputDevice::GetMapMode()

MapMode OutputDevice::GetMapMode() const;

Beschreibung

Die Methode gibt den aktuellen MapMode zurück.

Rückgabewert

MapMode	Der aktuelle MapMode.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Point& rLogicPoint, const MapMode& rMapMod )
OutputDevice::LogicToPixel()

Point OutputDevice::LogicToPixel( const Point& rLogicPoint, const MapMode& rMapMod ) const;

Beschreibung

Die Methode transformiert die Position eines Punktes von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem im OutputDevice gesetzten MapMode durchgeführt werden, wird die Methode ohne den Parameter MapMode verwendet.

Parameter

const Point& rLogicPoint	Der zu transformierende Punkt in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Point	Der transformierte Punkt in Device-Einheiten.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Point& rLogicPoint )
OutputDevice::LogicToPixel()

Point OutputDevice::LogicToPixel( const Point& rLogicPoint ) const;

Beschreibung

Die Methode transformiert die Position eines Punktes von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuell gesetzte MapMode verwendet.

Parameter

const Point& rLogicPoint	Der zu transformierende Punkt in logischen Einheiten.

Rückgabewert

Point	Der transformierte Punkt in Device-Einheiten.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Size& rLogicSize, const MapMode& rMapMod )
OutputDevice::LogicToPixel()

Size OutputDevice::LogicToPixel( const Size& rLogicSize, const MapMode& rMapMod ) const;

Beschreibung

Die Methode transformiert eine Größe von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem im OutputDevice gesetzten MapMode durchgeführt werden, wird die Methode ohne den Parameter MapMode verwendet.

Parameter

const Size& rLogicSize	Die zu transformierende Größe in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Size	Die transformierte Größe in Device-Einheiten.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Size& rLogicSize )
OutputDevice::LogicToPixel()

Size OutputDevice::LogicToPixel( const Size& rLogicSize ) const;

Beschreibung

Die Methode transformiert eine Größe von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Size& rLogicSize	Die zu transformierende Größe in logischen Einheiten.

Rückgabewert

Size	Die transformierte Größe in Device-Einheiten.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Rectangle& rLogicRect, const MapMode& rMapMod)
OutputDevice::LogicToPixel()

Rectangle OutputDevice::LogicToPixel( const Rectangle& rLogicRect, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein Rechteck von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const Rectangle& rLogicRect	Das zu transformierende Rechteck in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Rectangle	Das transformierte Rechteck in Device-Einheiten.

Querverweise

MapMode

_______________


OutputDevice::LogicToPixel( const Polygon& rLogicPoly )
OutputDevice::LogicToPixel()

Polygon OutputDevice::LogicToPixel( const Polygon& rLogicPoly ) const;

Beschreibung

Die Methode transformiert ein Polygon von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Polygon& rLogicPoly	Das zu transformierende Polygon in logischen Einheiten.

Rückgabewert

Polygon	Das transformierte Polygon in Device-Einheiten.

Querverweise

MapMode, Polygon

_______________


OutputDevice::LogicToPixel( const Polygon& rLogicPoly, const MapMode& rMapMod)
OutputDevice::LogicToPixel()

Polygon OutputDevice::LogicToPixel( const Polygon& rLogicPoly, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein Polygon von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const Polygon& rLogicPoly	Das zu transformierende Polygon in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Polygon	Das transformierte Polygon in Device-Einheiten.

Querverweise

MapMode, Polygon

_______________


OutputDevice::LogicToPixel( const PolyPolygon& rLogicPolyPoly )
OutputDevice::LogicToPixel()

PolyPolygon OutputDevice::LogicToPixel( const PolyPolygon& rLogicPolyPoly ) const;

Beschreibung

Die Methode transformiert ein PolyPolygon von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const PolyPolygon& rLogicPolyPoly	Das zu transformierende PolyPolygon in logischen Einheiten.

Rückgabewert

PolyPolygon	Das transformierte PolyPolygon in Device-Einheiten.

Querverweise

MapMode, PolyPolygon

_______________


OutputDevice::LogicToPixel( const PolyPolygon& rLogicPolyPoly, const MapMode& rMapMod)
OutputDevice::LogicToPixel()

PolyPolygon OutputDevice::LogicToPixel( const PolyPolygon& rLogicPolyPoly, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein PolyPolygon von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const PolyPolygon& rLogicPolyPoly	Das zu transformierende PolyPolygon in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

PolyPolygon	Das transformierte PolyPolygon in Device-Einheiten.

Querverweise

MapMode, PolyPolygon

_______________


OutputDevice::LogicToPixel( const Region& rLogicRegion )
OutputDevice::LogicToPixel()

Region OutputDevice::LogicToPixel( const Region& rLogicRegion ) const;

Beschreibung

Die Methode transformiert eine Region von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Region& rLogicRegion	Die zu transformierende Region in logischen Einheiten.

Rückgabewert

Region	Die transformierte Region in Device-Einheiten.

Querverweise

MapMode, Region

_______________


OutputDevice::LogicToPixel( const Region& rLogicRegion, const MapMode& rMapMod)
OutputDevice::LogicToPixel()

Region OutputDevice::LogicToPixel( const Region& rLogicRegion, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert eine Region von logischen Einheiten in Device-Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const Region& rLogicRegion	Die zu transformierende Region in logischen Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Region	Die transformierte Region in Device-Einheiten.

Querverweise

MapMode, Region

_______________


OutputDevice::PixelToLogic( const Point& rDevicePoint, const MapMode& rMapMod )
OutputDevice::PixelToLogic()

Point OutputDevice::PixelToLogic( const Point& rDevicePoint, const MapMode& rMapMod ) const;

Beschreibung

Die Methode transformiert die Position eines Punktes von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem im OutputDevice gesetzten MapMode durchgeführt werden, so wird die Methode ohne den Parameter MapMode verwendet.

Parameter

const Point& rDevicePoint	Der zu transformierende Punkt in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Point	Der transformierte Punkt in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic( const Point& rDevicePoint )
OutputDevice::PixelToLogic()

Point OutputDevice::PixelToLogic( const Point& rDevicePoint ) const;

Beschreibung

Die Methode transformiert die Position eines Punktes von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Point& rDevicePoint	Der zu transformierende Punkt in Device-Einheiten.

Rückgabewert

Point	Der transformierte Punkt in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic()

Size OutputDevice::PixelToLogic( const Size& rDeviceSize, const MapMode& rMapMod ) const;

Beschreibung

Die Methode transformiert eine Größe von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem im OutputDevice gesetzten MapMode durchgeführt werden, so wird die Methode ohne den Parameter MapMode verwendet.

Parameter

const Size& rDeviceSize	Die zu transformierende Größe in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Size	Die transformierte Größe in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic( const Size& rDeviceSize )
OutputDevice::PixelToLogic()

Size OutputDevice::PixelToLogic( const Size& rDeviceSize ) const;

Beschreibung

Die Methode transformiert eine Größe von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Size& rDeviceSize	Die zu transformierende Größe in Device-Einheiten.

Rückgabewert

Size	Die transformierte Größe in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic( const Rectangle& rDeviceRect, const MapMode& rMapMod)
OutputDevice::PixelToLogic()

Rectangle OutputDevice::PixelToLogic( const Rectangle& rDeviceRect, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein Rechteck von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem im OutputDevice gesetzten MapMode durchgeführt werden, so wird die Methode ohne den Parameter MapMode verwendet.

Parameter

const Rectangle& rDeviceRect	Das zu transformierende Rechteck in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Rectangle	Das transformierte Rechteck in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic( const Rectangle& rDeviceRect )
OutputDevice::PixelToLogic()

Rectangle OutputDevice::PixelToLogic( const Rectangle& rDeviceRect ) const;

Beschreibung

Die Methode transformiert ein Rechteck von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Rectangle& rDeviceRect	Das zu transformierende Rechteck in Device-Einheiten.

Rückgabewert

Rectangle	Das transformierte Rechteck in logischen Einheiten.

Querverweise

MapMode

_______________


OutputDevice::PixelToLogic( const Polygon& rDevicePoly )
OutputDevice::PixelToLogic()

Polygon OutputDevice::PixelToLogic( const Polygon& rDevicePoly ) const;

Beschreibung

Die Methode transformiert ein Polygon von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Polygon& rDevicePolygon	Das zu transformierende Polygon in Device-Einheiten.

Rückgabewert

Polygon	Das transformierte Polygon in logischen Einheiten.

Querverweise

MapMode, Polygon

_______________


OutputDevice::PixelToLogic( const Polygon& rDevicePoly, const MapMode& rMapMod)
OutputDevice::PixelToLogic()

Polygon OutputDevice::PixelToLogic( const Polygon& rDevicePoly, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein Polygon von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const Polygon& rDevicePolygon	Das zu transformierende Polygon in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Polygon	Das transformierte Polygon in logischen Einheiten.

Querverweise

MapMode, Polygon

_______________


OutputDevice::PixelToLogic( const PolyPolygon& rDevicePolyPoly )
OutputDevice::PixelToLogic()

PolyRolygon OutputDevice::PixelToLogic( const PolyPolygon& rDevicePolyPoly ) const;

Beschreibung

Die Methode transformiert ein PolyPolygon von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const PolyPolygon& rDevicePolyPoly	Das zu transformierende PolyPolygon in Device-Einheiten.

Rückgabewert

PolyPolygon	Das transformierte PolyPolygon in logischen Einheiten.

Querverweise

MapMode, PolyPolygon

_______________


OutputDevice::PixelToLogic()

PolyPolygon OutputDevice::PixelToLogic( const PolyPolygon& rDevicePolyPoly, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert ein PolyPolygon von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const PolyPolygon& rDevicePolyPoly	Das zu transformierende PolyPolygon in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

PolyPolygon	Das transformierte PolyPolygon in logischen Einheiten.

Querverweise

MapMode, PolyPolygon

_______________


OutputDevice::PixelToLogic( const Region& rDeviceRegion )
OutputDevice::PixelToLogic()

Region OutputDevice::PixelToLogic( const Region& rDeviceRegion ) const;

Beschreibung

Die Methode transformiert eine Region von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird der im OutputDevice aktuelle MapMode verwendet.

Parameter

const Region& rDeviceRegion	Die zu transformierende Region in Device-Einheiten.

Rückgabewert

Region	Die transformierte Region in logischen Einheiten.

Querverweise

MapMode, Region

_______________


OutputDevice::PixelToLogic( const Region& rDeviceRegion, const MapMode& rMapMod)
OutputDevice::PixelToLogic()

Region OutputDevice::PixelToLogic( const Region& rDeviceRegion, const MapMode& rMapMod) const;

Beschreibung

Die Methode transformiert eine Region von Device-Einheiten in logische Einheiten. Als Transformationsvorschrift wird ein MapMode als Parameter mitgegeben. Soll eine Transformation mit dem gerade im OutputDevice gesetzten MapMode durchgeführt werden, wird diese Methode ohne den Parameter MapMode verwendet.

Parameter

const Region& rDeviceRegion	Die zu transformierende Region in Device-Einheiten.

const MapMode& rMapMod	Ein MapMode als Transformationsvorschrift.

Rückgabewert

Region	Die transformierte Region in logischen Einheiten.

Querverweise

MapMode, Region

_______________


OutputDevice::ChangeRasterOp( RasterOp eROP );
OutputDevice::ChangeRasterOp()

RasterOp OutputDevice::ChangeRasterOp( RasterOp eROP );

Beschreibung

Die Methode setzt die aktuelle Rasteroperation;. Rasteroperationen sind logische Operationen auf Bitebene. Sie legen fest, wie die Farbe der Ausgabe mit der auf dem OutputDevice bereits vorhandenen Farbe kombiniert wird, um die Farbe auf der Ausgabe zu bilden.

Die am häufigsten verwendete Rasteroperation ist ROP_OVERPAINT. Weitere Modi ermöglichen das Invertieren der existierenden Farbe sowie logische Verknüpfungen mit 'und', 'oder' und 'exklusiv-oder'.

Außer bei der Rasteroperation ROP_OVERPAINT können die Farben, die bei der Operation herauskommen, andere als die erwarteten sein, da es sich um logische Verknüpfungen handelt.

Falls ein Ausgabegerät die entsprechenden Rasteroperationen nicht unterstützt, wird die Default-Rasteroperation (ROP_OVERPAINT) verwendet.

Parameter

RasterOp eROP	Die neue Rasteroperation.

Rückgabewert

RasterOp	Die bisher verwendete Rasteroperation.

Querverweise

RasterOp

_______________


OutputDevice::GetRasterOp()

RasterOp OutputDevice::GetRasterOp() const;

Beschreibung

Die Methode gibt die aktuelle Rasteroperation zurück.

Rückgabewert

RasterOp	Die aktuelle Rasteroperation.

Querverweise

RasterOp

_______________


OutputDevice::GetOutputSize()

Size OutputDevice::GetOutputSize() const;

Beschreibung

Die Methode gibt die Größe des OutputDevices in logischen Einheiten zurück.

Rückgabewert

Size	Die Größe des OutputDevices in logischen Einheiten.

Anmerkungen

Bei Fenstern wird die Größe des Ausgabebereiches in logischen Einheiten zurückgegeben, bei einem Drucker die Größe des bedruckbaren Bereichs einer Seite in logischen Einheiten.

_______________


Size OutputDevice::GetOutputSizePixel()
OutputDevice::GetOutputSizePixel()

virtual Size OutputDevice::GetOutputSizePixel() const;

Beschreibung

Die Methode gibt die Größe des OutputDevices in Device-Einheiten zurück.

Rückgabewert

Size	Die Größe des OutputDevices in Pixeln.

Anmerkungen

Bei Fenstern wird die Größe des Ausgabebereiches in Device-Einheiten zurückgegeben, bei einem Drucker die Größe des bedruckbaren Bereichs einer Seite in Device-Einheiten.

_______________


OutputDevice::GetDevFontCount()

USHORT OutputDevice::GetDevFontCount() const;

Beschreibung

Die Methode gibt die Anzahl der im OutputDevice zur Verfügung stehenden Fonts zurück.

Rückgabewert

USHORT	Die Anzahl der im OutputDevice zur Verfügung stehenden Fonts.

Querverweise

Font, OutputDevice::GetDevFont()

_______________


OutputDevice::GetDevFont( USHORT nPos )
OutputDevice::GetDevFont()

Font OutputDevice::GetDevFont( USHORT nPos ) const;

Beschreibung

Die Methode gibt einen Font des OutputDevices als StarView-Font zurück. Der Parameter nPos gibt die Position des gewünschten Fonts an. Die Gesamtzahl der zur Verfügung stehenden Fonts kann mit Hilfe der Methode GetDevFontCount() ermittelt werden.

Die Fonts werden nach Fontnamen alphabetisch sortiert zurückgegeben.

Parameter

USHORT nPos	Die Position des Fonts des OutputDevices, zu der ein StarView-Font erzeugt werden soll.

Rückgabewert

Font	Ein StarView-Font mit den Eigenschaften eines physikalischen Fonts des OutputDevices. Die Größe des zurückgegebenen Fonts ist auf Size( 0, 0 ) gesetzt.

Querverweise

Font, OutputDevice::GetDevFontCount()

_______________


OutputDevice::GetDevFontSizeCount( const Font& rFont )
OutputDevice::GetDevFontSizeCount()

USHORT OutputDevice::GetDevFontSizeCount( const Font& rFont ) const;

Beschreibung

Die Methode gibt die Anzahl der im OutputDevice zur Verfügung stehenden Größen für den angegebenen Font zurück. Diese Methode gibt lediglich die Anzahl der Größen an, in denen der Font in der Fontdatei gespeichert wurde. Es sind außerdem auch andere Größen möglich, da eine beliebige Skalierung der Fonts im allgemeinen möglich ist.

Parameter

const Font& rFont	Der Font, für den die Anzahl der Größen auf dem OutputDevice zurückgeliefert werden soll.

Rückgabewert

USHORT	Die Anzahl der im OutputDevice zur Verfügung stehenden Größen für den angegebenen Font.

Querverweise

Font, OutputDevice::GetDevFontSize()

_______________


OutputDevice::GetDevFontSize( const Font& rFont, USHORT nPos)
OutputDevice::GetDevFontSize()

Size OutputDevice::GetDevFontSize( const Font& rFont, USHORT nPos) const;

Beschreibung

Die Methode gibt die Größe zurück, in der der angegebene Font auf dem OutputDevice zur Verfügung steht. Der Index nPos kann zwischen 0 und GetDevFontSizeCount()-1 angegeben werden. Liegt ein Font beispielsweise in fünf Größen vor, so liefert der Aufruf mit dem Index 3 die vierte Größe. Ist der Font beliebig skalierbar, ohne daß Einschränkungen in der Qualität auftreten, wird eine Größe von 0 zurückgeliefert. Ist der Font beliebig skalierbar und liegt er in verschiedenen Größen auch als Bitmap-Font vor, wird sowohl 0 als auch die vorliegenen Bitmapgrößen zurückgegeben.

Die Größen werden sortiert zurückgegeben, so daß beim Index 0 die kleinste Größe und beim Index GetDevFontSizeCount()-1 die größte Größe zurückgegeben werden. Durch Übergabe des Index 0 kann festgestellt werden, ob der Font beliebig skalierbar ist.

Parameter

const Font& rFont	Der Font, zu dem die Größe ermittelt werden soll.

USHORT nPos	Der Index der Größe für den angegebenen Font.

Rückgabewert

Size	Die Größe für den angegebenen Font in logischen Einheiten des OutputDevices. Ist der Font beliebig skalierbar, wird 0 zurückgegeben.

Querverweise

Font, OutputDevice::GetDevFontSizeCount()

_______________


OutputDevice::GetFontMetric()

FontMetric OutputDevice::GetFontMetric() const;

Beschreibung

Eine Instanz der Klasse FontMetric mit den Eigenschaften des aktuellen Fonts auf dem gegebenen OutputDevice wird zurückgegeben.

Rückgabewert

FontMetric	Eine Instanz mit den Eigenschaften des aktuellen Fonts.

Querverweise

Font, FontMetric, OutputDevice::ChangeFont()

_______________


OutputDevice::GetFontMetric( const Font& rFont )
OutputDevice::GetFontMetric()

FontMetric OutputDevice::GetFontMetric( const Font& rFont ) const;

Beschreibung

Eine Instanz der Klasse FontMetric mit den Eigenschaften des übergebenen Fonts auf dem gegebenen OutputDevice wird zurückgegeben.

Parameter

const Font& rFont	Der Font, für den die Eigenschaften in Zusammenhang mit dem OutputDevice ermittelt werden sollen.

Rückgabewert

FontMetric	Eine Instanz mit den Eigenschaften des aktuellen Fonts.

Querverweise

Font, FontMetric, OutputDevice::ChangeFont()

_______________


OutputDevice::GetSolidColor( const Color& rColor )
OutputDevice::GetSolidColor()

Color OutputDevice::GetSolidColor( const Color& rColor );

Beschreibung

Die Methode liefert die nächste auf dem Ausgabegerät darstellbare Vollfarbe zurück.

Diese Methode kann verwendet werden, wenn keine gerasterten Farbdarstellungen gewünscht werden.

Parameter

const Color& rColor	Die Farbe, zu der die nächste auf dem Ausgabegerät darstellbare Vollfarbe gesucht werden soll.

Rückgabewert

Color	Die nächste Vollfarbe auf dem Ausgabegerät.

Querverweise

Color

_______________


OutputDevice::GetColorCount()

ULONG OutputDevice::GetColorCount()const;

Beschreibung

Die Methode ermittelt die Anzahl der auf dem Ausgabegerät gleichzeitig darstellbaren Farben.

Rückgabewert

ULONG 	Die Anzahl der gleichzeitig darstellbaren Farben.

_______________


OutputDevice::Push()

void OutputDevice::Push();

Beschreibung

Der Aufruf der Methode sichert die vollständige Umgebung auf einem Stack, so daß diese durch Aufruf der Methode Pop() wiederhergestellt werden kann. Die vollständige Umgebung umfaßt folgende Einstellungen:

-	Der aktuelle Pen.

-	Die aktuelle FillInBrush.

-	Die aktuelle BackgroundBrush.

-	Der aktuelle Font.

-	Der aktuelle MapMode.

-	Der aktuelle Rasteroperation-Mode.

-	Das aktuelle Clip-Rechteck.

Aufgrund der Verwendung eines Stacks für die Speicherung der Umgebung kann diese Methode mehrmals hintereinander gerufen werden, um die jeweils aktuelle Umgebung zu sichern. Durch Aufruf der Methode Pop() wird der jeweils zuletzt gesicherte Zustand wiederhergestellt.

_______________


OutputDevice::Pop()

void OutputDevice::Pop();

Beschreibung

Durch Aufruf dieser Methode wird die zuletzt gesicherte Umgebung zur aktuellen Umgebung. Falls der Stack leer ist, hat der Aufruf der Methode keine Wirkung.

Beispiel

...

Pen aPen(...);

Brush aBrush(...);

Font aFont(...);

pOutDev->Push();               // Status sichern

pOutDev->ChangePen( aPen );

pOutDev->ChangeFillInBrush( aBrush );

pOutDev->ChangeFont( aFont );

...

pOutDev->Pop();                // Status wiederherstellen

...

_______________


OutputDevice::GetOutDevType()

OutDevType OutputDevice::GetOutDevType() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, um was für einen Typ es sich beim OutputDevice handelt. Diese Abfrage wird z.B. in einer unabhängigen Ausgaberoutine gebraucht, um bei Ausgabe auf einem Drucker die Seitenumbrüche mit auszugeben.

Rückgabewert

OutDevType	Der Typ des OutputDevices.

Querverweise

OutDevType

_______________


Pair

class Pair

{

protected:

short	nA;

short	nB;

public:

Pair();

Pair( const Pair& rPair );

Pair( short nA, short nB );

short	A() const;

short	B() const;

short&	A();

short&	B();

BOOL	operator ==( const Pair& rPair ) const;

BOOL	operator !=( const Pair& rPair ) const;

Pair&	operator = (const Pair& rPair );

};

Beschreibung

Diese Basisklasse wird von allen Klassen benutzt, die ein Wertepaar vom Typ short beinhalten.

Querverweise

Point, Size, Range

_______________


Pair::Pair()

Pair::Pair();

Beschreibung

Konstruktor der Klasse Pair. Das Wertepaar wird auf ( 0, 0 ) gesetzt.

_______________


Pair::Pair( const Pair& rPair )
Pair::Pair()

Pair::Pair( const Pair& rPair );

Beschreibung

Copy-Konstruktor der Klasse Pair.

Parameter

const Pair& rPair	Die Pair-Instanz, deren Eigenschaften übernommen werden sollen.

_______________


Pair::Pair( short nA, short nB )
Pair::Pair()

Pair::Pair( short nA, short nB );

Beschreibung

Konstruktor der Klasse Pair.

Parameter

short nA	Dieser Parameter bestimmt den ersten Wert.

short nB	Dieser Parameter bestimmt den zweiten Wert.

_______________


Pair::A()

short Pair::A() const;

Beschreibung

Mit dieser Methode kann der erste Wert des Objekts abgefragt werden.

Rückgabewert

short	Der Wert A.

_______________


Pair::B()

short Pair::B() const;

Beschreibung

Mit dieser Methode kann der zweite Wert des Objekts abgefragt werden.

Rückgabewert

short	Der Wert B.

_______________


Pair::A()

short& Pair::A();

Beschreibung

Mit dieser Methode kann der erste Wert des Objekts gesetzt und abgefragt werden.

Rückgabewert

short&	Referenz auf den Wert A.

_______________


Pair::B()

short& Pair::B();

Beschreibung

Mit dieser Methode kann der zweite Wert des Objekts gesetzt und abgefragt werden.

Rückgabewert

short&	Referenz auf den Wert B.

_______________


Pair::operator ==( const Pair& rPair )
Pair::operator ==()

BOOL Pair::operator ==( const Pair& rPair ) const;

Beschreibung

Mit diesem Operator werden die Inhalte zweier Instanzen der Klasse Pair auf Gleichheit überprüft. Der Operator liefert den Wert TRUE, wenn beide Instanzen die gleichen Werte enthalten.

Parameter

const Pair& rPair	Mit dieser Instanz wird der Vergleich durchgeführt.

Rückgabewert

BOOL	TRUE

Die Instanzen enthalten die gleichen Werte.

FALSE

Die Instanzen enthalten nicht die gleichen Werte.

_______________


Pair::operator !=( const Pair& rPair )
Pair::operator !=()

BOOL Pair::operator !=( const Pair& rPair ) const;

Beschreibung

Mit diesem Operator werden die Inhalte zweier Instanzen der Klasse Pair auf Ungleichheit überprüft. Der Operator liefert den Wert TRUE, wenn beide Instanzen nicht die gleichen Werte enthalten.

Parameter

const Pair& rPair	Mit dieser Instanz wird der Vergleich durchgeführt.

Rückgabewert

BOOL	TRUE

Die Instanzen enthalten nicht die gleichen Werte.

FALSE

Die Instanzen enthalten die gleichen Werte.

_______________


Pair::operator = (const Pair& rPair )
Pair::operator = ()

Pair& Pair::operator = (const Pair& rPair );

Beschreibung

Zuweisungsoperator der Klasse Pair.

Parameter

const Pair& rPair	Die Pair-Instanz, deren Eigenschaften übernommen werden sollen.

Rückgabewert

Pair&	Referenz auf die Pair-Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Palette

class Palette

{

public:

Palette( USHORT nEntries = 0 );

Palette( USHORT nEntries, Color aColAry[], BOOL bAnimate = FALSE );

Palette( const Palette& rPal );

~Palette();

USHORT	ChangeEntryCount( USHORT nEntries );

USHORT	GetEntryCount() const;

Color	ChangeColor( USHORT nEntry, const Color& rCol );

Color	GetColor( USHORT nEntry ) const;

BOOL	ChangeAnimate( USHORT nEntry, BOOL bAnimate );

BOOL	IsAnimate( USHORT nEntry ) const;

void	SetAnimate( BOOL bAnimate );

Palette&	operator=( const Palette& rPalette );

Color	operator[]( USHORT nPos ) const;

Color&	operator[]( USHORT nPos );

BOOL	operator==( const Palette& rPalette ) const;

BOOL	operator!=( const Palette& rPalette ) const;

};

Beschreibung

Die Klasse Palette stellt ein Array von Farbeinträgen (Klasse Color) dar. Paletten können auf Ausgabegeräten mit beschränkter Farbanzahl und Palettenunterstützung dazu verwendet werden die Ausgabe von Bitmaps und GDIMetaFiles zu verbessern.

Die Klasse Palette stellt Methoden zur Verfügung, die es erlauben die Einträge der Palette sofort in die Palette des Systems zu übertragen. Auf diese Weise können Animationen realisiert werden.

Querverweise

Color, Bitmap, GDIMetaFile, OutputDevice::ChangePalette()

_______________


Palette::Palette( USHORT nEntries = 0 )
Palette::Palette()

Palette::Palette( USHORT nEntries = 0 );

Beschreibung

Konstruktor der KlassePalette. Es wird eine Palette mit der Anzahl nEntries Einträgen erzeugt. Die Einträge sind nach der Erzeugung auf die Farbe Schwarz initialisiert.

Parameter

USHORT nEntries	Anzahl der Einträge der Palette.

Querverweise

Palette::ChangeEntryCount(), Palette::GetEntryCount()

_______________


Palette::Palette( USHORT nEntries, Color aColAry[], BOOL bAnimate = FALSE )
Palette::Palette()

Palette::Palette( USHORT nEntries, Color aColAry[], BOOL bAnimate = FALSE );

Beschreibung

Konstruktor der KlassePalette. Es wird eine Palette mit der Anzahl nEntries Einträge erzeugt. Die erzeugten Einträge werden mit dem Inhalt des Arrays aColAry initialisiert. Zusätzlich kann mit Hilfe des Parameters bAnimate angegeben werden, ob die Einträge in der Palette für die Animation zur Verfügung stehen sollen.

Parameter

USHORT nEntries	Anzahl der Einträge in der Palette.

Color aColAry[]	Ein Array mit Instanzen der Klasse Color zur Initialisierung der Paletteneinträge.

BOOL bAnimate	TRUE

Die Einträge der Palette stehen für die Animation zur Verfügung.

FALSE

Die Einträge der Palette stehen nicht für die Animation zur Verfügung. Dies ist die Default Einstellung.

Querverweise

Palette::Animate()

_______________


Palette::Palette( const Palette& rPal )
Palette::Palette()

Palette::Palette( const Palette& rPal );

Beschreibung

Copy-Konstruktor der KlassePalette. Es wird eine Palette mit der Anzahl von Einträgen erzeugt, wie in rPal vorhanden sind. Die Einträge von rPal werden anschliessend zur Initialisierung der neuen Einträge verwendet.

Parameter

const Palette& rPal	Die zu kopierende Palette-Instanz.

_______________


Palette::~Palette()

Palette::~Palette();

Beschreibung

Destruktor der KlassePalette.

_______________


Palette::ChangeEntryCount( USHORT nEntries )
Palette::ChangeEntryCount()

USHORT Palette::ChangeEntryCount( USHORT nEntries );

Beschreibung

Die Methode gibt eine neue Anzahl der Einträge in der Palette an. Wird dabei die Anzahl der Einträge erhöht, werden die neuen Einträge am Ende der Palette angehängt und auf die Farbe Schwarz initialisiert.

Parameter

USHORT nEntries	Die neue Anzahl von Einträgen.

Rückgabewert

USHORT	Die alte Anzahl von Einträgen.

_______________


Palette::GetEntryCount()

USHORT Palette::GetEntryCount() const;

Beschreibung

Die Methode gibt die Anzahl von Einträgen in der Palette zurück.

Rückgabewert

USHORT	Die Anzahl von Einträgen in der Palette.

Querverweise

Palette::ChangeEntryCount()

_______________


Palette::ChangeColor( USHORT nEntry, const Color& rCol )
Palette::ChangeColor()

Color Palette::ChangeColor( USHORT nEntry, const Color& rCol );

Beschreibung

Die Methode setzt eine neue Farbe für den Eintrag mit dem Index nEntry.

Parameter

USHORT nEntry	Der Index des Eintrags, der neu gesetzt werden soll.

const Color& rCol	Die neue Farbe.

Rückgabewert

Color	Die bisher gültige Farbe.

Querverweise

Palette::GetColor()

_______________


Palette::GetColor( USHORT nEntry )
Palette::GetColor()

Color Palette::GetColor( USHORT nEntry ) const;

Beschreibung

Die Methode ermittelt die gesetzte Farbe des Eintrags mit dem Index nEntry.

Parameter

USHORT nEntry	Der Index des Eintrags, für den die Farbe ermittelt werden soll.

Rückgabewert

Color	Die Farbe des Eintrags mit dem Index nEntry.

Querverweise

Palette::ChangeColor()

_______________


Palette::ChangeAnimate( USHORT nEntry, BOOL bAnimate )
Palette::ChangeAnimate()

BOOL Palette::ChangeAnimate( USHORT nEntry, BOOL bAnimate );

Beschreibung

Die Methode setzt den Eintrag mit dem Index nEntry als "animierbar" oder nicht. Wir d ein Eintrag auf animierbar gesetzt, werden alle Farbänderungen an diesem Eintrag direkt in die Systempalette übernommen und auf dem Bildschirm dargestellt.

Parameter

USHORT nEntry	Der Index des Eintrags, für den das Flag gesetzt werden soll.

BOOL bAnimate	TRUE

Der Eintrag kann zur Animation verwendet werden.

FALSE

Der Eintrag kann nicht zur Animation verwendet werden.

Rückgabewert

BOOL	TRUE

Der Eintrag konnte bisher zur Animation verwendet werden.

FALSE

Der Eintrag konnte bisher nicht zur Animation verwendet werden.

Querverweise

Palette::IsAnimate()

_______________


Palette::IsAnimate( USHORT nEntry )
Palette::IsAnimate()

BOOL Palette::IsAnimate( USHORT nEntry ) const;

Beschreibung

Die Methode gibt zurück, ob der Eintrag mit dem Index nEntry "animierbar" ist oder nicht.

Parameter

USHORT nEntry	Der Index, für den das Flag erfragt werden soll.

Rückgabewert

BOOL	TRUE

Der Eintrag kann zur Animation verwendet werden.

FALSE

Der Eintrag kann nicht zur Animation verwendet werden.

Querverweise

Palette::ChangeAnimate()

_______________


Palette::SetAnimate( BOOL bAnimate )
Palette::SetAnimate()

void Palette::SetAnimate( BOOL bAnimate );

Beschreibung

Die Methode setzt alle Einträge der Palette "animierbar" oder nicht. Sind die Einträger der Palette als animierbar gesetzt, werden alle Farbänderungen an den Einträgen sofort in die Systempalette übertragen und auf dem Bildschirm sichtbar gemacht.

Parameter

BOOL bAnimate	TRUE

Die Palette kann für Animation verwendet werden.

FALSE

Die Palette kann nicht zur Animation verwendet werden.

Querverweise

Palette::ChangeAnimate()

_______________


Palette::operator=( const Palette& rPalette )
Palette::operator=()

Palette& Palette::operator=( const Palette& rPalette );

Beschreibung

Zuweisungsoperator der Klasse Palette.

Parameter

const Palette& rPal	Die zu kopierende Instanz.

Rückgabewert

Palette&	Referenz auf die Palette-Instanz.

_______________


Palette::operator[]( USHORT nPos )
Palette::operator[]()

Color Palette::operator[]( USHORT nPos ) const;

Beschreibung

Array-Operator der Klasse Palette. Dieser Operator kann alternativ zu der Methode Palette::GetColor() verwendet werden.

Parameter

USHORT nPos	Der Index des Eintrags, für den die Farbe ermittelt werden soll.

Rückgabewert

Color	Die Farbe des Eintrags mit dem Index nPos.

Querverweise

Palette::GetColor()

_______________


Palette::operator[]( USHORT nPos )
Palette::operator[]()

Color& Palette::operator[]( USHORT nPos );

Beschreibung

Die Methode liefert eine Referenz auf den Eintrag mit dem Index nPos. Dieser Operator kann auch auf der linken Seite einer Zuweisung stehen und kann alternativ zur Methode Palette::ChangeColor() verwendet werden.

Parameter

USHORT nPos	Der Index des Eintrags, auf den die Referenz geliefert werden soll.

Rückgabewert

Color&	Eine Referenz auf die Farbe an der Posiion nPos.

Querverweise

Palette::ChangeColor()

_______________


Palette::operator==( const Palette& rPalette )
Palette::operator==()

BOOL Palette::operator==( const Palette& rPalette ) const;

Beschreibung

Vergleichsoperator der Klasse Palette.

Parameter

const Palette& rPalette	Die Palette-Instanz, mit der verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Palette-Instanzen sind identisch.

FALSE

Die beiden Palette-Instanzen sind nicht identisch.

_______________


Palette::operator!=( const Palette& rPalette )
Palette::operator!=()

BOOL Palette::operator!=( const Palette& rPalette ) const;

Beschreibung

Vergleichsoperator der Klasse Palette.

Parameter

const Palette& rPalette	Die Palette-Instanz, mit der verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Palette-Instanzen sind nicht identisch.

FALSE

Die beiden Palette-Instanzen sind identisch.

_______________


PatternBox

class PatternBox : public ComboBox, public PatternFormatter

{

public:

PatternBox( Window* pParent, WinBits nWinStyle);

PatternBox(Window* pParent,const ResId& rResId);

void	InsertString( const String& rStr, USHORT nPos = COMBOBOX_APPEND );

void	RemoveString( const String& rStr );

String	GetString( USHORT nPos ) const;

USHORT	GetStringPos( const String& rStr ) const;

};

Beschreibung

Eine PatternBox ist eine ComboBox für die Eingabe und Auswahl formatierter Zeichenketten.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

PatternFormatter

Querverweise

PatternField

_______________


PatternBox::PatternBox()

PatternBox::PatternBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse PatternBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der PatternBox werden aufsteigend sortiert.

_______________


PatternBox::PatternBox( &ResId)
PatternBox::PatternBox()

Resource-Konstruktor für die Klasse PatternBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der PatternBox in der Resource.

Querverweise

Resource

_______________


PatternBox::InsertString()

void PatternBox::InsertString( const String& rStr, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen String an der angegebenen Position in der PatternBox ein.

Parameter

const String& rStr	Der einzufügende String.

USHORT nPos	Die Position, an der der String eingefügt werden soll. Falls nichts angegeben wird, wird der String hinter dem bisher letzten Eintrag eingefügt.

Querverweise

PatternBox::GetString()

_______________


PatternBox::RemoveString( const String& rStr )
PatternBox::RemoveString()

void PatternBox::RemoveString( const String& rStr );

Beschreibung

Die Methode entfernt den übergebenen Sting aus der PatternBox.

Parameter

const String& rStr	Der String, der entfernt werden soll.

Querverweise

PatternBox::InsertString()

_______________


PatternBox::GetString( USHORT nPos )
PatternBox::GetString()

String PatternBox::GetString( USHORT nPos ) const;

Beschreibung

Die Methode liefert den String zurück, der sich an der angegebenen Position innerhalb der PatternBox befindet.

Parameter

USHORT nPos	An dieser Position befindet sich der String, der ermittelt werden soll.

Rückgabewert

String	Der String, der sich an der Position nPos befindet.

Querverweise

PatternBox::InsertString()

_______________


PatternBox::GetStringPos( const String& rStr )
PatternBox::GetStringPos()

USHORT PatternBox::GetStringPos( const String& rStr ) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Strings innerhalb der PatternBox.

Parameter

const String& rStr	Der String, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Strings.

Querverweise

PatternBox::InsertString()

_______________


PatternField

class PatternField : public SpinField, public PatternFormatter

{

public:

PatternField(Window* pParent,WinBits nWinStyle);

PatternField(Window* pParent,const ResId& rResId);

};

Beschreibung

Das PatternField ist ein Eingabefeld für die Eingabe formatierter Zeichenketten. Die Formatierung der Eingaben und der Anzeige erfolgt durch die Klasse PatternFormatter.

Basisklassen

SpinField : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

PatternFormatter

Querverweise

SpinButton, PatternBox

_______________


PatternField::PatternField( Window* pParent, WinBits nWinStyle )
PatternField::PatternField()

PatternField::PatternField( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse PatternField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das PatternField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das PatternField erhält einen SpinButton.

WB_REPEAT

Bei längerandauernder Betätigung des Spinbuttons soll die Aktion fortlaufend ausgeführt werden.

Querverweise

Edit, PatternFormatter

_______________


PatternField::PatternField( Window* pParent, const ResId& rResId )
PatternField::PatternField()

PatternField::PatternField( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse PatternField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des PatternFields.

Querverweise

Resource

_______________


PatternFormatter

class PatternFormatter

{

PatternFormatter();

PatternFormatter( const ResId & rResId );

public:

BOOL	ChangeStrictFormat( BOOL bStrict );

BOOL	GetStrictFormat() const;

void	SetMask( const String& rEditMask, const String& rLiteralMask );

String	GetEditMask();

String	GetLiteralMask();

void	SetString( const String& rStr );

String	GetString() const;

BOOL	IsStringModified() const;

virtual void	Reformat();

};

Beschreibung

Die Klasse PatternFormatter sorgt für die Eingabeüberprüfung, die Formatierung und Anzeige von formatierten Zeichenketten innerhalb der abgeleiteten Klassen PatternField und PatternBox. Die Formatierung eignet sich dabei besonders für Zeichenketten mit fester Länge. Als Grundlage für die Formatierung können zwei Masken übergeben werden, die für jede Stelle der Zeichenkette festelegen, ob eine Eingabe erfolgen kann und welche Zeichen zulässig sind.

Querverweise

PatternField, PatternBox

_______________


PatternFormatter::PatternFormatter()

PatternFormatter::PatternFormatter();

Beschreibung

Konstruktor der Klasse PatternFormatter. Es können keine Instanzen dieser Klasse direkt erzeugt werden, da es sich um eine Basisklase für die Klassen PatternField und PatternBox handelt.

Querverweise

PatternField, PatterBox

_______________


PatternFormatter::PatternFormatter( const ResId & rResId )
PatternFormatter::PatternFormatter()

PatternFormatter::PatternFormatter( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse PatternFormatter. Es können keine Instanzen dieser Klasse direkt erzeugt werden, da es sich um eine Basisklase für die Klassen PatternField und PatternBox handelt.

Parameter

const ResId& rResId	Der Resource-Identifier des PatternFormatter.

Querverweise

PatternField, PatternBox

_______________


PatternFormatter::ChangeStrictFormat( BOOL bStrict )
PatternFormatter::ChangeStrictFormat()

BOOL PatternFormatter::ChangeStrictFormat( BOOL bStrict );

Beschreibung

Die Methode legt fest, ob im PatternField oder der PatternBox Eingaben sofort auf korrektes Format überprüft werden sollen. Es ist bei eingeschalteter strikter Überprüfung nur möglich Zeichen einzugeben, die der Maske an der jeweiligen Position entsprechen. Wird die strikte Überprüfung ausgeschaltet, wird eine Untersuchung der Eingabe erst bei Verlust des Eingabefocus oder durch Aufruf der Methode Reformat() vorgenommen. Nach Erzeugung eines Objektes der Klassen PatternField oder PatternBox ist die strikte Überprüfung ausgeschaltet.

Parameter

BOOL bStrict	TRUE

Die strikte Überprüfung wird eingeschaltet.

FALSE

Die strikte Überprüfung wird ausgeschaltet.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfung war eingeschaltet.

FALSE

Die strikte Überprüfung war ausgeschaltet.

Querverweise

PatternFormatter::GetStrictFormat(), PatternFormatter::Reformat()

_______________


PatternFormatter::GetStrictFormat()

BOOL PatternFormatter::GetStrictFormat() const;

Beschreibung

Die Methode ermittelt, ob im PatternField oder der PatternBox die strikte Überprüfung eingeschaltet ist.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfung der Eingaben ist eingeschaltet.

FALSE

Die strikte Überprüfung der Eingaben ist ausgeschaltet.

Querverweise

PatternFormatter::ChangeStrictFormat(), PatternFormatter::Reformat()

_______________


PatternFormatter::SetMask( const String& rEditMask, const String& rLiteralMask )
PatternFormatter::SetMask()

void PatternFormatter::SetMask( const String& rEditMask, const String& rLiteralMask );

Beschreibung

Die Methode setzt die Masken für die Formatierung der Eingaben im PatternField oder der PatternBox. Der Parameter rEditMask legt für jede Stelle innerhalb der Eingabe fest, welche Zeichen eingegeben werden können. Außerdem können einzelne Stellen der Eingabe als Textkonstanten definiert werden, die bei der Eingabe nicht verändert werden können. Der Parameter rLiteralMask legt für jede Stelle fest, welches Zeichen angezeigt wird, wenn keine Eingabe erfolgt ist. Außerdem sind hier die Zeichen enthalten, die an den Stellen angezeigt werden, an denen Tetkonstanten festgelegt wurden.

Inhalt der Edit-Maske

L	Eine Textkonstante. Diese Stelle kann nicht editiert werden. Es wird das Zeichen an der entsprechenden Position der Literalmaske angezeigt.

a	An dieser Stelle können die Zeichen a-z eingegeben werden. Wird ein Großbuchstabe angegeben, wird automaitsch in Kleinschrift gewandelt.

A	An dieser Stelle können die Zeichen A-Z eingegeben werden. Wird ein Kleinbuchstabe angegeben, wird automatisch in Großschrift gewandelt.

c	An dieser Stelle können die Zeichen a-z und 0-9 angegeben werden. Wird ein Großbuchstabe angegeben, wird automatisch in Kleinschrift gewandelt.

C	An dieser Stelle können die Zeichen A-Z und 0-9 angegeben werden. Wird ein Kleinbuchstabe angegeben, wird automatisch in Großschrift gewandelt.

N	Es können nur die Zeichen 0-9 angegeben werden.

x	Es können alle druckbaren Zeichen angegeben werden.

X	Es können alle druckbaren Zeichen angegeben werden. Wird dabei ein Kleinbuchstabe verwendet, wird automatisch in Großschrift gewandelt.

Parameter

const String& rEditMask	Die Edit-Maske. Die Länge der Editmaske bestimmt die Anzahl der möglichen Eingabestellen.

const String& rLiteralMask	Die Literalmaske. Die Länge der Literalmaske sollte immer der Länge der Edit-Maske entsprechen. Ist dies nicht der Fall, wird die Literalmaske entweder abgeschnitten oder mit Leerzeichen auf die Länge der Edit-Maske aufgefüllt.

Querverweise

PatternFormatter::GetEditMask(), PatternFormatter::GetLiteralMask()

Beispiel

Es soll eine Seriennummer mit folgendem Format in einem PatternField bearbeitet werden:   "SN: 4711-0815/a"

Die Masken, die mit der Methode SetMask() gesetzt werden müssen, haben folgendes Format:

String aEditMask(    "LLLNNNNLNNNNLa" );

String aLiteralMask( "SN:....-..../." );

_______________


PatternFormatter::GetEditMask()

String PatternFormatter::GetEditMask();

Beschreibung

Die Methodegibt die gesetzte Edit-Maske zurück.

Rückgabewert

String	Die gesetzte Edit-Maske.

Querverweise

PatternFormatter::SetMask()

_______________


PatternFormatter::GetLiteralMask()

String PatternFormatter::GetLiteralMask();

Beschreibung

Die Methode gibt die gesetzte Literalmaske zurück.

Rückgabewert

String	Die gesetzte Literalmaske.

Querverweise

PatternFormatter::SetMask()

_______________


PatternFormatter::SetValue( const String& rStr )
PatternFormatter::SetString()

void PatternFormatter::SetString( const String& rStr );

Beschreibung

Die Methode setzt eine neue neue Zeichenkette für das PatternField bzw. die PatternBox.

Parameter

const String& rStr	Die neue Zeichenkette.

Querverweise

PatternFormatter::SetMask(), PatternFormatter::GetString()

_______________


PatternFormatter::GetString()

String PatternFormatter::GetString() const;

Beschreibung

Die Methode ermittelt die aktuelle Zeichenkette eines PatternField oder einer PatternBox.

Rückgabewert

String	Der aktuelle Inhalt des PatternField oder der PatternBox.

Querverweise

PatternFormatter::SetString(), PatternFormatter::SetMask()

_______________


PatternFormatter::IsStringModified()

BOOL PatternFormatter::IsStringModified() const;

Beschreibung

Die Methode ermittelt, ob der Inhalt eines PatternField oder einer PatternBox seit dem letzten Aufruf von SetString() geändert wurde.

Rückgabewert

BOOL	TRUE

Der Inhalt wurde geändert.

FALSE

Der Inhalt wurde nicht geändert.

Querverweise

PatternFormatter::SetString(), PatternFormatter::Reformat()

_______________


PatternFormatter::Reformat()

virtual void PatternFormatter::Reformat();

Beschreibung

Diese Methode dient der Überprüfung und Neuformatierung der Eingaben in einem PatternField oder einer Patternox. Diese Methode wird auch intern bei Verlust des Eingabefocus zur Neuformatierung aufgerufen.

_______________


Pen

enum PenStyle	{ PEN_NULL, PEN_SOLID, PEN_DOT, PEN_DASH, PEN_DASHDOT};

class Pen : public Resource

{

public:

Pen();

Pen( const Pen& rPen );

Pen( PenStyle eStyle );

Pen( const Color& rColor, USHORT nWidth = 0, PenStyle eStyle= PEN_SOLID );

Pen( const ResId& rResId );

~Pen();

Color	ChangeColor( const Color& rColor );

Color	GetColor() const;

USHORT	ChangeWidth( USHORT nWidth );

USHORT	GetWidth() const;

PenStyle	ChangeStyle( PenStyle eStyle );

PenStyle	GetStyle() const;

Pen&	operator =( const Pen& rPen );

BOOL	operator ==( const Pen& rPen ) const;

BOOL	operator !=( const Pen& rPen ) const;

};

Beschreibung

Die Klasse Pen repräsentiert einen logischen Pen für Ausgabeoperationen auf einem OutputDevice. Pens können mit beliebiger Farbe und Strichstärke erzeugt werden.

Instanzen der Klasse Pen können zugewiesen oder als Parameter an Methoden übergeben werden. Zu diesem Zweck existieren ein Copy-Konstruktor und ein Zuweisungsoperator. Es entsteht kein erhöhter Speicherbedarf durch das Kopieren von Instanzen, da von ihnen derselbe Speicherplatz wie vom Original referenziert wird.

Basisklassen

Resource : LinkHdl

Querverweise

Brush, Color, OutputDevice

_______________


enum PenStyle

enum PenStyle	{ PEN_NULL, PEN_SOLID, PEN_DOT, PEN_DASH, PEN_DASHDOT};

Beschreibung

Die Werte des enum PenStyle geben den Linientyp an, mit dem der Pen arbeitet.

PEN_NULL	Der Pen zeichnet zeichnet eine unsichtbare Linie.

PEN_SOLID	Der Pen zeichnet eine durchgezogene Linie.

PEN_DOT	Der Pen zeichnet eine punktierte Linie.

PEN_DASH	Der Pen zeichnet eine gestrichelte Linie.

PEN_DASHDOT	Der Pen zeichnet eine strich-punktierte Linie.

Ausnahmen

Windows, OS/2-PM	Alle Pen-Stile außer PEN_SOLID und PEN_NULL werden nur bei denjenigen Pens unterstützt, die auf dem OutputDevice die Breite von einem Pixel haben. Sonst ist der Pen-Stil immer PEN_SOLID. Aus diesem Grund sollten diese Pen-Stile nur bei Pens verwendet werden, die mit der Breite 0 erzeugt wurden, da nur hier gewährleistet ist, daß der Pen-Stil wirksam wird.

MOTIF	Alle Pen-Stile können ohne Einschränkungen benutzt werden. Bei großen Penbreiten können jedoch die Zwischenräume der Linienunterbrechungen zuwachsen.

MAC	Es werden lediglich die Pen-Stile PEN_SOLID und PEN_NULL unterstützt.

_______________


Pen::Pen()

Pen::Pen();

Beschreibung

Default-Konstruktor für die Klasse Pen. Es wird ein schwarzer Pen mit einer durchgezogenen Linie und der Breite 0 erzeugt.

_______________


Pen::Pen( const Pen& rPen )
Pen::Pen()

Pen::Pen( const Pen& rPen );

Beschreibung

Copy-Konstruktor der Klasse Pen.

Parameter

const Pen& rPen	Referenz auf einen Pen.

_______________


Pen::Pen( PenStyle eStyle )
Pen::Pen()

Pen::Pen( PenStyle eStyle );

Beschreibung

Konstruktor der Klasse Pen. Es wird ein schwarzer Pen mit der Breite 0 und dem übergebenen Stil erzeugt.

Parameter

PenStyle eStyle	Der Stil des Pens.

_______________


Pen::Pen( const Color& rColor, USHORT nWidth = 0, PenStyle eStyle = PEN_SOLID )
Pen::Pen()

Pen::Pen( const Color& rColor, USHORT nWidth = 0, PenStyle eStyle = PEN_SOLID );

Beschreibung

Konstruktor der Klasse Pen. Die Methode erzeugt einen Pen mit den angegebenen Eigenschaften.

Parameter

const Color& rColor	Die Farbe des zu erzeugenden Pens.

USHORT nWidth	Die Breite des zu erzeugenden Pens in logischen Einheiten. Bei 0 wird als Breite 1 Pixel auf dem Ausgabe-Device gewählt, unabhängig vom MapMode.

PenStyle eStyle	Der Stil des Pens.

_______________


Pen::Pen( const ResId& rResId )
Pen::Pen()

Pen::Pen( const ResId& rResId );

Beschreibung

Konstruktor der Klasse Pen. Die Methode erzeugt einen Pen aus der Resource.

Parameter

const ResId& rResId	Die ID des Pens in der Resource.

Querverweise

Resource

_______________


Pen::~Pen()

Pen::~Pen();

Beschreibung

Destruktor der Klasse Pen.

_______________


Pen::ChangeColor( const Color& rColor )
Pen::ChangeColor()

Color Pen::ChangeColor( const Color& rColor );

Beschreibung

Die Methode ändert die Farbe des Pens und gibt die alte Farbe zurück.

Parameter

const Color& rColor	Die neue Farbe des Pens.

Rückgabewert

Color	Die alte Farbe des Pens.

_______________


Pen::GetColor()

Color Pen::GetColor() const;

Beschreibung

Die Methode liefert die Farbe des Pens zurück.

Rückgabewert

Color	Die Farbe des Pens.

_______________


Pen::ChangeWidth( USHORT nWidth )
Pen::ChangeWidth()

USHORT Pen::ChangeWidth( USHORT nWidth );

Beschreibung

Die Methode ändert die Breite des Pens. Die alte Breite wird zurückgegeben. Die Angaben erfolgen in logischen Einheiten.

Parameter

USHORT nWidth	Die neue Breite des Pens in logischen Einheiten. Bei 0 wird als Breite 1 Pixel auf dem Ausgabe-Device gewählt, unabhängig vom MapMode.

Rückgabewert

USHORT	Die alte Breite des Pens in logischen Einheiten.

_______________


Pen::GetWidth()

USHORT Pen::GetWidth() const;

Beschreibung

Die Methode liefert die Breite des Pens in logischen Einheiten zurück. Eine Interpretation der logischen Einheiten erfolgt erst in Zusammenhang mit einem OutputDevice.

Rückgabewert

USHORT	Die Breite des Pens in logischen Einheiten. Wird 0 zurückgegeben, so entspricht die Breite des Pens einem Pixel auf dem OutputDevice.

_______________


Pen::ChangeStyle( PenStyle eStyle )
Pen::ChangeStyle()

PenStyle Pen::ChangeStyle( PenStyle eStyle );

Beschreibung

Die Methode ändert den Stil des Pens und liefert den alten Stil zurück.

Parameter

PenStyle eStyle	Der neue Stil des Pens.

Rückgabewert

PenStyle	Der alte Stil des Pens.

_______________


Pen::GetStyle()

PenStyle Pen::GetStyle() const;

Beschreibung

Die Methode liefert den Stil des Pens zurück.

Rückgabewert

PenStyle	Der Stil des Pens.

_______________


Pen::operator =( const Pen& rPen )
Pen::operator =()

Pen& Pen::operator =( const Pen& rPen );

Beschreibung

Zuweisungsoperator der Klasse Pen.

Parameter

const Pen& rPen	Referenz auf einen Pen.

Rückgabewert

Pen&	Referenz auf das Ergebnis der Zuweisung.

_______________


Pen::operator ==( const Pen& rPen )
Pen::operator ==()

BOOL Pen::operator ==( const Pen& rPen ) const;

Beschreibung

Vergleichsoperator der Klasse Pen.

Parameter

const Pen& rPen	Referenz auf einen Pen.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Pens sind identisch.

FALSE

Die Eigenschaften der verglichenen Pens sind unterschiedlich.

_______________


Pen::operator !=( const Pen& rPen )
Pen::operator !=()

BOOL Pen::operator !=( const Pen& rPen ) const;

Beschreibung

Vergleichsoperator der Klasse Pen.

Parameter

const Pen& rPen	Referenz auf einen Pen.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Pens sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Pens sind identisch.

_______________


Point

class Point : public Pair

{

public:

Point();

Point( const Point& rPoint );

Point( short nX, short nY );

short	X() const;

short	Y() const;

short&	X();

short&	Y();

Point&	operator +=( const Point& rPoint );

Point&	operator -=( const Point& rPoint );

Point&	operator *=( const short nVal );

Point&	operator /=( const short nVal );

friend Point	operator +( const Point& rVal1,const Point& rVal2);

friend Point	operator -( const Point& rVal1,const Point& rVal2);

friend Point	operator *( const Point& rVal1,const short nVal2 );

friend Point	operator /( const Point& rVal1,const short nVal2 );

BOOL	IsAbove( const Point& rPoint );

BOOL	IsBelow( const Point& rPoint );

BOOL	IsRight( const Point& rPoint );

BOOL	IsLeft( const Point& rPoint );

};

Beschreibung

Diese Klasse bestimmt einen Punkt in einem beliebigen kartesischen Koordinatensystem.

Anmerkungen

Diese Klasse erbt die Operatoren == und != der Klasse Pair.

Basisklassen

Pair

Beispiel

Point 1;             // Point( 0, 0 );

Point 2( 200, 100 ); // X = 200; Y = 100

DrawLine( 1, 2 );    // Zeichnet eine Linie von 0,0 nach 200,100.

_______________


Point::Point()

Point::Point();

Beschreibung

Konstruktor der Klasse Point. Die Werte für X und Y werden auf 0 gesetzt.

_______________


Point::Point( const Point& rPoint )
Point::Point()

Point::Point( const Point& rPoint );

Beschreibung

Copy-Konstruktor der Klasse Point.

Parameter

const Point& rPoint	Die Point-Instanz, deren Werte übernommen werden sollen.

_______________


Point::Point( short nX, short nY )
Point::Point()

Point::Point( short nX, short nY );

Beschreibung

Konstruktor der Klasse Point.

Parameter

short nX	Dieser Parameter bestimmt die X-Koordinate.

short nY	Dieser Parameter bestimmt die Y-Koordinate.

_______________


Point::X()

short Point::X() const;

Beschreibung

Mit dieser Methode kann die X-Koordinate abgefragt werden.

Rückgabewert

short	Die X-Koordinate.

_______________


Point::Y()

short Point::Y() const;

Beschreibung

Mit dieser Methode kann die Y-Koordinate abgefragt werden.

Rückgabewert

short	Die Y-Koordinate.

_______________


Point::X()

short& Point::X();

Beschreibung

Mit dieser Methode kann die X-Koordinate gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf die X-Koordinate.

_______________


Point::Y()

short& Point::Y();

Beschreibung

Mit dieser Methode kann die Y-Koordinate gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf die Y-Koordinate.

_______________


Point::operator +=( const Point& rPoint )
Point::operator +=()
Point::operator -=()
Point::operator *=()
Point::operator /=()

Point& Point::operator +=( const Point& rPoint );

Point& Point::operator -=( const Point& rPoint );

Point& Point::operator *=( const short nVal );

Point& Point::operator /=( const short nVal );

Beschreibung

Diese Operatoren definieren die vier Grundrechenarten auf Punkte. Dabei können zwei Punkte entweder aufeinander addiert oder voneinander subtrahiert werden, was dann eine Verschiebung des Punktes bedeutet, oder ein Punkt kann mit einem numerischen Wert multipliziert bzw. dividiert werden, was einer Skalierung des Punktes entspricht.

Parameter

const Point& rPoint	Der Wert, um den der Punkt verschoben wird.

const short nVal	Der Wert, um den der Punkt skaliert wird.

Rückgabewert

Point&	Eine Referenz auf diesen Punkt.

_______________


operator +( const Point& rPt1, const Point& rPt2 )
Point::operator +()
Point::operator -()
Point::operator *()
Point::operator /()

friend Point operator +( const Point& rPt1, const Point& rPt2 );friend Point operator -( const Point& rPt1, const Point& rPt2 );

friend Point operator *( const Point& rPt, const short nVal );

friend Point operator /( const Point& rPt, const short nVal );

Beschreibung

Diese Operatoren definieren die vier Grundrechenarten auf Punkte. Dabei können zwei Punkte entweder aufeinander addiert oder voneinander subtrahiert werden, was dann eine Verschiebung des Punktes bedeutet, oder ein Punkt kann mit einem numerischen Wert multipliziert bzw. dividiert werden, was einer Skalierung des Punktes entspricht.

Parameter

const Point& rPt1

const Point& rPt2	Die beiden Punkte werden aufeinander addiert bzw. voneinander subtrahiert.

const Point& rPt

const short nVal	Der Punkt rPt wird mit nVal multipliziert bzw. durch nVal dividiert.

Rückgabewert

Point	Der durch die Rechenoperation entstandene neue Punkt.

_______________


Point::IsAbove( const Point& rPoint )
Point::IsAbove()
Point::IsBelow()
Point::IsRight()
Point::IsLeft()

BOOL Point::IsAbove( const Point& rPoint ) const;

BOOL Point::IsBelow( const Point& rPoint ) const;

BOOL Point::IsRight( const Point& rPoint ) const;

BOOL Point::IsLeft( const Point& rPoint ) const;

Beschreibung

Diese Methoden dienen dazu, die Position eines Punktes mit einem anderen Punkt zu vergleichen. Die Methode IsAbove() liefert den Wert TRUE, wenn der als Parameter übergebene Punkt über dem Punkt liegt, von dem die Methode aufgerufen wurde. Analog dazu liefert IsBelow() den Wert TRUE, wenn der Punkt unterhalb liegt, IsLeft(), wenn der Punkt links und IsRight(), wenn der Punkt rechts liegt.

Parameter

const Point& rPoint	Der zu prüfende Punkt.

Rückgabewert

BOOL	TRUE

Der im Parameter rPoint übergebene Punkt erfüllt die Bedingung.

FALSE

Der im Parameter rPoint übergebene Punkt erfüllt die Bedingung nicht.

Anmerkungen

Die Positionsangaben beziehen sich auf den Bildschirm. Das heißt, ein Punkt A liegt über B, wenn A.Y() kleiner ist als B.Y() (die linke obere Ecke des Bildschirms hat die Koordinaten 0,0 und die positive Y-Achse zeigt nach unten).

_______________


Pointer

enum PointerStyle	{ POINTER_ARROW, POINTER_WAIT, POINTER_CROSS, POINTER_BEAM,  POINTER_HSPLIT, POINTER_VSPLIT, POINTER_NULL };

class Pointer : public Resource

{

public:

Pointer( PointerStyle eType = POINTER_ARROW );

Pointer( const Pointer& rPointer );

Pointer( ResId& rResId );

~Pointer();

static void	Show();

static void	Hide();

static BOOL	IsVisible();

static Point	ChangePosPixel( const Point& rPos );

static Point	GetPosPixel();

Pointer&	operator =( const Pointer& rPointer );

BOOL	operator ==( const Pointer& rPointer ) const;

BOOL	operator !=( const Pointer& rPointer ) const;

};

Beschreibung

Die Klasse Pointer ermöglicht Modifikationen des Mauszeigers. Für jedes Fenster kann ein eigener Pointer gewählt werden. Der Mauszeiger nimmt das Aussehen dieses Pointers an, wenn er sich innerhalb des Fensters befindet. Für das Aussehen des Pointers kann die Applikation vordefinierte Formen verwenden, die StarView zur Verfügung stellt, oder sie kann eigene Formen aus der Resource laden.

Die Applikation kann die Sichtbarkeit des Pointers beeinflussen und die Position des Mauszeigers setzen und erfragen.

Die oben aufgeführten Methoden der Klasse Pointer sind bis auf die Konstruktoren alle static. Das bedeutet, daß diese Methoden auf alle Instanzen der Klasse Pointer wirken. Wird z.B. ein Pointer mit dem Befehl Hide() versteckt, gilt das auch für Pointer in anderen Fenstern.

Basisklassen

Resource : LinkHdl

_______________


enum PointerStyle

enum PointerStyle	{ POINTER_ARROW, POINTER_WAIT, POINTER_CROSS, POINTER_BEAM, POINTER_HSPLIT, POINTER_VSPLIT, POINTER_NULL };

Beschreibung

Die Werte des enum PointerStyle können zur Erzeugung von Standard-Pointern verwendet werden.

POINTER_ARROW	Der Mauszeiger erscheint als kleiner Pfeil.

POINTER_WAIT	Der Standard-Mauszeiger, der gewählt wird, wenn das System keine Eingaben annehmen kann (z.B. eine Sanduhr).

POINTER_CROSS	Der Mauszeiger erscheint als Fadenkreuz.

POINTER_BEAM	Der Mauszeiger erscheint als senkrechte Linie mit aufgespaltenen Enden. Diese Form wird zum Markieren von Text verwendet.

POINTER_HSPLIT	Der Mauszeiger ist zum horizontalen Splitten des Fensters gedacht und erscheint als doppelte waagerechte Linie mit einem Pfeil nach oben und einem nach unten.

POINTER_VSPLIT	Der Mauszeiger ist zum vertikalen Splitten des Fensters gedacht und erscheint als doppelte senkrechte Linie mit einem Pfeil nach links und einem nach rechts.

POINTER_NULL	Der Mauszeiger ist unsichtbar.

_______________


Pointer::Pointer( PointerStyle eType = POINTER_ARROW )
Pointer::Pointer()

Pointer::Pointer( PointerStyle eType = POINTER_ARROW );

Beschreibung

Konstruktor der Klasse Pointer. Die Applikation kann mit dem Parameter eType einen Pointer aus einer Anzahl vordefinierter Pointer wählen.

Parameter

PointerStyle eType	Ein Wert des enum PointerStyle.

Querverweise

PointerStyle

_______________


Pointer::Pointer( const Pointer& rPointer )
Pointer::Pointer()

Pointer::Pointer( const Pointer& rPointer );

Beschreibung

Copy-Konstruktor der Klasse Pointer.

Parameter

const Pointer& rPointer	Referenz auf einen Pointer.

_______________


Pointer::Pointer( ResId& rResId )
Pointer::Pointer()

Pointer::Pointer( ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Pointer.

Parameter

ResId& rResId	Die ID des Mauszeigers in der Resource.

Querverweise

Resource

_______________


Pointer::~Pointer()

virtual Pointer::~Pointer();

Beschreibung

Destruktor der Klasse Pointer.

_______________


Pointer::Show()

static void Pointer::Show();

Beschreibung

Der Aufruf der Methode schaltet den Pointer sichtbar. Dieser Aufruf wirkt auf alle Instanzen der Klasse Pointer.

_______________


Pointer::Hide()

static void Pointer::Hide();

Beschreibung

Der Aufruf der Methode schaltet den Pointer unsichtbar. Dieser Aufruf wirkt auf alle Instanzen der Klasse Pointer.

_______________


Pointer::IsVisible()

static BOOL Pointer::IsVisible();

Beschreibung

Der Aufruf der Methode liefert TRUE, wenn der Pointer auf dem Bildschirm sichtbar ist.

Rückgabewert

BOOL	TRUE

Der Pointer ist sichtbar.

FALSE

Der Pointer ist nicht sichtbar.

_______________


Pointer::ChangePosPixel( const Point& rPos )
Pointer::ChangePosPixel()

static Point Pointer::ChangePosPixel( const Point& rPos );

Beschreibung

Die Methode setzt die Pointerposition. Die Positionsangabe erfolgt in Pixeln relativ zur oberen linken Ecke des Bildschirms. Dieser Aufruf wirkt auf alle Instanzen der Klasse Pointer.

Parameter

const Point& rPos	Die neue Position des Pointers in Pixeln.

Rückgabewert

Point	Die alte Position des Pointers in Pixeln.

_______________


Pointer::GetPosPixel()

static Point Pointer::GetPosPixel();

Beschreibung

Die Methode liefert die aktuelle Position des Pointers. Die Positionsangabe erfolgt in Pixeln relativ zur oberen linken Ecke des Bildschirms.

Rückgabewert

Point	Die Position des Pointers in Pixeln.

_______________


Pointer::operator =( const Pointer& rPointer )
Pointer::operator =()

Pointer& Pointer::operator =( const Pointer& rPointer );

Beschreibung

Zuweisungsoperator der Klasse Pointer.

Parameter

const Pointer& rPointer	Referenz auf einen Pointer.

Rückgabewert

Pointer&	Eine Referenz auf das Ergebnis der Zuweisung.

_______________


Pointer::operator ==( const Pointer& rPointer )
Pointer::operator ==()

BOOL Pointer::operator ==( const Pointer& rPointer ) const;

Beschreibung

Vergleichsoperator der Klasse Pointer.

Parameter

const Pointer& rPointer	Referenz auf einen Pointer.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Pointer sind identisch.

FALSE

Die Eigenschaften der verglichenen Pointer sind unterschiedlich.

_______________


Pointer::operator !=( const Pointer& rPointer )
Pointer::operator !=()

BOOL Pointer::operator !=( const Pointer& rPointer ) const;

Beschreibung

Vergleichsoperator der Klasse Pointer.

Parameter

const Pointer& rPointer	Referenz auf einen Pointer.

Rückgabewert

BOOL	TRUE

Die Eigenschaften der verglichenen Pointer sind unterschiedlich.

FALSE

Die Eigenschaften der verglichenen Pointer sind identisch.

_______________


Polygon

class Polygon

{

public:

Polygon( USHORT nSize = 16 );

Polygon( USHORT nPoints, Point aPtAry[] );

Polygon( const Rectangle& rRect );

Polygon( const Polygon& rPoly );

~Polygon();

Point	ChangePoint( const Point& rPt, USHORT nPos );

Point	GetPoint( USHORT nPos ) const;

USHORT	ChangeSize( USHORT nNewSize );

USHORT	GetSize() const;

void	Clear();

Point	operator[]( USHORT nPos ) const;

Point&	operator[]( USHORT nPos );

Point&	operator=( const Polygon& rPoly );

BOOL	operator==( const Polygon& rPoly ) const;

BOOL	operator!=( const Polygon& aPoly ) const;

};

Beschreibung

Die Klasse Polygon dient zur Darstellung von Linienzügen. Polygone können zur Ausgabe auf einem OutputDevice oder zum Aufbau von Regions oder PolyPolygonen verwendet werden.

Querverweise

OutputDevice::DrawPolyLine(), OutputDevice::DrawPolygon(), Region, PolyPolygon

_______________


Polygon::Polygon( USHORT nSize = 16 )
Polygon::Polygon()

Polygon::Polygon( USHORT nSize = 16 );

Beschreibung

Konstruktor der Klasse Polygon. Es wird ein Polygon mit der angegebenen Anzahl von Punkten erzeugt.

Parameter

USHORT nSize	Die Anzahl der Punkte im Polygon.

_______________


Polygon::Polygon( USHORT nPoints, Point aPtAry[] )
Polygon::Polygon()

Polygon::Polygon( USHORT nPoints, Point aPtAry[] );

Beschreibung

Konstruktor der Klasse Polygon. Es wird ein Polygon mit der angegebenen Anzahl von Punkten erzeugt. Die Punkte des Polygons werden mit den übergebenen Dateninitialisiert.

Parameter

USHORT nPoints	Die Anzahl der Punkte im Polygon.

Point aPtAry[]	Ein Punkte-Array zur Initialisierung des Polyons.

_______________


Polygon::Polygon( const Rectangle& rRect )
Polygon::Polygon()

Polygon::Polygon( const Rectangle& rRect );

Beschreibung

Konstruktor der Klasse Polygon. Es wird ein Polygon mit vier Punkten angelegt und mit den Positionen der Ecken des übergebenen Rechtecks initialisiert.

Parameter

const Rectangle& rRect	Ein Rechteck zur Initialisierung des Polygons.

_______________


Polygon::Polygon( const Polygon& rPoly )
Polygon::Polygon()

Polygon::Polygon( const Polygon& rPoly );

Beschreibung

Copy-Konstruktor der Klasse Polygon.

Parameter

const Polygon& rPoly	Das Polygon, dessen Werte übernommen werden sollen.

_______________


Polygon::~Polygon()

Polygon::~Polygon();

Beschreibung

Destruktor der Klasse Polygon.

_______________


Polygon::ChangePoint( const Point& rPt, USHORT nPos )
Polygon::ChangePoint()

Point Polygon::ChangePoint( const Point& rPt, USHORT nPos );

Beschreibung

Die Methode ändert die Daten des Punktes an der Position nPos.

Parameter

const Point rPt	Ein Punkt, dessen Daten in das Polygon übernommen werden sollen.

USHORT nPos	Die Position des Punktes, der geändert werden soll.

Rückgabewert

Point	Ein Punkt mit den bisherigen Daten.

Querverweise

Polygon::operator[]

_______________


Polygon::GetPoint( USHORT nPos )
Polygon::GetPoint()

Point Polygon::GetPoint( USHORT nPos ) const;

Beschreibung

Die Mtehode gibt den Punkt an der Stelle nPos zurück.

Parameter

USHORT nPos	Die Position des Punktes, der zurückgegeben werden soll.

Rückgabewert

Point	Der Punkt an der Stelle nPos.

Querverweise

Polygon::operator[]

_______________


Polygon::ChangeSize( USHORT nNewSize )
Polygon::ChangeSize()

USHORT Polygon::ChangeSize( USHORT nNewSize );

Beschreibung

Die Methode legt eine neue Größe für das Polygon fest.

Parameter

USHORT nNewSize	Die neue Anzahl von Punkten im Polygon.

Rückgabewert

USHORT	Die bisherige Anzahl von Punkten im Polygon.

_______________


Polygon::GetSize()

USHORT Polygon::GetSize() const;

Beschreibung

Die Methode ermittelt die Anzahl von Punkten im Polygon.

Rückgabewert

USHORT	Die Anzahl von Punkten im Polygon.

_______________


Polygon::Clear()

void Polygon::Clear();

Beschreibung

Die Methode löscht alle Punkte im Polygon. Die Anzahl der Punkte muß anschließend neu gesetzt werden.

_______________


Polygon::operator[]( USHORT nPos )
Polygon::operator[]()

Point Polygon::operator[]( USHORT nPos ) const;

Beschreibung

Die Mtehode gibt den Punkt an der Stelle nPos zurück.

Parameter

USHORT nPos	Die Position des Punktes, der zurückgegeben werden soll.

Rückgabewert

Point	Der Punkt an der Stelle nPos.

Querverweise

Polygon::GetPoint()

_______________


Polygon::operator[]( USHORT nPos )
Polygon::operator[]()

Point& Polygon::operator[]( USHORT nPos );

Beschreibung

Die Methode liefert eine Referenz auf den Punkt an der Stelle nPos zurück. Diese Methode muß verwendet werden, wenn der Punkt verändert werden soll.

Parameter

USHORT nPos	Die Position des Punktes, der zurückgegeben werden soll.

Rückgabewert

Point&	Eine Referenz auf den Punkt an der Position nPos.

Querverweise

Polygon::ChangePoint()

_______________


Polygon::operator=( const Polygon& rPoly )
Polygon::operator=()

Polygon& Polygon::operator=( const Polygon& rPoly );

Beschreibung

Zuweisungsoperator der Klasse Polygon.

Parameter

const Polygon& rPoly	Das Polygon, dessen Werte übernommen werden sollen.

Rückgabewert

Polygon&	Eine Referenz auf die Polygon-Instanz. Damit sind Mehrfachzuweisungen möglich.

_______________


Polygon::operator ==( const Polygon& rPoly )
Polygon::operator ==()

BOOL Polygon::operator ==( const Polygon& rPoly ) const;

Beschreibung

Vergleichsoperator der Klasse Polygon. Die Methode liefert TRUE zurück, wenn das Polygon mit dem übergebenen Polygon übereinstimmt.

Parameter

const Polygon& rPoly	Das Polygon, das mit dem aktuellen Polygon verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Polygone stimmen überein.

FALSE

Die beiden Polygone stimmen nicht überein.

_______________


Polygon::operator !=( const Polygon& aPoly )
Polygon::operator !=()

BOOL Polygon::operator !=( const Polygon& aPoly ) const;

Beschreibung

Vergleichsoperator der Klasse Polygon. Die Methode liefert TRUE zurück, wenn das Polygon mit dem übergebenen Polygon nicht übereinstimmt.

Parameter

const Polygon& rPoly	Das Polygon, das mit dem aktuellen Polygon verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Polygone stimmen nicht überein.

FALSE

Die beiden Polygone stimmen überein.

_______________


PolyPolygon

#define POLYPOLY_APPEND        0xFFFF

class PolyPolygon

{

public:

PolyPolygon( USHORT nInitSize = 16, USHORT nResize = 16 );

PolyPolygon( const Polygon& rPoly );

PolyPolygon( USHORT nPoly, USHORT nPointCountAry[], Point aPtAry[] );

PolyPolygon( const PolyPolygon& rPolyPoly );

~PolyPolygon();

void	Insert( const Polygon& rPoly, USHORT nPos = POLYPOLY_APPEND );

Polygon	Remove( USHORT nPos );

Polygon	Replace( const Polygon& rPoly, USHORT nPos );

Polygon	GetObject( USHORT nPos ) const;

void	Clear();

USHORT	Count() const;

Polygon&	operator=( const PolyPolygon& rPolyPoly );

BOOL	operator==( const PolyPolygon& rPolyPoly ) const;

BOOL	operator!=( const PolyPolygon& rPolyPoly ) const;

};

Beschreibung

Die Klasse PolyPolygon stellt komplexe Bereiche aus mehreren Polygonen zur Verfügung. PolyPolygone können zur Ausgabe auf einer Instanz der Klasse OutputDevice oder als Clipping-Bereich verwendet werden. Beim Füllen von PolyPolygonen bei der Ausgabe werden alle Teilpolygone gemeinsam gefüllt.

Die Klasse PolyPolygon bildet einen Container, der Pointer auf Instanzen der Klasse Polygon speichert.

Querverweise

OutputDevice::DrawPolyPolygon(), Region, Container

_______________


PolyPolygon::PolyPolygon(USHORT nInitSize = 16,USHORT nReSize = 16)
PolyPolygon::PolyPolygon()

PolyPolygon::PolyPolygon(USHORT nInitSize = 16,USHORT nReSize = 16);

Beschreibung

Konstruktor der Klasse PolyPolygon.

Parameter

USHORT nInitSize	Die Anzahl der Polygone, die nach dem Erzeugen des PolyPolygons gespeichert werden können, ohne neuen Speicherplatz anzulegen.

USHORT nReSize	Die Anzahl der Polygone, um die ein Block erweitert wird, wenn der Block neuen Speicherplatz anfordert.

Querverweise

Container

_______________


PolyPolygon::PolyPolygon( const Polygon& rPoly )
PolyPolygon::PolyPolygon()

PolyPolygon::PolyPolygon( const Polygon& rPoly );

Beschreibung

Konstruktor der Klasse PolyPolygon. Das übergebene Polygon wird kopiert. Die Verwaltung des kopierten Polygons liegt beim PolyPolygon. Beim Zerstören des PolyPolygons wird das Polygon automatisch gelöscht.

Parameter

const Polygon& rPoly	Das Polygon, dessen Eigenschaften zugrundegelegt werden sollen.

_______________


PolyPolygon::PolyPolygon( USHORT nPoly, USHORT nPointCountAry[], Point aPtAry[] )
PolyPolygon::PolyPolygon()

PolyPolygon::PolyPolygon( USHORT nPoly, USHORT nPointCountAry[], Point aPtAry[] );

Beschreibung

Konstruktor der Klasse PolyPolygon. Es werden intern Instanzen der Klasse Polygon angelegt und mit den Daten aus dem Array von Punkten initialisiert. Die erzeugten Polygone liegen in der Verwaltung des PolyPolygons und werden beim Zerstören des PolyPolygons automatisch gelöscht.

Parameter

USHORT nPoly	Anzahl der Polygone, die angelegt werden sollen.

USHORT nPointCountAry[]	Ein Array mit der Anzahl von Punkten für jedes Polygon.

Point aPtAry[]	Ein Punkte-Array mit den Punkten für alle Polygone.

_______________


PolyPolygon::PolyPolygon( const PolyPolygon& rPoly )
PolyPolygon::PolyPolygon()

PolyPolygon::PolyPolygon( const PolyPolygon& rPoly );

Beschreibung

Copy-Konstruktor der Klasse PolyPolygon.

Parameter

const PolyPolygon& rPoly	Das PolyPolygon, dessen Werte übernommen werden sollen.

_______________


PolyPolygon::~PolyPolygon()

PolyPolygon::~PolyPolygon();

Beschreibung

Destruktor der Klasse PolyPolygon. Alle enthaltenen Polygone werden automatisch gelöscht.

_______________


PolyPolygon::Insert( const Polygon& rPoly, USHORT nPos = POLYPOLY_APPEND )
olyPolygon::Insert()

void PolyPolygon::Insert( const Polygon& rPoly, USHORT nPos = POLYPOLY_APPEND );

Beschreibung

Die Methode fügt an der angegebenen Position ein neues Polygon in das PolyPolygon ein. Das übergebene Polygon wird kopiert. Die Verwaltung des kopierten Polygons liegt beim PolyPolygon. Beim Zerstören des PolyPolygons werden alle enthaltenen Polygone automatisch gelöscht.

Parameter

const Polygon& rPoly	Das Polygon, das eingefügt werden soll.

USHORT nPos	Die Position, an der das Polygon eingefügt werden soll. Falls nichts angegeben wird, wird das Polygon an das bisher letzte angehängt.

Querverweise

Container

_______________


Polygon PolyPolygon::Remove( USHORT nPos )
PolyPolygon::Remove()

Polygon PolyPolygon::Remove( USHORT nPos );

Beschreibung

Die Methode entfernt das Polygon an der angegebenen Stelle aus dem PolyPolygon.

Die Verantwortung zum  Löschen des entfernten Polygons liegt bei der Applikation.

Parameter

USHORT nPos	Die Position des Polygons, das entfernt werden soll. Ist nPos größer als die Anzahl von Polygonen -1, wird das letzte Polygon entfernt.

Rückgabewert

Polygon	Das entfernte Polygon.

_______________


PolyPolygon::Replace( const Polygon& rPoly, USHORT nPos )
PolyPolygon::Replace()

Polygon PolyPolygon::Replace( const Polygon& rPoly, USHORT nPos );

Beschreibung

Die Methode ersetzt das Polygon an der Stelle nPos durch das übergebene Polygon. Die Verantwortung zum Löschen des entfernten Polygons liegt bei der Applikation.

Parameter

const Polygon& rPoly	Das neue Polygon.

USHORT nPos	Die Position des zu ersetztenen Polygons. Ist nPos größer als die Anzahl der Polygone -1, wird das letzte Polygon ersetzt.

Rückgabewert

Polygon	Das ersetzte Polygon.

_______________


PolyPolygon::GetObject( USHORT nPos )
PolyPolygon::GetObject()

Polygon PolyPolygon::GetObject( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt das Polygon, das sich an der Position nPos befindet.

Parameter

USHORT nPos	Die Position des zu ermittelnen Polygons. Ist nPos größer als die Anzahl der Polygone -1, wird das letzte Polygon zurückgegeben.

Rückgabewert

Polygon	Das Polygon, das sich an der angegebenen Position befindet.

_______________


PolyPolygon::Clear()

void PolyPolygon::Clear();

Beschreibung

Die Methode löscht alle im PolyPolygon enthaltenen Polygone.

_______________


PolyPolygon::Count()

USHORT PolyPolygon::Count() const;

Beschreibung

Die Methode ermittelt die Anzahl der Polygone, die im PolyPolygon enthalten sind.

Rückgabewert

USHORT	Die Anzahl der enthaltenen Polygone.

_______________


PolyPolygon::operator=( const PolyPolygon& rPoly )
PolyPolygon::operator=()

PolyPolygon& PolyPolygon::operator=( const PolyPolygon& rPoly );

Beschreibung

Zuweisungsoperator der Klasse PolyPolygon.

Parameter

const PolyPolygon& rPoly	Das PolyPolygon, dessen Werte übernommen werden sollen.

Rückgabewert

PolyPolygon&	Eine Referenz auf die PolyPolygon-Instanz. Damit sind Mehrfachzuweisungen möglich.

_______________


PolyPolygon::operator==( const PolyPolygon& rPoly )
PolyPolygon::operator==()

BOOL PolyPolygon::operator==( const PolyPolygon& rPoly ) const;

Beschreibung

Vergleichsoperator der Klasse PolyPolygon. Die Methode liefert TRUE zurück, wenn das PolyPolygon mit dem übergebenen PolyPolygon übereinstimmt.

Parameter

const PolyPolygon& rPoly	Das PolyPolygon, das mit dem aktuellen PolyPolygon verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden PolyPolygone stimmen überein.

FALSE

Die beiden PolyPolygone stimmen nicht überein.

_______________


PolyPolygon::operator!=( const PolyPolygon& aPoly )
PolyPolygon::operator!=()

BOOL PolyPolygon::operator!=( const PolyPolygon& aPoly ) const;

Beschreibung

Vergleichsoperator der Klasse PolyPolygon. Die Methode liefert TRUE zurück, wenn das PolyPolygon mit dem übergebenen PolyPolygon nicht übereinstimmt.

Parameter

const PolyPolygon& rPoly	Das PolyPolygon, das mit dem aktuellen PolyPolygon verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden PolyPolygone stimmen nicht überein.

FALSE

Die beiden PolyPolygone stimmen überein.

_______________


PopupMenu

class PopupMenu : public Menu

{

public:

PopupMenu();

PopupMenu( PopupMenu& rMenu );

PopupMenu( const ResId& rResId );

void	SetText( const String& rTitle );

String	GetText() const;

void	Execute( const Point& rPos );

PopupMenuBar&	operator =( const PopupMenu& rMenu );

};

Beschreibung

PopupMenus können Einträgen von MenuBars oder von PopupMenus hinzugefügt oder als unabhängiges PopupMenu an beliebiger Stelle auf dem Bildschirm aktiviert werden. Ein PopupMenu kann mehreren Menu-Einträgen von PopupMenus oder MenuBars zugeordnet werden.

Basisklassen

Menu : Resource : LinkHdl

Querverweise

MenuBar

_______________


PopupMenu::PopupMenu()

PopupMenu::PopupMenu();

Beschreibung

Konstruktor der Klasse PopupMenu.

_______________


PopupMenu::PopupMenu( const PopupMenu& rMenu )
PopupMenu::PopupMenu()

PopupMenu::PopupMenu( const PopupMenu& rMenu );

Beschreibung

Copy-Konstruktor der Klasse PopupMenu. Folge-Menus werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, daß das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Menus umgehängt worden sind.

Parameter

const PopupMenu& rMenu	Referenz auf ein PopupMenu.

_______________


PopupMenu::PopupMenu( const ResId& rResId )
PopupMenu::PopupMenu()

PopupMenu::PopupMenu( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse PopupMenu.

Parameter

const ResId& rResId	Die ID des PopupMenus in der Resource.

Querverweise

Resource

_______________


PopupMenu::SetText( const String& rTitle )
PopupMenu::SetText()

void PopupMenu::SetText( const String& rTitle );

Beschreibung

Die Methode setzt einen neuen Text als Titel des PopupMenus.

Parameter

const String& rTitle	Der neue Menu-Titel.

Ausnahmen

Dieser Text wird zur Zeit nur unter Solaris ausgewertet.

_______________


PopupMenu::GetText()

String PopupMenu::GetText() const;

Beschreibung

Die Methode ermittelt den Titeltext des PopupMenus.

Rückgabewert

String	Der Menu-Titel.

_______________


PopupMenu::Execute( const Point& rPos )
PopupMenu::Execute()

void PopupMenu::Execute( const Point& rPos );

Beschreibung

Mit dieser Methode wird ein PopupMenu an einer beliebigen Stelle auf dem Bildschirm aufgeklappt. Als Parameter wird die Position in Bildschirmkoordinaten angegeben. Der Aufruf der Methode Execute() ist modal, d.h. die Kontrolle wird erst abgegeben, wenn ein Menu-Punkt ausgewählt oder die Auswahl abgebrochen wurde.

Parameter

const Point& rPos	Die Position des PopupMenus in Device-Koordinaten relativ zur oberen linken Ecke des Bildschirms.

_______________


PopupMenu::operator =( const PopupMenu& rMenu )
PopupMenu::operator =()

PopupMenu& PopupMenu::operator =( const PopupMenu& rMenu );

Beschreibung

Zuweisungsoperator der Klasse PopupMenu. Folge-Menus werden kopiert und bei RemoveItem() oder im Destruktor automatisch zerstört. Es ist darauf zu achten, das das automatische Zerstören auch durchgeführt wird, wenn die erzeugten Menus umgehängt wurden sind.

Parameter

const PopupMenu& rMenu	Referenz auf ein PopupMenu.

Rückgabewert

PopupMenu&	Referenz auf das Ergebnis der Zuweisung.

_______________


Preview

class Preview : public Printer, public Window

{

protected:

virtual void	RequestPage();

public:

Preview( Window* pParent, WinBits nWinStyle = 0 );

virtual	~Preview();

void	SetPageQueueSize( USHORT nPages );

USHORT	ChangeCurPage( USHORT nCurPage = 1 );

USHORT	GetCurPage() const;

Fraction	ChangeZoomFactor( const Fraction& rFactor );

Fraction	GetZoomFactor() const;

Point	ChangePageOffset( const Point& rOffset );

Point	GetPageOffset() const { return aPageOffset; }

Size	GetVisibleSize() const;

Size	CalcWindowSizePixel( const Size& rMaxSize ) const;

Link	ChangeRequestPageHdl( const Link& rLink );

Link	GetRequestPageHdl() const;

USHORT	GetRequestPage() const;

};

Beschreibung

Die Klasse Preview stellt ein Window mit den Ausgabeeigenschaften eines Druckers dar. Dabei wird versucht, die Druckereigenschaften so gut wie möglich auf dem Bildschirm nachzubilden. Zusätzlich kann über verschiedene Methoden der Inhalt vergrößert oder verkleinert, eine Ganzseitendarstellung simuliert oder ein bestimmter Ausschnitt einer Seite angezeigt werden.

Mit Hilfe der Methoden der Basisklasse Printer können der Drucker eingestellt und Ausgaben mit den Eigenschaften des Druckers auf das Preview-Fenster gebracht werden. Dazu muß ein Typecast auf einen Printer gemacht werden. Das Preview fängt alle an den Drucker gerichteten Ausgaben ab, um bei der Ausgabe einer Seite die Eigenschaften des Printers so gut wie möglich im Preview-Fenster abzubilden. Vor der Ausgabe auf dem "Preview-Printer" muß Printer::StartJob() aufgerufen werden. Dadurch werden die Printerausgaben initialisiert. Danach kann mit den Methoden der Klasse Preview die Seite bestimmt werden, die im Fenster ausgegeben werden soll. Falls sich die Seite nicht im Preview-Cache (s.u.) befindet, wird sie vom Preview über den RequestPage-Handler von der Applikation angefordert. Wenn keine Ausgaben mehr erfolgen, muß Printer::EndJob() aufgerufen werden.

Mit Hilfe der Methoden der Basisklasse Window kann das Preview-Fenster auf dem Bildschirm positioniert und angezeigt werden. Um den Hintergrund einer Seite in einer anderen Farbe darzustellen, kann die Background-Brush des Fensters geändert werden. Für die Ermittlung der optimalen Größe des Preview-Fensters in einem Rechteck mit richtigem Seitenverhältnis kann die Methode CalcWindowSizePixel() aufgerufen werden.

Bereits angezeigte Seiten können in einem internen Cache gespeichert werden, so daß diese bei erneuter Anforderung sehr schnell angezeigt werden können. Dies ist nützlich bei der Implementierung einer Funktion zum "Blättern" innerhalb eines Dokumentes. Bei größeren Dokumenten werden normalerweise die Seiten über Anforderung des Previews an die Applikation ausgegeben. Wenn jedoch nur ein kleines Dokument oder nur eine Seite auf dem Preview ausgegeben werden soll, kann die Cache-Größe auf die Anzahl der auszugebenden Seiten gesetzt werden. So wird verhindert, daß das Preview Seiten über den RequestPage-Handler anfordert.

Basisklassen

Printer : OutputDevice : Resource : LinkHdl;

Window

_______________


Preview::RequestPage()

virtual void Preview::RequestPage();

Beschreibung

Dieser Handler wird vom Preview immer dann gerufen, wenn die Applikation mit Hilfe der Methode ChangeCurPage() versucht, eine Seite anzuzeigen, die nicht im Cache gespeichert ist. Die Seite, die angefordert wurde, kann über GetRequestPage() abgefragt werden. Dazu müssen die Ausgaben, die für die Darstellung dieser Seite nötig sind, innerhalb dieses Handlers auf dem Printer erfolgen. Innerhalb dieses Handlers darf nicht Printer::StartJob() und Printer::EndJob() aufgerufen werden, da Printer::StartJob() schon vor dem Anfordern der Seite aufgerufen wurde.

Querverweise

Preview::ChangeRequestPageHdl()

_______________


Preview::Preview( Window* pParent, WinBits nWinStyle = 0 )
Preview::Preview()

Preview::Preview( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse Preview. Eine Instanz der Klasse Preview mit dem Parent pParent wird angelegt.

Parameter

Window* pParent	Zeiger auf das Parent-Window.

WinBits& nWinStyle	Window-Style des Preview-Fensters mit folgenden Stylebits:

WB_BORDER

Das Fenster verfügt über einen Rahmen.

_______________


Preview::~Preview()

virtual Preview::~Preview();

Beschreibung

Destruktor der Klasse Preview. Falls noch nicht Printer::EndJob() aufgerufen wurde, wird der Job automatisch beendet.

_______________


Preview::SetPageQueueSize( USHORT nPages )
Preview::SetPageQueueSize()

void Preview::SetPageQueueSize( USHORT nPages );

Beschreibung

Die Methode setzt fest, wie viele Seiten maximal in der Queue gehalten werden sollen.

Parameter

USHORT nPages	Die Anzahl der maximal in der Queue zu haltenden Seiten.

_______________


Preview::ChangeCurPage( USHORT nCurPage = 1 )
Preview::ChangeCurPage()

USHORT Preview::ChangeCurPage( USHORT nCurPage = 1 );

Beschreibung

Durch Aufruf dieser Methode wird eine neue Seite angezeigt. Befindet sich die Seite nicht im Cache, so wird die Applikation durch Aufruf der Methode RequestPage() aufgefordert, die Seite auszugeben. Bevor eine Seite angezeigt werden kann, muß Printer::StartJob() aufgerufen werden.

Parameter

USHORT nCurPage	Die Seite, die zur Anzeige gebracht werden soll. Um die erste Seite anzuzeigen, muß 1 übergeben werden.

Rückgabewert

USHORT	Die zuvor angezeigte Seite. Wurde noch keine Seite angezeigt oder wurde noch nicht Printer::StartJob() aufgerufen, so wird 0 zurückgegeben.

Querverweise

Preview::RequestPage()

_______________


Preview::GetCurPage()

USHORT Preview::GetCurPage() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, welche Seite angezeigt wird.

Rückgabewert

USHORT	Die angezeigte Seite. Wenn keine Seite angezeigt wird, so wird 0 zurückgegeben. Die erste Seite hat den Wert 1.

Querverweise

Preview::RequestPage()

_______________


Preview::ChangeZoomFactor( const Fraction& rFactor )
Preview::ChangeZoomFactor()

Fraction Preview::ChangeZoomFactor( const Fraction& rFactor );

Beschreibung

Diese Methode ändert den Darstellungsmaßstab für die Anzeige. Nach Aufruf dieser Methode zeichnet das Preview-Fenster die Seite automatisch im neuen Maßstab. Mit der Methode CalcWindowSizePixel() kann die optimale Fenstergröße des Preview-Fensters für einen Maßstab berechnet werden.

Parameter

const Fraction& rFactor	Der neue Maßstab für die Anzeige:

> 1	Vergrößerung

= 1	1:1 Darstellung

< 1	Verkleinerung

= 0	Ganzseitendarstellung

Rückgabewert

Fraction	Der bisher gesetzte Maßstab.

Querverweise

Preview::CalcWindowSizePixel()

_______________


Preview::GetZoomFactor()

Fraction Preview::GetZoomFactor() const;

Beschreibung

Mit dieser Methode kann der Darstellungsmaßstab abgefragt werden.

Rückgabewert

Fraction	Der aktuelle Maßstab:

> 1	Vergrößerung

= 1	1:1 Darstellung

< 1	Verkleinerung

= 0	Ganzseitendarstellung

_______________


Preview::ChangePageOffset( const Point& rOffset )
Preview::ChangePageOffset()

Point Preview::ChangePageOffset( const Point& rOffset );

Beschreibung

Mit dieser Methode kann eingestellt werden, welcher Teil einer Druckseite der linken oberen Ecke im Fenster entspricht. Dadurch ist es möglich, innerhalb des Preview-Fensters den Inhalt der Seite zu scrollen. Nach Aufruf dieser Methode zeichnet das Preview-Fenster die Seite automatisch mit dem neuen Seitenoffset. Über die Methode CalcWindowSizePixel() kann die optimale Fenstergröße des Preview-Fensters für einen Page-Offset berechnet werden.

Parameter

const Point& rOffset	Der Offset der Druckseite, der der linken oberen Ecke des Fensters entspricht. Der Offset wird in logischen Einheiten des eingestellten MapModes im Drucker angegeben.

Rückgabewert

Point	Der vorherige Offset.

Querverweise

Preview::CalcWindowSizePixel()

_______________


Preview::GetPageOffset()

Point Preview::GetPageOffset() const;

Beschreibung

Mit dieser Methode kann der eingestellte Offset abgefragt werden.

Rückgabewert

Point	Der aktuelle Offset. Der Offset wird in logischen Einheiten des eingestellten MapModes im Drucker zurückgegeben.

_______________


Preview::GetVisibleSize()

Size Preview::GetVisibleSize() const;

Beschreibung

Mit dieser Methode kann der zur Zeit im Preview sichtbare Bereich der Druckerseite abgefragt werden. Der Rückgabewert wird in logischen Einheiten des im Drucker eingestellten MapModes angegeben.

Rückgabewert

Size	Der aktuell im Preview sichtbare Bereich der Druckerseite in logischen Einheiten des Druckers.

_______________


Preview::CalcWindowSizePixel( const Size& rMaxSize )
Preview::CalcWindowSizePixel()

Size Preview::CalcWindowSizePixel( const Size& rMaxSize ) const;

Beschreibung

Mit dieser Methode kann die Größe des Fensters für die Darstellung der Seite im richtigen Verhältnis berechnet werden. Der zur Zeit eingestellte Vergrößerungsfaktor wird bei der Berechnung berücksichtigt.

Parameter

const Size& rMaxSize	Die maximale Größe des Fensters in Pixeln.

Rückgabewert

Size	Die Größe des Fensters in Pixeln zur Darstellung der Seite im richtigen Verhältnis. Die zurückgegebene Größe ist nie größer als rMaxSize.

Querverweise

Preview::ChangePageOffset(), Preview::ChangeZoomFactor()

_______________


Preview::ChangeRequestPageHdl( const Link& rLink )
Preview::ChangeRequestPageHdl()

Link Preview::ChangeRequestPageHdl( const Link& rLink );

Beschreibung

Durch Aufruf dieser Methode wird der Handler gesetzt, der aufgerufen wird, wenn eine Seite im Preview angezeigt werden soll, die sich nicht im Cache befindet. Die Applikation kann auch in abgeleiteten Klassen die Methode RequestPage() überladen. Es liegt dann in der Verantwortung der Applikation, den Aufruf der durch diese Methode gesetzten Handler sicherzustellen, falls sie diesen wünscht.

Die Nummer der angeforderten Seite kann innerhalb des Handlers mit Hilfe der Methode GetRequestPage() abgefragt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn eine Seite im Preview ausgegeben werden soll, die sich nicht im Cache befindet. Als Parameter erhält der Handler einen Zeiger auf das Preview.

Prototyp des Handlers:

void MyClass::RequestPage( Preview* pPreview );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der alte Handler.

Querverweise

Link, Preview::RequestPage(), Preview::ChangeCurPage(), Preview::GetCurPage()

_______________


Preview::GetRequestPageHdl()

Link Preview::GetRequestPageHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn eine Seite im Preview ausgegeben werden soll, die sich nicht im Cache befindet.

Rückgabewert

Link	Der gesetzte Handler.

_______________


Preview::GetRequestPage()

USHORT Preview::GetRequestPage() const;

Beschreibung

Diese Methode gibt die angeforderte Seitennummer zurück. Der Rückgabewert dieser Methode ist 0 bei einem Aufruf außerhalb des PageRequest Handlers.

Rückgabewert

USHORT	Die angeforderte Seitennummer.

_______________


PrintDialog

class PrintDialog : public SystemDialog

{

public:

PrintDialog( Window* pParent, WinBits nWinStyle );

PrintDialog( Window* pParent, const ResId& rResId );

virtual	~PrintDialog();

Printer*	ChangePrinter( Printer* pPrinter );

Printer*	GetPrinter() const;

PrinterSetupDialog*	ChangeSetupDialog( PrinterSetupDialog* pSetupDlg );

PrinterSetupDialog*	GetSetupDialog() const;

USHORT	ChangeCopyCount( USHORT nCopies = 1 );

USHORT	GetCopyCount() const;

USHORT	ChangeFirstPage( USHORT nPage = 1 );

USHORT	GetFirstPage() const;

USHORT	ChangeLastPage( USHORT nPage = 1 );

USHORT	GetLastPage() const;

void	EnablePageFields( BOOL bEnable = TRUE );

BOOL	IsPageFieldsEnabled() const;

void	EnableSelection( BOOL bEnable = TRUE );

BOOL	IsSelectionEnabled() const;

void	CheckSelection( BOOL bCheck = TRUE );

BOOL	IsSelectionChecked() const;

void	EnableCollate( BOOL bEnable = TRUE );

BOOL	IsCollateEnabled() const;

void	CheckCollate( BOOL bCheck = TRUE );

BOOL	IsCollateChecked() const;

short	Execute();

};

Beschreibung

Die Klasse PrintDialog ist von SystemDialog abgeleitet und bietet eine einfache Möglichkeit, dem Anwender eine Druck-Dialogbox anzubieten. Dabei wird auf allen Systemen der Standard-PrintDialog benutzt, wenn einer vorhanden ist. Auf den anderen Systemen wird ein entsprechender Dialog nachgebildet.

Damit der Dialog gestartet werden kann, muß ein Printer in den Dialog selektiert werden. Falls der Dialog mit dem OK-Button beendet wird, werden die Daten im selektierten Printer neu gesetzt, und die Applikation muß den Druckvorgang ausführen. Falls die Applikation seitenorientiert ist, müssen First- und LastPage gesetzt werden.

Basisklassen

SystemDialog : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Printer, PrinterSetupDialog,SystemDialog , ModalDialog, Control

_______________


PrintDialog::PrintDialog( Window* pParent, WinBits nWinStyle )
PrintDialog::PrintDialog()

PrintDialog::PrintDialog( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse PrintDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_SVLOOK

Die Dialogbox erscheint im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


PrintDialog::PrintDialog( Window* pParent, const ResId& rResId )
PrintDialog::PrintDialog()

PrintDialog::PrintDialog( Window* pParent, const ResId& rResId );

Beschreibung

Konstruktor der Klasse PrintDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

const ResId& rResId	Der Resource-Identifier der Dialogbox

_______________


PrintDialog::~PrintDialog()

virtual PrintDialog::~PrintDialog();

Beschreibung

Destruktor der Klasse PrintDialog.

_______________


PrintDialog::ChangePrinter( Printer* pPrinter )
PrintDialog::ChangePrinter()

Printer* PrintDialog::ChangePrinter( Printer* pPrinter );

Beschreibung

Die Methode setzt den Drucker, auf dem der Druckvorgang ausgeführt werden soll. Der Dialog kann nur gestartet werden, wenn ein Drucker zugeordnet wurde.

Parameter

Printer* pPrinter	Zeiger auf die neue Drucker-Instanz, auf der der Druckvorgang ausgeführt werden soll.

Rückgabewert

Printer*	Zeiger auf den bisher zugeordneten Drucker.

Querverweise

Printer

_______________


PrintDialog::GetPrinter()

Printer* PrintDialog::GetPrinter() const;

Beschreibung

Die Methode gibt den zugeordneten Drucker zurück.

Rückgabewert

Printer*	Zeiger auf die zugeordnete Drucker-Instanz.

Querverweise

Printer

_______________


PrintDialog::ChangeSetupDialog( PrinterSetupDialog* pSetupDlg )
PrintDialog::ChangeSetupDialog()

PrinterSetupDialog* PrintDialog::ChangeSetupDialog( PrinterSetupDialog* pSetupDlg );

Beschreibung

Die Methode ordnet dem PrintDialog einen neuen PrinterSetupDialog zu. Im PrinterSetupDialog muß kein Printer zugeordnet werden, da der Printer, der in diesem Dialog selektiert ist, während der Ausführung von Execute() im PrinterSetupDialog umgesetzt wird. Falls kein PrinterSetupDialog zugeordnet wird, wird ein Default-PrinterSetupDialog angezeigt, wenn der Anwender Druckeroptionen ändern will.

Parameter

PrinterSetupDialog* pSetupDlg	Zeiger auf die Dialog-Instanz, die statt dem Default-PrinterSetupDialog angezeigt wird. Bei Übergabe von NULL wird wieder der Default-PrinterSetupDialog angezeigt.

Rückgabewert

PrinterSetupDialog*	Der bislang zugeordnete PrinterSetupDialog oder NULL, wenn kein PrinterSetupDialog zugeordnet wurde.

Querverweise

PrinterSetupDialog

_______________


PrintDialog::GetSetupDialog()

PrinterSetupDialog* PrintDialog::GetSetupDialog() const;

Beschreibung

Die Methode ermittelt den zugeordneten PrinterSetupDialog.

Rückgabewert

PrinterSetupDialog*	Zeiger auf den zugeordneten PrinterSetupDialog oder NULL,wenn kein Dialog zugeordnet wurde.

Querverweise

PrinterSetupDialog

_______________


PrintDialog::ChangeCopyCount( USHORT nCopies = 1 )
PrintDialog::ChangeCopyCount()

USHORT PrintDialog::ChangeCopyCount( USHORT nCopies = 1 );

Beschreibung

Die Methode ändert die Voreinstellung für das Kopienanzahl-Eingabefeld.

Parameter

USHORT nCopies	Anzahl der Kopien, die im Kopienanzahl-Eingabefeld voreingestellt werden soll.

Rückgabewert

USHORT	Die bisherige Voreinstellung.

_______________


PrintDialog::GetCopyCount()

USHORT PrintDialog::GetCopyCount() const;

Beschreibung

Die Methode gibt die eingestellte Kopienanzahl zurück. Die Einstellung im zugeordneten Drucker wird nicht automatisch geändert, damit die Applikation noch die Möglichkeit hat, die Kopien selber zu erzeugen.

Rückgabewert

USHORT	Die eingestellte Kopienanzahl.

Querverweise

Printer::SetCopyCount()

_______________


PrintDialog::ChangeFirstPage( USHORT nPage = 1 )
PrintDialog::ChangeFirstPage()

USHORT PrintDialog::ChangeFirstPage( USHORT nPage = 1 );

Beschreibung

Die Methode stellt die erste zu druckende Seite ein. Diese Einstellung kann vom Benutzer nur geändert werden, wenn die PageFields enabled sind.

Parameter

USHORT nPage	Die erste zu druckende Seite.

Rückgabewert

USHORT	Die zuvor eingestellte erste Seite.

Querverweise

PrintDialog::EnablePageFields()

_______________


PrintDialog::GetFirstPage()

USHORT PrintDialog::GetFirstPage() const;

Beschreibung

Die Methode gibt die erste zu druckende Seite zurück.

Rückgabewert

USHORT	Die erste zu druckende Seite.

Querverweise

PrintDialog::EnablePageFields()

_______________


PrintDialog::ChangeLastPage( USHORT nPage = 1 )
PrintDialog::ChangeLastPage()

USHORT PrintDialog::ChangeLastPage( USHORT nPage = 1 );

Beschreibung

Die Methode stellt die letzte zu druckende Seite ein. Diese Einstellung kann vom Benutzer nur geändert werden, wenn die PageFields enabled sind.

Parameter

USHORT nPage	Die letzte zu druckende Seite.

Rückgabewert

USHORT	Die zuvor eingestellte letzte Seite.

Querverweise

PrintDialog::EnablePageFields()

_______________


PrintDialog::GetLastPage()

USHORT PrintDialog::GetLastPage() const;

Beschreibung

Die Methode gibt die letzte zu druckende Seite zurück.

Rückgabewert

USHORT	Die letzte zu druckende Seite.

Querverweise

PrintDialog::EnablePageFields()

_______________


PrintDialog::EnablePageFields( BOOL bEnable = TRUE )
PrintDialog::EnablePageFields()

void PrintDialog::EnablePageFields( BOOL bEnable = TRUE );

Beschreibung

Diese Methode sperrt die Seitenfelder oder gibt die Seitenfelder für den Anwender frei. Falls der Anwender den zu druckenen Bereich einstellen kann, muß mit ChangeFirstPage() und ChangeLastPage() der zu druckende Bereich eingestellt werden.

Parameter

BOOL bEnable	TRUE

In den Seitenfeldern kann der Anwender den zu druckenden Bereich einstellen.

FALSE

Der Anwender kann keinen zu druckenden Bereich einstellen.

Querverweise

PrintDialog::ChangeFirstPage(), PrintDialog::GetFirstPage(), PrintDialog::ChangeLastPage(), PrintDialog::GetLastPage()

_______________


PrintDialog::IsPageFieldsEnabled()

BOOL PrintDialog::IsPageFieldsEnabled() const;

Beschreibung

Die Methode gibt zurück, ob die Seitenfelder für den Anwender freigeschaltet sind.

Rückgabewert

BOOL	TRUE

Der Anwender kann den zu druckenen Bereich in den Seitenfeldern einstellen.

FALSE

Der Anwender kann den zu druckenen Bereich nictht einstellen.

_______________


PrintDialog::EnableSelection( BOOL bEnable = TRUE )
PrintDialog::EnableSelection()

void PrintDialog::EnableSelection( BOOL bEnable = TRUE );

Beschreibung

Diese Methode schaltet die Selektionsbox frei.

Parameter

BOOL bEnable	TRUE

Der Anwender soll auswählen können, daß er die Selektion drucken will.

FALSE

Der Anwender soll die Selektionsbox nicht anwählen können.

Querverweise

PrintDialog::IsSelectionChecked()

_______________


PrintDialog::IsSelectionEnabled()

BOOL PrintDialog::IsSelectionEnabled() const;

Beschreibung

Die Methode gibt zurück, ob die Selektionsbox für den Anwender freigeschaltet ist.

Rückgabewert

BOOL	TRUE

Die Selektionsbox kann vom Anwender ausgewählt werden.

FALSE

Die Selektionsbox kann vom Anwender nicht ausgewählt werden.

_______________


PrintDialog::CheckSelection( BOOL bCheck = TRUE )
PrintDialog::CheckSelection()

void PrintDialog::CheckSelection( BOOL bCheck = TRUE );

Beschreibung

Die Methode stellt die Voreinstellung für die Selektionsbox ein.

Parameter

BOOL bCheck	TRUE

Die Selektionsbox ist angeschaltet.

FALSE

Die Selektionsbox ist ausgeschaltet.

Querverweise

PrintDialog::EnableSelection()

_______________


PrintDialog::IsSelectionChecked()

BOOL PrintDialog::IsSelectionChecked() const;

Beschreibung

Die Methode gibt zurück, ob die Selektionsbox ausgewählt ist und die Anwendung nur den selektierten Bereich drucken soll.

Rückgabewert

BOOL	TRUE

Die Selektionsbox ist ausgewählt.

FALSE

Die Selektionsbox ist nicht ausgewählt.

Querverweise

PrintDialog::EnableSelection()

_______________


PrintDialog::EnableCollate( BOOL bEnable = TRUE )
PrintDialog::EnableCollate()

void PrintDialog::EnableCollate( BOOL bEnable = TRUE );

Beschreibung

Diese Methode schaltet die Box frei, in der der Anwender einstellen kann, daß nur zusammenhängende Kopien gedruckt werden sollen.

Parameter

BOOL bEnable	TRUE

Die Box für zusammenhängende Kopien wird freigeschaltet.

FALSE

Die Box für zusammenhängende Kopien wird für den Anwender gesperrt.

Querverweise

PrintDialog::IsCollateChecked(), Printer::SetCopyCount()

_______________


PrintDialog::IsCollateEnabled()

BOOL PrintDialog::IsCollateEnabled() const;

Beschreibung

Die Methode gibt zurück, ob die Box für zusammenhängende Kopien für den Anwender freigeschaltet ist.

Rückgabewert

BOOL	TRUE

Die Box für zusammenhängende Kopien ist für den Anwender freigeschaltet.

FALSE

Die Box für zusammenhängende Kopien ist für den Anwender gesperrt.

_______________


PrintDialog::CheckCollate( BOOL bCheck = TRUE )
PrintDialog::CheckCollate()

void PrintDialog::CheckCollate( BOOL bCheck = TRUE );

Beschreibung

Die Methode ändert die Voreinstellung für die Box, mit der der Anwender zusammenhängende Kopien drucken kann.

Parameter

BOOL bCheck	TRUE

Die Box für zusammenhängende Kopien wird eingeschaltet.

FALSE

Die Box für zusammenhängende Kopien wird ausgeschaltet.

Querverweise

Printer::SetCopyCount()

_______________


PrintDialog::IsCollateChecked()

BOOL PrintDialog::IsCollateChecked() const;

Beschreibung

Die Methode gibt zurück, ob die Box für zusammenhängende Kopien eingeschaltet ist. Die Einstellung im zugeordneten Drucker wird nicht automatisch geändert, damit die Applikation noch die Möglichkeit hat, die zusammenhängenden Kopien selber zu erzeugen.

Rückgabewert

BOOL	TRUE

Die Box für zusammenhängende Kopien ist eingeschaltet.

FALSE

Die Box für zusammenhängende Kopien ist ausgeschaltet.

Querverweise

Printer::SetCopyCount()

_______________


PrintDialog::Execute()

short PrintDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die Druck-Dialogbox. Nur wenn ein Drucker mit ChangePrinter() zugeordnet wurde, kann der Dialog gestartet werden. Da im Druck-Dialog auch verschiedene Einstellungen im Drucker geändert werden können, kann es vorkommen, daß die Anwendung vor dem Druck die Daten noch einmal formatieren muß. Dies ist der Fall, wenn der Druckertreiber oder die Daten im JobSetup geändert wurden.

Rückgabewert

short	TRUE

Der Dialog wurde durch Auswahl des OK-Buttons beendet, und die Applikation soll den Druckvorgang ausführen.

FALSE

Der Dialog wurde durch Auswahl des Cancel-Buttons beendet.

_______________


Printer

#define PAGEQUEUE_ALLPAGES   0xFFFF

#define PRINTER_OK               0

#define PRINTER_ABORT            1

#define PRINTER_OUTOFMEMORY      2

#define PRINTER_GENERALERROR     3

enum Quality	{ QUALITY_PROOF, QUALITY_DRAFT };

enum Orientation	{ ORIENTATION_PORTRAIT, ORIENTATION_LANDSCAPE };

enum Paper	{ PAPER_A3, PAPER_A4, PAPER_A5, PAPER_B4, PAPER_B5, PAPER_LETTER, PAPER_LEGAL, PAPER_TABLOID, PAPER_USER };

enum PrinterSupport	{ SUPPORT_SET_ORIENTATION, SUPPORT_SET_QUALITY, SUPPORT_SET_PAPERBIN };

struct JobSetup

{

USHORT	nLen;

GUITYPE	eGUIType;

char	cPrinterName[32];

char	cDeviceName[32];

char	cPortName[32];

char	cDriverName[32];

char	cDriverData[1];

};

class Printer : public OutputDevice

{

virtual void	Error();

virtual void	StartPrint();

virtual void	EndPrint();

virtual void	PrintPage();

public:

Printer();

Printer( const String& rPrinterName );

virtual	~Printer();

String	GetName() const;

String	GetDeviceName() const;

String	GetPortName() const;

String	GetDriverName() const;

BOOL	IsValid();

BOOL 	IsDefPrinter

BOOL	HasSupport( PrinterSupport eFeature,

            BOOL bInJob=FALSE );

BOOL	Setup();

USHORT	GetJobSetupSize() const;

BOOL	SetJobSetup( JobSetup* pSetup );

void	GetJobSetup( JobSetup* pSetup );

BOOL	SetCopyCount( USHORT nCount, BOOL bSorted=FALSE );

USHORT	GetCopyCount() const;

BOOL	IsSorted();

BOOL	SetQuality( Quality eQuality );

Quality	GetQuality() const;

BOOL	SetOrientation( Orientation );

Orientation	GetOrientation() const;

USHORT	GetPaperBinCount() const;

String	GetPaperBinName( USHORT nBin) const;

USHORT	GetPaperBin() const;

BOOL	SetPaperBin( USHORT nBin);

Paper	GetPaper() const;

Size	GetPaperSize() const;

Size	GetPaperSizePixel() const;

Point	GetPageOffset() const;

Point	GetPageOffsetPixel() const;

Size	GetOutputSizePixel() const;

void	SetPageQueueSize( USHORT nPages );

USHORT	GetPageQueueSize() const;

BOOL	StartJob( const String& rJobName );

BOOL	EndJob();

BOOL	AbortJob();

String	GetCurJobName() const;

USHORT	GetCurPage() const;

BOOL	IsJobActive() const;

BOOL	StartPage();

BOOL	EndPage();

Link	ChangeErrorHdl( const Link& rLink );

Link	GetErrorHdl() const;

USHORT	GetErrorCode() const;

Link	ChangeStartPrintHdl( const Link& rLink );

Link	GetStartPrintHdl() const;

Link	ChangeEndPrintHdl( const Link& rLink );

Link	GetEndPrintHdl() const;

BOOL	IsPrinting() const;

Link	ChangePrintPageHdl( const Link& rLink );

Link	GetPrintPageHdl() const;

USHORT	GetCurPrintPage() const;

BOOL	SetPrinterProps( const Printer* pPrinter );

};

Beschreibung

Die Klasse Printer ist von der Klasse OutputDevice abgeleitet und unterstützt dadurch alle Ausgabemethoden. Zusätzlich werden Methoden zur Einstellung von Druckerparametern, sowie zur Druckjob- und Seitensteuerung zur Verfügung gestellt.

Soll während der Ausgabe von längeren Dokumenten bereits in der Applikation weiter gearbeitet werden, kann ein Seitenpuffer in der Klasse Printer angegeben werden. Auf dem Printer ausgegebene Daten werden dabei zeitversetzt an den Druckertreiber weitergereicht. Die Klasse Printer enthält zusätzlich Handler, die bei Start, Ende und Seitenwechsel während der Ausgabe auf den Druckertreiber gerufen werden und zur Steuerung der Anzeige einer Dialogbox verwendet werden können.

Basisklassen

OutputDevice : Resource : LinkHdl

_______________


enum Quality

enum Quality	{ QUALITY_PROOF, QUALITY_DRAFT };

Beschreibung

Die Werte des enum Quality geben die Qualität des Ausdrucks an. Eine niedrige Qualität wird meist zu Entwurfszwecken gewählt, da hier die zum Ausdruck benötigte Zeit geringer ist.

QUALITY_PROOF	Höchste Qualität.

QUALITY_DRAFT	Entwurfsqualität, meist kürzere Druckzeit.

_______________


enum Orientation

enum Orientation	{ ORIENTATION_PORTRAIT, ORIENTATION_LANDSCAPE };

Beschreibung

Die Werte des enum Orientation geben die Orientierung des Papiers beim Ausdruck an.

ORIENTATION_PORTRAIT	Hochformat

ORIENTATION_LANDSCAPE	Querformat

_______________


enum Paper

enum Paper	{ PAPER_A3, PAPER_A4, PAPER_A5, PAPER_B4, PAPER_B5, PAPER_LETTER, PAPER_LEGAL, PAPER_TABLOID, PAPER_USER };

Beschreibung

Im enum Paper sind häufig verwendete Standardpapierformate definiert, die mit Hilfe des Setup-Dialoges eingestellt werden können. Eine Abfrage des aktuellen Papierformates ist mit Hilfe einer Methode der Klasse Printer möglich.

PAPER_A3	297x420	mm

PAPER_A4	210x297	mm

PAPER_A5	148x210	mm

PAPER_B4	250x354	mm

PAPER_B5	182x257	mm

PAPER_LETTER	8,5x11	inch

PAPER_LEGAL	8,5x14	inch

PAPER_TABLOID	11x17	inch

PAPER_USER	Benutzerdefiniertes Format

_______________


enum PrinterSuppor
enum PrinterSupport

enum PrinterSupport	{ SUPPORT_SET_ORIENTATION, SUPPORT_SET_QUALITY, SUPPORT_SET_PAPERBIN };

Beschreibung

Die Werte des enum PrinterSupport dienen als Parameter für die Methode Printer::HasSupport(). Es kann mit Hilfe dieser Methode ermittelt werden, ob eine Unterstützung für bestimmte Funktionalitäten vorhanden ist.

SUPPORT_SET_ORIENTATION	Wechsel der Ausgabeorientierung.

SUPPORT_SET_QUALITY	Wechsel der Ausgabequalität.

SUPPORT_SET_PAPERBIN	Wechsel des Papierschachtes.

Querverweise

Printer::HasSupport()

_______________


struct JobSetup

struct JobSetup
{
    USHORT       nLen;
    GUIType      eGUIType;
    char         cPrinterName[32];
    char         cDeviceName[32];
    char         cPortName[32];
    char         cDriverName[32];
    char         cDriverData[1];
};

Beschreibung

In der Struktur JobSetup werden alle Einstellungen des Setup-Dialoges eines Druckertreibers gespeichert. Das Datenformat der Treibereinstellungen kann vom Anwendungsprogrammierer nicht direkt eingesehen oder verändert werden. Der Inhalt kann lediglich von dem Druckertreiber verwendet werden, der die Instanz der Struktur gefüllt hat. Die ersten fünf Felder sind von StarView definiert und dienen der Information über den zugehörigen Druckertreiber.

USHORT nLen	Die aktuelle Länge der Struktur in Bytes.

GUIType eGUIType	Die grafische Benutzeroberfläche, auf der die Struktur gefüllt wurde. Eine Erläuterung des enum GUIType befindet sich in der Beschreibung der Klasse System.

char cPrinterName[32]	Der eindeutige Name des Druckers im System.

Die eindeutigen Druckernamen können mit Hilfe der Methode System::GetPrinterName( n ) abgefragt werden.

char cDeviceName[32]	Der Name des Druckertyps. Dieser Name dient der Unterscheidung einzelner Druckertypen, wenn ein Druckertreiber mehrere Druckertypen unterstützt.

Gültige Namen können mit Hilfe der Methode System::GetDeviceName( n ) abgefragt werden.

char cPortName[32]	Der Name des verwendeten Ports oder der Queue. Die Portnamen können mit Hilfe der Methode System::GetPortName( n ) abgefragt werden.

char cDriverName[32]	Der Name des zugehörigen Druckertreibers. Dieser Name zusammen mit der Angabe der grafischen Benutzeroberfläche entscheidet über die Verwendbarkeit einer Instanz der Struktur JobSetup in einer Instanz der Klasse Printer. Die Treibernamen können mit Hilfe der Methode System::GetDriverName( n ) abgefragt werden.

char cDriverData[1]	Treiberspezifische Daten. Die aktuelle Länge dieses Feldes ist von dem Druckertreiber abhängig, der die Struktur gefüllt hat.

Querverweise

System, Printer::GetJobSetupSize(), Printer::GetJobSetup(), Printer::SetJobSetup()

_______________


Printer::Error()

void Printer::Error();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn während der Ausgabe auf den Systemdrucker ein Fehler aufgetreten ist. Die Methode ruft den mit Hilfe von ChangeErrorHdl() eingestellten Handler. Bei Erstellung einer Ableitung der Klasser Printer kann diese Methode überladen werden.

Querverweise

Printer::ChangeErrorHdl(), Printer::GetErrorHdl()

_______________


Printer::StartPrint()

void Printer::StartPrint();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn die Ausgabe auf den Systemdrucker beginnt. Die Methode ruft den mit ChangeStartPrintHdl() eingestellten Handler. Bei Erstellung einer Ableitung der Klasse Printer kann diese Methode überladen werden.

Zwischen den Aufrufen von StartPrint() und EndPrint() liefert die Methode IsPrinting() TRUE zurück.

Querverweise

Printer::ChangeStartPrintHdl(), Printer::IsPrinting()

_______________


Printer::EndPrint()

void Printer::EndPrint();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn die Ausgabe auf den Systemdrucker beendet ist. Die Methode ruft den mit ChangeEndPrintHdl() eingestellten Handler. Bei Erstellung einer Ableitung der Klasse Printer kann diese Methode überladen werden.

Zwischen den Aufrufen von StartPrint() und EndPrint() liefert die Methode IsPrinting() TRUE zurück.

Querverweise

Printer::ChangeEndPrintHdl(), Printer::IsPrinting()

_______________


Printer::PrintPage()

void Printer::PrintPage();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn bei der Ausgabe auf den Systemdrucker ein Seitenwechsel erfolgt. Die Methode ruft den mit ChangeEndPrintHdl() eingestellten Handler. Bei Erstellung einer Ableitung der Klasse Printer kann diese Methode überladen werden.

Querverweise

Printer::ChangePrintPageHdl()

_______________


Printer::Printer()

Printer::Printer();

Beschreibung

Mit diesem Konstruktor wird eine Instanz der Klasse Printer erzeugt. Es wird eine Verbindung zum Default-Drucker des Systems hergestellt. Ist im System kein Default-Drucker spezifiziert, so wird ein Null-Drucker eingestellt.

_______________


Printer::Printer( const String& rPrinterName )
Printer::Printer()

Printer::Printer( const String& rPrinterName );

Beschreibung

Mit diesem Konstruktor wird eine Instanz der Klasse Printer erzeugt. Es wird eine Verbindung zu dem angegebenen Systemdrucker hergestellt. Gültige Werte für den Druckernamen können mit Hilfe der Klasse System ermittelt werden. Werden ungültige Werte übergeben, wird eine Verbindung zum Default-Drucker des Systems hergestellt.

Parameter

const String& rPrinterName	Der eindeutige Name des Druckers, zu dem eine Verbindung hergestellt werden soll. Eine Liste der Namen aller im System vorhandenen Drucker kann mit Hilfe der Klasse System ermittelt werden.

Querverweise

Preview, System

_______________


Printer::~Printer()

virtual Printer::~Printer();

Beschreibung

Destruktor der Klasse Printer. Mit dieser Methode wird eine Instanz der Klasse Printer zerstört. Ist zu diesem Zeitpunkt noch ein Druckjob aktiv, wird dieser mit der Methode AbortJob() abgebrochen.

Querverweise

Printer::AbortJob()

_______________


Printer::GetName()

String Printer::GetName() const;

Beschreibung

Diese Methode liefert die aktuelle Einstellung für den eindeutigen Druckernamen.

Rückgabewert

String	Der Name des Druckers. Bei Rückgabe eines leeren Strings ist kein Drucker ausgewählt.

Querverweise

Printer::GetDriverName(), Printer::GetDeviceName(), Printer::GetPortName()

_______________


Printer::GetDeviceName()

String Printer::GetDeviceName() const;

Beschreibung

Diese Methode liefert die aktuelle Einstellung für den Namen des Druckertyps.

Rückgabewert

String	Der Name des Druckertyps. Bei Rückgabe eines leeren Strings ist kein Drucker ausgewählt.

_______________


Printer::GetPortName()

String Printer::GetPortName() const;

Beschreibung

Diese Methode liefert die aktuelle Einstellung für den Namen des Ports oder der Queue.

Rückgabewert

String	Der Name des Ports oder der Queue. Bei Rückgabe eines leeren Strings ist kein Drucker ausgewählt.

Ausnahmen

Beim Apple Macintosh liefert diese Methode grundsätzlich einen leeren String zurück.

_______________


Printer::GetDriverName()

String Printer::GetDriverName() const;

Beschreibung

Diese Methode liefert die aktuelle Einstellung für den Namen des Druckertreibers.

Rückgabewert

String	Der Name des Druckertreibers. Bei Rückgabe eines leeren Strings ist kein Drucker ausgewählt.

Ausnahmen

Beim Apple Macintosh liefert diese Methode grundsätzlich einen leeren String zurück.

_______________


Printer::IsValid()

BOOL Printer::IsValid();

Beschreibung

Diese Methode überprüft, ob die Printer-Instanz gültig ist.

Rückgabewert

BOOL	TRUE

Die Printer-Instanz ist gültig, d.h. der Drucker, der durch den Druckernamen, den Treibernamen und den Ausgabeport spezifiziert wird, ist im System vorhanden.

FALSE

Die Printer-Instanz ist nicht gültig, d.h. der Drucker ist nicht im System vorhanden.

Querverweise

Printer::GetName(), Printer::GetDeviceName(), Printer::GetDriverName(), Printer::GetPortName()

_______________


Printer::IsDefPrinter()

BOOL Printer::IsDefPrinter()const;

Beschreibung

Diese Methode überprüft, ob die Printer Instanz dem Default Printer des Systems entspricht. Das ist immer dann der Fall, wenn das Objekt mit dem Default Konstruktor erzeugt wurde.

Rückgabewert

BOOL	TRUE

Die Instanz entspricht dem Default Printer.

FALSE

Die Instanz entspricht nicht dem Default Printer des Systems.

Querverweise

Systems::GetDefaultPrinterName()

_______________


Printer::HasSupport( PrinterSupport eFeature )

Printer::HasSupport()

BOOL Printer::HasSupport( PrinterSupport eFeature,

                          BOOL bInJob=FALSE );

Beschreibung

Da nicht alle Druckertreiber alle im Interface angebotenen Funktionalitäten unterstützen, kann mit Hilfe dieser Methode ermittelt werden, welche Funktionen von einem bestimmten Objekt der Klasse Printer ausgeführt werden können. Zusätzlich kann durch Angabe von TRUE beim Parameter bInJob ermittelt werden, ob die Funktionalität auch innerhalb eines laufenden Druckjobs zur Verfügung steht (z.B. Wechsel des Papierschachtes zwischen der ersten und zweiten Seite des Druckjobs).

Parameter

PrinterSupport eFeature	Die Funktionalität, für die eine Unterstützung ermittelt werden soll.

SUPPORT_SET_ORIENTATION

Wechsel der Ausgabeorientierung (Portrait, Landscape).

SUPPORT_SET_QUALITY

Wechsel der Ausgabequalität (Draft, Proof)

SUPPORT_SET_PAPERBIN

Wechsel des Papierschachtes.

BOOL bInJob	TRUE

Ermittelt, ob die Funktionalität auch innerhalb eines Druckjobs zur Verfügung steht.

FALSE

Ermittelt, ob die Funktionalität generell zur Verfügung steht. Dies ist die Default-Einstellung.

Rückgabewert

BOOL	TRUE

Die Funktionalität wird unterstützt.

FALSE

Die Funktionalität wird nicht unterstützt.

Querverweise

PrinterSupport, Printer::SetOrientation(), Printer::SetQuality(), Printer::SetPaperBin()

_______________


Printer::Setup()

BOOL Printer::Setup();

Beschreibung

Mit dieser Methode wird der Setup-Dialog des aktuellen Druckertreibers aufgerufen. Der Setup-Dialog ist system- und druckerabhängig.

Diese Methode kann nur ausgeführt werden, wenn kein Druckjob aktiv ist. Das ist immer der Fall, wenn die Methode IsJobActive() den Wert TRUE zurückliefert.

Rückgabewert

BOOL	TRUE

Die Einstellungen des Druckertreibers wurden geändert.

FALSE

Die Einstellungen des Druckertreibers wurden nicht geändert, da der Benutzer den Setup-Dialog abgebrochen hat oder weil ein Fehler aufgetreten ist.

Anmerkungen

Diese Methode ist modal, d.h. sie kehrt erst zurück, wenn der Benutzer den Dialog verlassen hat.

Querverweise

Printer::IsJobActive() Printer::IsPrinting()

_______________


Printer::GetJobSetupSize()

USHORT Printer::GetJobSetupSize() const;

Beschreibung

Diese Methode liefert die Größe der Struktur JobSetup zurück, die zur Speicherung der Setupdaten verwendet wird. Die aktuelle Länge dieser Struktur hängt vom eingestellten Druckertreiber und dem Fenstersystem ab.

Rückgabewert

USHORT	Die Länge der Struktur JobSetup.

Querverweise

struct JobSetup, Printer::GetJobSetup()

_______________


Printer::SetJobSetup( JobSetup* pSetup )
Printer::SetJobSetup()

BOOL Printer::SetJobSetup( JobSetup* pSetup ) const;

Beschreibung

Diese Methode setzt die Einstellungen des Druckertreibers auf die in der übergebenen Struktur angegebenen Werte. Der in der Struktur angegebene Druckertreiber muß mit dem aktuellen Treiber der Printer-Instanz übereinstimmen. Die Methode kann nur aufgerufen werden, wenn kein Druckjob aktiv ist.

Parameter

JobSetup* pSetup	Ein Zeiger auf eine Struktur JobSetup.

Die Methode liest den Inhalt der Struktur und setzt die Einstellungen des Druckertreibers.

Rückgabewert

BOOL	TRUE

Die Einstellungen des Druckertreibers wurden erfolgreich gesetzt.

FALSE

Die übergebenen Daten waren inkonsistent oder für den aktuellen Druckertreiber nicht brauchbar.

Beispiel

...

Printer   aPrinter;

JobSetup* pSetupData;

...

// Beispiel: Lesen der Treibereinstellungen aus einer

// Dokumentendatei

...

// Setzen der Einstellungen des Druckertreibers auf die in der

// Struktur pSetupData angegebenen Werte, wenn die Struktur für

// unsere Printer-Instanz geeignet ist

if((pSetupData->eGUIType == System::GetGUIType) &&

(String( pSetupData->cDriverName ) == aPrinter.GetDriverName()))

aPrinter.SetJobSetup( pSetupData, pSetupData->nLen );

...

Querverweise

struct JobSetup, Printer::GetJobSetupSize(), Printer::GetJobSetup(), Printer::IsJobActive()

_______________


Printer::GetJobSetup( JobSetup* pSetup )
Printer::GetJobSetup()

BOOL Printer::GetJobSetup( JobSetup* pSetup ) const;

Beschreibung

Diese Methode füllt eine Struktur JobSetup mit den atuellen Einstellungen des Druckertreibers.

Parameter

JobSetup* pSetup	Ein Zeiger auf eine Struktur JobSetup.

Die Methode füllt die Struktur mit den Einstellungen des Druckertreibers.

Rückgabewert

BOOL	TRUE

Die übergebene Struktur wurde erfolgreich gefüllt.

FALSE

Die angegebene Länge der Struktur ist zu klein, oder es ist kein Drucker ausgewählt.

Beispiel

...

Printer   aPrinter;

JobSetup* pSetupData;

USHORT    nLen;

...

// Ermitteln der benötigten Größe und Füllen der Struktur

nLen = aPrinter.GetJobSetupSize();

pJobSetup = (JobSetup*)new char[ nLen ];

aPrinter.GetJobSetup( pJobSetup, nLen );

// Beispiel: Abspeichern der Struktur in eine Dokumentendatei

...

Querverweise

struct JobSetup, Printer::GetJobSetupSize()

_______________


Printer::SetCopyCount( USHORT nCount, BOOL bSorted = FALSE )
Printer::SetCopyCount()

BOOL Printer::SetCopyCount( USHORT nCount, BOOL bSorted = FALSE );

Beschreibung

Mit Hilfe dieser Methode kann die Anzahl der Kopien je Druckseite eingestellt werden. Diese Methode kann nur aufgerufen werden, wenn kein Druckjob aktiv ist.

Parameter

USHORT nCount	Die gewünschte Anzahl der Kopien je Druckseite.

BOOL bSorted	FALSE

Es werden immer alle Exemplare einer Seite nacheinander gedruckt.

Dies ist der voreingestellte Wert.

TRUE

Es wird die gewünschte Anzahl von Exemplaren des Dokumentes gedruckt.

Diese Option kann nur verwendet werden, wenn vorher die Größe des Seitenpuffers mit Hilfe der Methode SetPageQueueSize() auf den Wert

PAGEQUEUE_ALLPAGES eingestellt wurde.

Rückgabewert

BOOL	TRUE

Die Kopienzahl wurde erfolgreich eingestellt.

FALSE

Die Kopienzahl konnte nicht eingestellt werden.

Dies ist auch dann der Fall, wenn bSorted = TRUE angegeben wurde und die Größe des Seitenpuffers nicht auf PAGEQUEUE_ALLPAGES eingestellt ist.

Querverweise

Printer::GetCopyCount(), Printer::SetPageQueueSize(), Printer::IsJobActive()

_______________


Printer::GetCopyCount()

USHORT Printer::GetCopyCount() const;

Beschreibung

Diese Methode gibt die aktuelle Anzahl von Kopien je Druckseite zurück.

Rückgabewert

USHORT	Die eingestellte Kopienanzahl.

_______________


Printer::IsSorted()

BOOL Printer::IsSorted();

Beschreibung

Die Methode ermittelt, ob das gesamte Dokument jeweils vollständig mit der gewünschten Anzahl von Exemplaren gedruckt wird oder ob immer alle Exemplare einer Seite nacheinander gedruckt werden.

Rückgabewert

BOOL	TRUE

Es wird die gewünschte Anzahl von Exemplaren des Dokumentes gedruckt.

FALSE

Es werden immer alle Exemplare einer Seite nacheinander gedruckt.

_______________


Printer::SetQuality( Quality eQuality )
Printer::SetQuality()

BOOL Printer::SetQuality( Quality eQuality );

Beschreibung

Mit Hilfe dieser Methode wird die Qualität des Ausdrucks eingestellt.  Diese Methode kann nur aufgerufen werden, wenn keine Seite aktiv ist (außerhalb von StartPage() und EndPage()).

Parameter

Quality eQuality	Ein Wert aus dem enum Quality.

Rückgabewert

BOOL	TRUE

Die Einstellung der Druckqualität wurde erfolgreich vorgenommen.

FALSE

Die Einstellung konnte nicht geändert werden.

Querverweise

Quality, Printer::IsJobActive()

_______________


Printer::GetQuality()

Quality Printer::GetQuality() const;

Beschreibung

Diese Methode gibt die aktuelle Druckqualität zurück.

Rückgabewert

Quality	Die eingestellte Druckqualität.

Querverweise

Quality

_______________


Printer::SetOrientation( Orientation eOrient )
Printer::SetOrientation()

BOOL Printer::SetOrientation( Orientation eOrient );

Beschreibung

Mit Hilfe dieser Methode wird die Orientierung des Papiers beim Ausdruck eingestellt.  Diese Methode kann nur aufgerufen werden, wenn keine Seite aktiv ist (außerhalb von StartPage() und EndPage()).

Parameter

Orientation eOrient	Ein Wert aus dem enum Orientation.

Rückgabewert

BOOL	TRUE

Die Einstellung der Papierorientierung wurde erfolgreich vorgenommen.

FALSE

Die Einstellung konnte nicht geändert werden.

Querverweise

Orientation, Printer::IsJobActive()

_______________


Printer::GetOrientation()

Orientation Printer::GetOrientation() const;

Beschreibung

Die Methode ermittelt die Orientierung des Papiers beim Ausdruck.

Rückgabewert

Orientation	Ein Wert aus dem enum Orientation.

Querverweise

Orientation

_______________


Printer::GetPaperBinCount()

USHORT Printer::GetPaperBinCount();

Beschreibung

Die Methode ermittelt die Anzahl der zur Verfügung stehenden Papierschächte.

Rückgabewert

USHORT	Die Anzahl der zur Verfügung stehenden Papierschächte.

Querverweise

Printer::GetPaperBinName()

_______________


Printer::GetPaperBinName( USHORT nBin )
Printer::GetPaperBinName()

String Printer::GetPaperBinName( USHORT nBin );

Beschreibung

Die Methode ermittelt den Namen des Papierschachts mit der angegebenen Nummer.

Parameter

USHORT nBin	Die Nummer des zu ermittelnden Papierschachts. Der höchste Wert für nBin ist GetPaperBinCount() - 1.

Rückgabewert

String	Der Name des gesuchten Papierschachts.

Querverweise

Printer::GetPaperBinCount()

_______________


Printer::SetPaperBin( USHORT nBin )
Printer::SetPaperBin()

BOOL Printer::SetPaperBin( USHORT nBin );

Beschreibung

Mit Hilfe dieser Methode wird der Papierschacht für den Ausdruck eingestellt. Diese Methode kann nur aufgerufen werden, wenn keine Seite aktiv ist (außerhalb von StartPage() und EndPage()).

Parameter

USHORT nBin	Die Nummer des Papierschachts.

Rückgabewert

BOOL	TRUE

Die Einstellung des Papierschachts wurde erfolgreich vorgenommen.

FALSE

Die Einstellung konnte nicht geändert werden.

Querverweise

Printer::IsJobActive()

_______________


Printer::GetPaperBin()

USHORT Printer::GetPaperBin() const;

Beschreibung

Mit Hilfe dieser Methode wird der Papierschacht für den Ausdruck ermittelt.

Rückgabewert

USHORT	Die Nummer des Papierschachts.

_______________


Printer::GetPaper()

Paper Printer::GetPaper() const;

Beschreibung

Diese Methode liefert die aktuelle Papiereinstellung zurück.

Rückgabewert

Paper	Ein Wert des enum Paper.

Querverweise

Paper

_______________


Printer::GetPaperSize()

Size Printer::GetPaperSize() const;

Beschreibung

Diese Methode liefert die aktuelle Papiergröße in logischen Einheiten zurück.

Rückgabewert

Size	Die Papiergröße in logischen Einheiten.

_______________


Printer::GetPaperSizePixel()

Size Printer::GetPaperSizePixel() const;

Beschreibung

Diese Methode liefert die aktuelle Papiergröße in Pixeln zurück.

Rückgabewert

Size	Die Papiergröße in Pixeln.

_______________


Printer::GetPageOffset()

Point Printer::GetPageOffset() const;

Beschreibung

Diese Methode liefert den Offset der linken oberen Ecke des bedruckbaren Bereiches auf der Seite in logischen Einheiten zurück.

Rückgabewert

Point	Der Offset der linken oberen Ecke des bedruckbaren Bereiches der Seite in logischen Einheiten.

_______________


Printer::GetPageOffsetPixel()

Point Printer::GetPageOffsetPixel() const;

Beschreibung

Diese Methode liefert den Offset der linken oberen Ecke des bedruckbaren Bereiches auf der Seite in Pixeln zurück.

Rückgabewert

Point	Der Offset der linken oberen Ecke des bedruckbaren Bereiches der Seite in Pixeln.

_______________


Printer::GetOutputSizePixel()

Size Printer::GetOutputSizePixel() const;

Beschreibung

Diese Methode liefert die Größe des Ausgabebereichs in Pixeln zurück.

Rückgabewert

Size	Die Größe des Ausgabebereichs in Pixeln.

_______________


Printer::SetPageQueueSize( USHORT nPages )
Printer::SetPageQueueSize()

void Printer::SetPageQueueSize( USHORT nPages );

Beschreibung

Diese Methode setzt die Größe des Seitenpuffers. Die Größe gibt an, wie viele Seiten aufgezeichnet werden können, bevor das eigentliche Drucken im Hintergrund beginnt.

Das Aufzeichnen geschieht seitenweise in StarView MetaFiles, die später auf den Systemdrucker ausgegeben werden.

Parameter

USHORT nPages	Die Anzahl der Seiten, die in den Seitenpuffer aufgezeichnet werden können, bevor die Ausgabe auf den Systemdrucker beginnt. Der Wert 0 schaltet den Seitenpuffer aus. Die Ausgaben erfolgen dann direkt auf den Systemdrucker.

Bei Angabe des Wertes PAGEQUEUE_ALLPAGES werden alle Seiten eines Druckjobs in den Seitenpuffer aufgezeichnet. Die Ausgabe auf den Systemdrucker beginnt dann nach dem Aufruf von EndJob().

Querverweise

Printer::GetPageQueueSize()

_______________


Printer::GetPageQueueSize()

USHORT Printer::GetPageQueueSize() const;

Beschreibung

Diese Methode gibt die Anzahl der Seiten zurück, die in den Seitenpuffer aufgezeichnet werden können, bevor die Ausgabe auf den Systemdrucker beginnt.

Rückgabewerte

USHORT	Die Anzahl der Seiten, die im Seitenpuffer aufgezeichnet werden können.

Querverweise

Printer::SetPageQueueSize()

_______________


Printer::StartJob( const String& rJobName )
Printer::StartJob()

BOOL Printer::StartJob( const String& rJobName );

Beschreibung

Mit dieser Methode wird ein neuer Druckauftrag gestartet. Als Parameter wird der Name des Druckauftrags übergeben. Ist der vorige Druckauftrag noch nicht beendet worden, ist der Aufruf wirkungslos. Dies ist immer dann der Fall, wenn die Methode IsPrinting() den Wert TRUE zurückliefert.

Parameter

const String& rJobName	Der Name des Druckjobs.

Rückgabewert

BOOL	TRUE

Der Druckjob wurde erfolgreich gestartet.

FALSE

Der Druckjob konnte nicht gestartet werden. Dies ist auch der Fall, wenn bereits ein Druckjob aktiv oder kein Drucker ausgewählt ist.

Querverweise

Printer::EndJob(), Printer::AbortJob(), Printer::IsJobActive()

_______________


Printer::EndJob()

BOOL Printer::EndJob();

Beschreibung

Mit dieser Methode wird ein Druckauftrag beendet. Ist die letzte Seite des Druckauftrags nicht mit EndPage() beendet worden, so wird diese Methode automatisch aufgerufen. Ist kein Druckjob aktiv, ist der Aufruf dieser Methode wirkungslos. Nach Aufruf der Methode EndPage() liefert die Methode IsJobActive() FALSE zurück.

Rückgabewert

BOOL	TRUE

Der Druckjob wurde erfolgreich beendet.

FALSE

Der Druckjob konnte nicht beendet werden. Dies ist auch der Fall, wenn kein Druckjob aktiv ist.

Querverweise

Printer::StartJob(), Printer::AbortJob(), Printer::IsJobActive()

_______________


Printer::AbortJob()

BOOL Printer::AbortJob();

Beschreibung

Mit dieser Methode wird der aktuelle Druckauftrag abgebrochen.

Rückgabewert

BOOL	TRUE

Der Druckjob wurde erfolgreich abgebrochen.

FALSE

Der Druckjob konnte nicht abgebrochen werden. Dies ist auch der Fall, wenn kein Druckjob aktiv ist.

Querverweise

Printer::StartJob(), Printer::EndJob(), Printer::IsJobActive()

_______________


Printer::GetCurJobName()

String Printer::GetCurJobName() const;

Beschreibung

Diese Methode gibt den Namen des aktiven Druckjobs zurück.

Rückgabewert

String	Der Name des Druckjobs. Ist kein Druckjob aktiv, wird ein leerer String zurückgegeben.

Querverweise

Printer::StartJob()

_______________


Printer::GetCurPage()

USHORT Printer::GetCurPage() const;

Beschreibung

Diese Methode gibt die Nummer der aktuellen Seite im Druckjob zurück. Dies ist nicht die logische Seitenummer innerhalb des Dokumentes. Die Numerierung der Seiten innerhalb eines Druckjobs beginnt mit dem Wert 1.

Rückgabewert

USHORT	Die aktuelle Seite innerhalb des Druckjobs.

Ist kein Druckjob aktiv, wird 0 zurückgegeben.

Querverweise

Printer::StartJob(), Printer::EndJob(), Printer::IsJobActive()

_______________


Printer::IsJobActive()

BOOL Printer::IsJobActive() const;

Beschreibung

Diese Methode gibt zurück, ob ein Druckjob aktiv ist.

Rückgabewert

BOOL	TRUE

Es ist ein Druckjob aktiv. Ein Druckjob ist immer dann aktiv, wenn StartJob() und noch nicht EndJob() oder AbortJob() aufgerufen wurden.

FALSE

Es ist kein Druckjob aktiv.

Querverweise

Printer::StartJ(), Printer::EndJob()

_______________


Printer::StartPage()

BOOL Printer::StartPage();

Beschreibung

Mit dieser Methode wird eine neue Seite begonnen. Alle nachfolgenden Ausgabeoperationen werden auf dieser neuen Seite ausgeführt. Diese Methode muß vor der Ausgabe einer Seite nach dem Aufruf der Methode StartJob() aufgerufen werden.

Rückgabewert

BOOL	TRUE

Das Öffnen der neuen Seite wurde erfolgreich durchgeführt.

FALSE

Das Öffnen der neuen Seite konnte nicht ausgeführt werden. Dies ist auch der Fall, wenn kein Druckjob aktiv ist.

Querverweise

Printer::EndPage()

_______________


Printer::EndPage()

BOOL Printer::EndPage();

Beschreibung

Mit dieser Methode wird die aktuelle Seite beendet. Diese Methode muß nach der Ausgabe einer Seite vor dem Aufruf der Methode EndJob() aufgerufen werden.

Rückgabewert

BOOL	TRUE

Die Seite wurde erfolgreich abgeschlossen.

FALSE

Die Seiten konnte nicht abgeschlossen werden. Dies ist auch der Fall, wenn kein Druckjob aktiv ist.

Querverweise

Printer::StartPage()

_______________


Printer::ChangeErrorHdl( const Link& rLink )
Printer::ChangeErrorHdl()

Link Printer::ChangeErrorHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen Error-Handler für die Fehlerbehandlung während des Druckens.

Parameter

const Link& rLink	Ein Link auf den neuen Error-Handler. Als Parameter erhält der Error-Handler einen Zeiger auf den Printer.

Prototyp eines Handlers:

void MyClass::PrinterErrHdl( Printer* pPrn );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link auf den vorher gesetzten Error-Handler.

Querverweise

Link

_______________


Printer::GetErrorHdl()

Link Printer::GetErrorHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den aktuellen Error-Handler zurück.

Rückgabewert

Link	Ein Link auf den aktuellen Error-Handler.

_______________


Printer::GetErrorCode()

USHORT Printer::GetErrorCode() const;

Beschreibung

Diese Methode wird vom Error-Handler der Applikation aufgerufen und gibt den Fehlercode des beim Drucken aufgetretenen Fehlers zurück. Wird diese Methode außerhalb des Error-Handlers aufgerufen, so wird immer 0 zurückgegeben.

Rückgabewert

USHORT	Der Code des aufgetretenen Fehlers. Beim Aufruf außerhalb des Error-Handlers wird immer 0 zurückgegeben.

_______________


Printer::ChangeStartPrintHdl( const Link& rLink )
Printer::ChangeStartPrintHdl()

Link Printer::ChangeStartPrintHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen StartPrint-Handler, der von StarView gerufen wird, sobald die Ausgabe eines Druckjobs auf dem Systemdrucker gestartet wird. Nach dem Aufruf des StartPrint-Handlers liefert die Methode IsPrinting() den Wert TRUE. Der Handleraufruf kann zur Steuerung einer Druck-Dialogbox verwendet werden.

Parameter

const Link& rLink	Ein Link auf den neuen StartPrint-Handler. Als Parameter erhält der StartPrint-Handler einen Zeiger auf den Printer.

Prototyp eines Handlers:

void MyClass::PrinterStartPrintHdl( Printer* pPrn );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link auf den vorher gesetzten StartPrint-Handler.

Querverweise

Printer::GetStartPrintHdl(), Printer::ChangeEndPrintHdl(), Link

_______________


Printer::GetStartPrintHdl()

Link Printer::GetStartPrintHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den aktuellen StartPrint-Handler zurück.

Rückgabewert

Link	Ein Link auf den aktuellen StartPrint-Handler.

Querverweise

Printer::ChangeStartPrintHdl()

_______________


Printer::IsPrinting()

BOOL Printer::IsPrinting() const;

Beschreibung

Diese Methode gibt an, ob zur Zeit ein Druckjob auf dem Systemdrucker ausgegeben wird.

Rückgabewert

BOOL	TRUE

Es wird zur Zeit ein Druckjob auf dem Systemdrucker ausgegeben.

FALSE

Es wird zur Zeit kein Druckjob auf dem Systemdrucker ausgegeben.

Querverweise

Printer::ChangeStartPrintHdl(), Printer::ChangeEndPrintHdl()

_______________


Printer::ChangeEndPrintHdl( const Link& rLink )
Printer::ChangeEndPrintHdl()

Link Printer::ChangeEndPrintHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen EndPrint-Handler, der von StarView gerufen wird, sobald die Ausgabe eines Druckjobs auf dem Systemdrucker beendet wird. Nach dem Aufruf des EndPrint-Handlers liefert die Methode IsPrinting() den Wert FALSE. Der Handleraufruf kann zur Steuerung einer Druck-Dialogbox verwendet werden.

Parameter

const Link& rLink	Ein Link auf den neuen EndPrint-Handler. Als Parameter erhält der EndPrint-Handler einen Zeiger auf den Printer.

Prototyp eines Handlers:

void MyClass::PrinterEndPrintHdl( Printer* pPrn );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link auf den vorher gesetzten EndPrint-Handler.

Querverweise

Printer::ChangeStartPrintHdl(), Printer::GetEndPrintHdl(), Link

_______________


Printer::GetEndPrintHdl()

Link Printer::GetEndPrintHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den aktuellen EndPrint-Handler zurück.

Rückgabewert

Link	Ein Link auf den aktuellen EndPrint-Handler.

Querverweise

Printer::ChangeEndPrintHdl()

_______________


Printer::ChangePrintPageHdl( const Link& rLink )
Printer::ChangePrintPageHdl()

Link Printer::ChangePrintPageHdl( const Link& rLink );

Beschreibung

Diese Methode setzt einen neuen PrintPage-Handler, der von StarView gerufen wird, sobald während der Ausgabe eines Druckjobs auf dem Systemdrucker ein Seitenwechsel erfolgt. Der Handleraufruf kann zur Steuerung der Seitenanzeige einer Druck-Dialogbox verwendet werden.

Parameter

const Link& rLink	Ein Link auf den neuen PrintPage-Handler. Als Parameter erhält der PrintPage-Handler einen Zeiger auf den Printer.

Prototyp eines Handlers:

void MyClass::PrintPageHdl( Printer* pPrn );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link auf den vorher gesetzten PrintPage-Handler.

Querverweise

Printer::GetCurPrintPage(), Link

_______________


Printer::GetPrintPageHdl()

Link Printer::GetPrintPageHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den aktuellen PrintPage-Handler zurück.

Rückgabewert

Link	Ein Link auf den aktuellen PrintPage-Handler.

Querverweise

Printer::ChangePrintPageHdl()

_______________


Printer::GetCurPrintPage()

USHORT Printer::GetCurPrintPage() const;

Beschreibung

Diese Methode liefert die Nummer der Seite innerhalb des Druckjobs zurück, die gerade auf den Systemdrucker ausgegeben wird. Dies ist nicht die Seitennummer innerhalb des Dokuments. Diese Methode kann beispielsweise innerhalb des PrintPage-Handlers dazu verwendet werden, die aktuelle Seitennummer der Ausgabe auf den Systemdrucker zu ermitteln.

Rückgabewert

USHORT	Die Nummer der Seite, die gerade auf den Systemdrucker ausgegeben wird. Wird gerade kein Druckjob auf den Systemdrucker ausgegeben, liefert die Methode 0 zurück.

Querverweise

Printer::ChangePrintPageHdl()

_______________


Printer::SetPrinterProps()

BOOL Printer::SetPrinterProps( const Printer* pPrinter );

Beschreibung

Diese Methode übernimmt Eigenschaften des übergebenen Printers in das Objekt.

Im Gegensatz zu einem Zuweisungsoperator werdennicht die Daten und der Zustand der Basisklassen übernommen. Folgende Eigenschaften werden kopiert:

- PrinterName

- DriverName

- DeviceName

- PortName

- Einstellungen im JobSetup (Papierlage, Papierschacht etc.)

Parameter

const Printer* pPrinter	Pointer auf die Printer Instanz, von der die Eigenschaften übernommen werden sollen.

Rückgabewert

BOOL	TRUE

Die Eigenschaften konnten übernommen werden.

FALSE

Die Eigenschaften konnten nicht übernommen werden.

Querverweise

_______________


PushButton

class PushButton : public Button

{

public:

PushButton( Window* pParent, WinBits nWinStyle = 0 );

PushButton( Window* pParent, const ResId& rResId );

};

Beschreibung

Die Klasse PushButton wird eingesetzt, wenn über ein Control eine Aktion ausgelöst werden soll. Wenn der PushButton betätigt wird, wird dazu von StarView der Click-Handler der Klasse Button gerufen.

Basisklassen

Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


PushButton::PushButton( Window* pParent, WinBits nWinStyle = 0 )
PushButton::PushButton()

PushButton::PushButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse PushButton.

Parameter

Window* pParent	Der Parent des PushButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_DEFBUTTON

Bei dem Button handelt es sich um den Default-PushButton, der z.B. durch die Eingabetaste aktiviert wird. Bei PushButtons, die den gleichen Parent besitzen, darf nur bei einem PushButton dieses Stylebit gesetzt werden.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


PushButton::PushButton( Window* pParent, const ResId& rResId )
PushButton::PushButton()

PushButton::PushButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse PushButton.

Parameter

Window* pParent	Der Parent des PushButtons.

const ResId& rResId	Die ID des PushButtons in der Resource.

Querverweise

Resource

_______________


QueryBox

class QueryBox : public MessBox

{

public:

QueryBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

QueryBox( Window* pParent, const ResId& rResId );

}

Beschreibung

Die Klasse QueryBox ist von der Klasse MessBox abgeleitet. Die QueryBox enthält je nach Basisfenstersystem ein bestimmtes Icon (z.B. ein "?") sowie einen frei definierbaren Text. Der Titel ist fest vorgegeben und enthält den Namen des Applikationsfensters. Die Eingabe-Buttons sind über Stylebits frei wählbar.

Basisklassen

MessBox : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Icon

_______________


QueryBox::QueryBox( Window* pParent, WinBits nWinStyle, const String& rMessage )
QueryBox::QueryBox()

QueryBox::QueryBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

Beschreibung

Konstruktor der Klasse QueryBox. Als Parameter werden ein Zeiger auf den Parent und der Ausgabetext übergeben. Durch den Konstruktor wird die QueryBox erzeugt, aber noch nicht angezeigt. Dies geschieht erst durch die Methode MessBox::Execute().

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Folgende Stylebits sind möglich:

WB_SYSMODAL

Die QueryBox ist systemmodal.

WB_OK

Button OK.

WB_OK_CANCEL

Button OK und Cancel.

WB_YES_NO

Button Yes und No.

WB_YES_NO_CANCEL

Button Yes, No und Cancel.

WB_RETRY_CANCEL

Button Retry und Cancel.

(Es sind keine Kombinationen zulässig)

WB_DEF_OK

Der OK-Button ist der Default-Button.

WB_DEF_CANCEL

Der CANCEL-Button ist der Default-Button.

WB_DEF_YES

Der YES-Button ist der Default-Button.

WB_DEF_NO

Der NO-Button ist der Default-Button.

WB_DEF_RETRY

Der RETRY-Button ist der Default-Button.

(Es sind keine Default-Kombinationen zulässig)

const String& rMessage	Dieser Text wird in der QueryBox angezeigt.

Querverweise

MessBox, MessBox::Execute()

_______________


QueryBox::QueryBox( Window* pParent, const ResId& rResId )
QueryBox::QueryBox()

QueryBox::QueryBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse QueryBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource, MessBox::Execute()

_______________


Queue

#define QUEUE_ENTRY_NOTFOUND  CONTAINER_ENTRY_NOTFOUND

class Queue : private Container

{

public:

Queue( USHORT nInitSize = 16, USHORT nReSize = 16 );

Queue( const Queue& rQueue );

~Queue();

void	Put( void* p );

void*	Get();

void	Clear();

ULONG	Count() const;

void*	GetObject( ULONG nPos ) const;

ULONG	GetPos( const void* p ) const;

Queue&	operator =( const Queue& rQueue );

BOOL	operator ==( const Queue& rQueue ) const;

BOOL	operator !=( const Queue& rQueue ) const;

};

Beschreibung

Die Klasse Queue stellt die Basisfunktionalität einer Queue zur Verfügung. Da nur Zeiger verwaltet werden, eignet sich die Klasse für die Speicherung von beliebigen Objekten. Dabei werden nicht die Daten kopiert oder gelöscht, auf die die Zeiger zeigen. Für das Speichern von Zeigern eines bestimmten Typs kann das DECLARE-Makro verwendet werden.

Die Queue ist nach dem FiFo-Prinzip organisiert, das heißt, daß der zuerst hinzugefügte Zeiger auch als erster gelesen wird. Dieser Mechanismus kann nicht manipuliert werden, jedoch ist es möglich, zu jedem Zeitpunkt auf alle Zeiger zuzugreifen.

Anmerkungen

Es sollten keine NULL-Zeiger übergeben oder gespeichert werden. Andernfalls ist es nicht möglich, bei den Methoden, die einen Zeiger zurückgeben, zu unterscheiden, ob es der gespeicherte Zeiger oder kein gültiger Zeiger ist.

Basisklassen

Container

_______________


DECLARE_QUEUE( ClassName, Type )
DECLARE_QUEUE()

DECLARE_QUEUE( ClassName, Type )

Beschreibung

Die Klasse Queue speichert ausschließlich typenlose Zeiger (void*). Soll innerhalb einer Applikation eine Queue erzeugt werden, die nur Zeiger eines bestimmten Typs verarbeitet, so muß eine Ableitung der Klasse Queue erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht, wobei darauf geachtet werden muß, daß der übergebene Typ ein Zeiger ist, wenn eine Datenstruktur größer als sizeof(void*) gespeichert werden soll. Dieses Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den die Queue verwalten soll.

Beispiel

// Es wird mit Hilfe des Makros DECLARE_QUEUE() eine

// Ableitung der Klasse Queue erzeugt, die lediglich Zeiger auf

// Instanzen der Klasse MyStruct verarbeitet.

struct MyStruct

{

...

};

DECLARE_QUEUE( MyQueue, MyStruct* );

...

MyQueue aQueue( 100, 0 );

aQueue.Put( new MyStruct(...) );

...

_______________


Queue::Queue( USHORT nInitSize = 16, USHORT nReSize = 16 )
Queue::Queue()

Queue::Queue( USHORT nInitSize = 16, USHORT nReSize = 16 );

Beschreibung

Konstruktor der Klasse Queue. Bei diesem Konstruktor können die Initialgröße und die Reallokierungsgröße eingestellt werden. Dieser Konstruktor wird auch als Default-Konstruktor verwendet.

Parameter

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen der Queue gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Queue vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die die Queue automatisch erweitert wird, wenn neuer Speicherplatz angelegt werden muß. Ist der Parameter 0, so wird der Wert von der Queue vorgegeben.

_______________


Queue::Queue( const Queue& rQueue )
Queue::Queue()

Queue::Queue( const Queue& rQueue );

Beschreibung

Copy-Konstruktor der Klasse Queue. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte der übergebenen Queue. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const Queue& rQueue	Die Queue, von der die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


Queue::~Queue()

Queue::~Queue();

Beschreibung

Destruktor der Klasse Queue. Es werden alle von der Queue intern angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


Queue::Put( void* p )
Queue::Put()

void Queue::Put( void* p );

Beschreibung

Der übergebene Zeiger wird der Queue hinzugefügt.

Parameter

void* p	Der Zeiger, der hinzugefügt wird.

_______________


Queue::Get()

void* Queue::Get();

Beschreibung

Es wird der älteste Zeiger entfernt und zurückgegeben.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist die Queue leer, so wird NULL zurückgegeben.

_______________


Queue::Clear()

void Queue::Clear();

Beschreibung

Es werden alle gespeicherten Zeiger gelöscht. Dabei werden jedoch nicht die Daten gelöscht, auf die die Zeiger zeigen. Die Queue ist nach Aufruf dieser Methode leer.

_______________


Queue::Count()

ULONG Queue::Count() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger in der Queue gespeichert sind.

Rückgabewert

ULONG	Die Anzahl der in der Queue gespeicherten Zeiger.

_______________


Queue::GetObject( ULONG nPos )
Queue::GetObject()

void* Queue::GetObject( ULONG nPos ) const;

Beschreibung

Der Zeiger an der Position nPos innerhalb der Queue wird zurückgegeben.

Parameter

ULONG nPos	Die Position des Zeigers innerhalb der Queue, der zurückgegeben werden soll. Der Zeiger, der beim nächsten Get() aus der Queue entfernt wird, hat die Position 0.

Rückgabewert

void*	Der Zeiger, der sich an der Position nPos befindet. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


Queue::GetPos( const void* p )
Queue::GetPos()

ULONG Queue::GetPos( const void* p ) const;

Beschreibung

Die Position des angegebenen Zeigers relativ zum Queueanfang wird zurückgegeben.

Parameter

const void* p	Der Zeiger, dessen Position zurückgegeben werden soll.

Rückgabewert

ULONG	Die Position des ersten Auftretens des übergebenen Zeigers innerhalb der Queue. Befindet sich der Zeiger nicht in der Queue, so wird

QUEUE_ENTRY_NOTFOUND zurückgegeben.

_______________


Queue::operator =( const Queue& rQueue )
Queue::operator =()

Queue& Queue::operator =( const Queue& rQueue );

Beschreibung

Zuweisungsoperator der Klasse Queue. Dieser Operator löscht alle intern angelegten Daten und übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte der übergebenen Queue. Die Daten, auf die die Zeiger zeigen, werden weder im linken Operanden gelöscht noch im rechten Operanden kopiert.

Parameter

const Queue& rQueue	Die Queue, von der die Zeiger und die eingestellten Werte übernommen werden sollen.

Rückgabewert

Queue&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Queue::operator ==( const Queue& rQueue )
Queue::operator ==()
Queue::operator !=()

BOOL Queue::operator ==( const Queue& rQueue ) const;

BOOL Queue::operator !=( const Queue& rQueue ) const;

Beschreibung

Vergleichsoperatoren der Klasse Queue. Diese Operatoren prüfen, ob die gespeicherten Zeiger auf dieselben Daten in der gleichen Reihenfolge zeigen.

Parameter

const Queue& rQueue	Die Queue, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


RadioButton

class RadioButton : public Button

{

public:

RadioButton( Window* pParent, WinBits nWinStyle = 0 );

RadioButton( Window* pParent, const ResId& rResId );

void	Check( BOOL bCheck = TRUE );

BOOL	IsChecked() const;

};

Beschreibung

Die Klasse RadioButton wird eingesetzt, wenn ein Status über ein Control angezeigt werden soll. Wenn der RadioButton betätigt wird, wird der Click-Handler der Klasse Button gerufen. Der An/Aus-Status wird automatisch umgeschaltet und kann mit der Methode IsChecked() abgefragt werden. Wenn der Click-Handler gerufen wird, ist der neue Status bereits gesetzt.

Die Verwendung von RadioButtons ist mit der Bedienung eines Radios (daher kommt auch der Name) zu vergleichen, bei dem ein Sender von mehreren ausgewählt sein kann; wenn ein anderer ausgewählt wird, wird der vorherige ausgeschaltet. Wenn der Parent des RadioButtons eine Dialogbox ist, sorgt die Dialogbox automatisch dafür, daß nur ein RadioButton in einer Gruppe ausgewählt ist. Falls der Parent keine Dialogbox ist, muß die Applikation sicherstellen, daß nur ein RadioButton ausgewählt ist.

Basisklassen

Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


RadioButton::RadioButton( Window* pParent, WinBits nWinStyle = 0 );
RadioButton::RadioButton()

RadioButton::RadioButton( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse RadioButton.

Parameter

Window* pParent	Der Parent des RadioButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


RadioButton::RadioButton( Window* pParent, const ResId& rResId )
RadioButton::RadioButton()

RadioButton::RadioButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse RadioButton.

Parameter

Window* pParent	Der Parent des RadioButtons.

const ResId& rResId	Die ID des RadioButtons in der Resource.

Querverweise

Resource

_______________


RadioButton::Check( BOOL bCheck = TRUE );
RadioButton::Check()

void RadioButton::Check( BOOL bCheck = TRUE );

Beschreibung

Durch Aufruf dieser Methode wird die Markierung des RadioButtons an- oder ausgeschaltet. Das Ausschalten der Markierung ergibt einen Sinn, wenn der Parent keine Dialogbox ist oder wenn nicht alle RadioButtons in einer Gruppe zusammengefaßt sind und dadurch die Applikation sicherstellen muß, daß nur ein RadioButton ausgewählt ist.

Parameter

BOOL bCheck	TRUE

Die Markierung wird angeschaltet.

FALSE

Die Markierung wird ausgeschaltet.

_______________


RadioButton::IsChecked()

BOOL RadioButton::IsChecked() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob die Markierung des RadioButtons an- oder ausgeschaltet ist.

Rückgabewert

BOOL	TRUE

Die Markierung ist angeschaltet.

FALSE

Die Markierung ist ausgeschaltet.

_______________


Range

#define RANGE_MIN     ((short)0x8000)

#define RANGE_MAX     0x7FFF

class Range : public Pair

{

public:

Range();

Range( const Range& rRange );

Range( short nMin, short nMax );

short	Min() const;

short	Max() const;

short	Len() const;

short&	Min();

short&	Max();

BOOL	IsInside( short nIs ) const;

void	Justify();

};

Beschreibung

Diese Klasse bestimmt den kleinsten und den größten Wert eines Wertebereiches.

Anmerkungen

Diese Klasse erbt die Operatoren == und != der Klasse Pair.

Basisklassen

Pair

_______________


Range::Range()

Range::Range();

Beschreibung

Konstruktor der Klasse Range. Die Werte für Minimum und Maximum werden auf 0 gesetzt.

_______________


Range::Range()

Range::Range( const Range& rRange );

Beschreibung

Copy-Konstruktor der Klasse Range.

Parameter

const Range& rRange	Die Range-Instanz, deren Werte übernommen werden sollen.

_______________


Range::Range( short nMin, short nMax )
Range::Range()

Range::Range( short nMin, short nMax );

Beschreibung

Konstruktor der Klasse Range.

Parameter

short nMin	Dieser Parameter bestimmt den kleinsten Wert des Wertebereiches. Der kleinste Wert ist RANGE_MIN.

short nMax	Dieser Parameter bestimmt den größten Wert des Wertebereiches. Der größte Wert ist RANGE_MAX.

_______________


Range::Min()

short Range::Min() const;

Beschreibung

Mit dieser Methode kann der kleinste Wert des Wertebereiches abgefragt werden.

Rückgabewert

short	Der kleinste Wert des Wertebereiches.

Querverweise

Range::IsInside()

_______________


Range::Max()

short Range::Max() const;

Beschreibung

Mit dieser Methode kann der größte Wert des Wertebereiches abgefragt werden.

Rückgabewert

short	Der größte Wert des Wertebereiches.

Querverweise

Range::IsInside()

_______________


Range::Len()

short Range::Len() const;

Beschreibung

Diese Methode liefert die Länge des Wertebereiches einschließlich Start- und Endpunkt zurück.

Rückgabewert

short	Die Länge des Wertebereiches.

_______________


Range::Min()

short& Range::Min();

Beschreibung

Mit dieser Methode kann der kleinste Wert des Wertebereiches gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf den kleinsten Wert des Wertebereiches.

Querverweise

Range::IsInside()

_______________


Range::Max()

short& Range::Max();

Beschreibung

Mit dieser Methode kann der größte Wert des Wertebereiches gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf den größten Wert des Wertebereiches.

Querverweise

Range::IsInside()

_______________


Range::IsInside( short nIs )
Range::IsInside()

BOOL Range::IsInside( short nIs ) const;

Beschreibung

Diese Methode prüft, ob sich der übergebene Wert im gesetzten Wertebereich befindet. Die beiden Grenzwerte gehören mit zum Wertebereich.

Parameter

short nIs	Der Wert, der überprüft werden soll.

Rückgabewert

BOOL	TRUE

Der übergebene Wert befindet sich im gesetzten Wertebereich.

FALSE

Der übergebene Wert befindet sich nicht im gesetzten Wertebereich.

Querverweise

Range::Min(), Range::Max()

_______________


Range::Justify()

void Range::Justify();

Beschreibung

Diese Methode überprüft, ob der Min-Wert des Bereiches kleiner ist als der Max-Wert, und vertauscht gegebenenfalls die beiden Werte.

_______________


Rectangle

#define RECT_EMPTY  ((short)0x8000)

class Rectangle

{

public:

Rectangle();

Rectangle( const Rectangle& rRectangle );

Rectangle( const Point& rLeftTop, const Point& rRightBottom );

Rectangle( short nLeft,short nTop,short nRight, short nBottom );

Rectangle( const Point& rLeftTop, const Size& rSize );

short	Left() const;

short	Right() const;

short	Top() const;

short	Bottom() const;

short&	Left();

short&	Right();

short&	Top();

short&	Bottom();

Point	TopLeft() const;

Point	TopRight() const;

Point	TopCenter() const;

Point	BottomLeft() const;

Point	BottomRight() const;

Point	BottomCenter() const;

Point	LeftCenter() const;

Point	RightCenter() const;

Point	Center() const;

Point	ChangePos( const Point& rPoint );

Size	ChangeSize( const Size& rSize );

Size	GetSize() const;

short	GetWidth() const;

short	GetHeight() const;

Rectangle&	Union( const Rectangle& rRect );

Rectangle&	Intersection( const Rectangle& rRect );

Rectangle	GetUnion( const Rectangle& rRect ) const;

Rectangle	GetIntersection( const Rectangle& rRect ) const;

void	Justify();

BOOL	IsInside( const Point& rPoint ) const;

BOOL	IsInside( const Rectangle& rRect ) const;

BOOL	IsOver( const Rectangle& rRect ) const;

BOOL	IsEmpty() const;

BOOL	operator ==( const Rectangle& rRect ) const;

BOOL	operator !=( const Rectangle& rRect ) const;

};

Beschreibung

Diese Klasse stellt ein Rechteck zur Verfügung, das mit verschiedenen Konstruktoren gesetzt und mit verschiedenen Methoden abgefragt werden kann. Außerdem sind Methoden vorhanden, um zwei Rechtecke zusammenzufassen oder die Schnittmenge von zwei Rechtecken zu ermitteln.

Ein Rechteck hat folgendes Aussehen:

   LT      Top       RT

Left  Right     Height

   LB    Bottom      RB

     ---- Width ----

Definition:

Ein Rechteck, bei dem die linke und die rechte Seite aufeinanderliegen, hat die Breite 1. Das gleiche gilt für die Höhe. Alle Punkte, die sich auf dem Rand des Rechtecks befinden, befinden sich im Rechteck.

L T R B

0,0,0,0 = Breite = 1, Höhe = 1.

1,1,1,1 = Breite = 1, Höhe = 1.

1,0,2,1 = Breite = 2, Höhe = 2.

Beispiel

...

// Alle Aufrufe zeichnen ein Rechteck an der Position 10, 10

// mit der Größe 21, 21.

DrawRect( Rectangle( Point( 10, 10 ), Size( 21, 21 ) );

DrawRect( Rectangle( Point( 10, 10 ), Point( 30, 30 ) );

DrawRect( Rectangle( 10, 10, 30, 30 ) );

....

Querverweise

Point, Size

_______________


Rectangle::Rectangle()

Rectangle::Rectangle();

Beschreibung

Konstruktor der Klasse Rectangle. Die Werte für das Rechteck sind anschließend:

( 0, 0, RECT_EMPTY, RECT_EMPTY ).

_______________


Rectangle::Rectangle( const Rectangle& rRectangle )
Rectangle::Rectangle()

Rectangle::Rectangle( const Rectangle& rRectangle );

Beschreibung

Copy-Konstruktor der Klasse Rectangle.

Parameter

const Rectangle& rRectangle	Das zu kopierende Rechteck.

_______________


Rectangle::Rectangle( const Point& rLeftTop, const Point& rRightBottom
Rectangle::Rectangle()

Rectangle::Rectangle( const Point& rLeftTop, const Point& rRightBottom );

Beschreibung

Konstruktor der Klasse Rectangle.

Parameter

const Point& rLeftTop	Die linke obere Ecke des Rechtecks.

const Point& rRightBottom	Die rechte untere Ecke des Rechtecks.

_______________


Rectangle::Rectangle( short nLeft, short nTop, short nRight, short nBottom )
Rectangle::Rectangle()

Rectangle::Rectangle( short nLeft, short nTop, short nRight, short nBottom );

Beschreibung

Konstruktor der Klasse Rectangle.

Parameter

short nLeft	Die linke Kante des Rechtecks.

short nTop	Die obere Kante des Rechtecks.

short nRight	Die rechte Kante des Rechtecks.

short nBottom	Die untere Kante des Rechtecks.

_______________


Rectangle::Rectangle( const Point& rLeftTop, const Size& rSize )
Rectangle::Rectangle()

Rectangle::Rectangle( const Point& rLeftTop, const Size& rSize );

Beschreibung

Konstruktor der Klasse Rectangle.

Parameter

const Point& rLeftTop	Die linke obere Ecke des Rechtecks.

const Size& rSize	Die Größe des Rechtecks.

_______________


Rectangle::Left()

short Rectangle::Left() const;

Beschreibung

Mit dieser Methode kann die linke Kante des Rechtecks abgefragt werden.

Rückgabewert

short	Die linke Kante des Rechtecks.

Querverweise

Rectangle::Right(), Rectangle::Top(), Rectangle::Bottom()

_______________


Rectangle::Right()

short Rectangle::Right() const;

Beschreibung

Mit dieser Methode kann die rechte Kante des Rechtecks abgefragt werden.

Rückgabewert

short	Die rechte Kante des Rechtecks.

Querverweise

Rectangle::Left(), Rectangle::Top(), Rectangle::Bottom()

_______________


Rectangle::Top()

short Rectangle::Top() const;

Beschreibung

Mit dieser Methode kann die obere Kante des Rechtecks abgefragt werden.

Rückgabewert

short	Die obere Kante des Rechtecks.

Querverweise

Rectangle::Left(), Rectangle::Right(), Rectangle::Bottom()

_______________


Rectangle::Bottom()

short Rectangle::Bottom() const;

Beschreibung

Mit dieser Methode kann die untere Kante des Rechtecks abgefragt werden.

Rückgabewert

short	Die untere Kante des Rechtecks.

Querverweise

Rectangle::Left(), Rectangle::Right(), Rectangle::Top()

_______________


Rectangle::Left()

short& Rectangle::Left();

Beschreibung

Mit dieser Methode kann die linke Kante des Rechtecks abgefragt und gesetzt werden.

Rückgabewert

short&	Eine Referenz auf die linke Kante des Rechtecks.

Querverweise

Rectangle::Right(), Rectangle::Top(), Rectangle::Bottom()

_______________


Rectangle::Right()

short& Rectangle::Right();

Beschreibung

Mit dieser Methode kann die rechte Kante des Rechtecks abgefragt und gesetzt werden.

Rückgabewert

short&	Eine Referenz auf die rechte Kante des Rechtecks.

Querverweise

Rectangle::Left()

, Rectangle::Top(), Rectangle::Bottom()

_______________


Rectangle::Top()

short& Rectangle::Top();

Beschreibung

Mit dieser Methode kann die obere Kante des Rechtecks abgefragt und gesetzt werden.

Rückgabewert

short&	Eine Referenz auf die obere Kante des Rechtecks.

Querverweise

Rectangle::Left(), Rectangle::Right(), Rectangle::Bottom()

_______________


Rectangle::Bottom()

short& Rectangle::Bottom();

Beschreibung

Mit dieser Methode kann die untere Kante des Rechtecks abgefragt und gesetzt werden.

Rückgabewert

short&	Eine Referenz auf die untere Kante des Rechtecks.

Querverweise

Rectangle::Left(), Rectangle::Right(), Rectangle::Top()

_______________


Rectangle::TopLeft()

Point Rectangle::TopLeft() const;

Beschreibung

Diese Methode liefert die Position der linken oberen Ecke des Rechtecks zurück.

Rückgabewert

Point	Die Position der linken oberen Ecke.

Querverweise

Rectangle::BottomRight(), Rectangle::Center()

_______________


Rectangle::TopRight()

Point Rectangle::TopRight() const;

Beschreibung

Diese Methode liefert die Position der rechten oberen Ecke des Rechtecks zurück.

Rückgabewert

Point	Die Position der rechten oberen Ecke.

Querverweise

Rectangle::TopLeft(), Rectangle::Center()

_______________


Rectangle::TopCenter()

Point Rectangle::TopCenter() const;

Beschreibung

Diese Methode liefert den Mittelpunkt der oberen Kante des Rechtecks zurück.

Rückgabewert

Point	Der Mittelpunkt der oberen Kante.

Querverweise

Rectangle::Center()

_______________


Rectangle::BottomLeft()

Point Rectangle::BottomLeft() const;

Beschreibung

Diese Methode liefert die Position der linken unteren Ecke des Rechtecks zurück.

Rückgabewert

Point	Die Position der linken unteren Ecke.

Querverweise

Rectangle::Center()

_______________


Rectangle::BottomRight()

Point Rectangle::BottomRight() const;

Beschreibung

Diese Methode liefert die Position der rechten unteren Ecke des Rechtecks zurück.

Rückgabewert

Point	Die Position der rechten unteren Ecke.

Querverweise

Rectangle::TopLeft(), Rectangle::Center()

_______________


Rectangle::BottomCenter()

Point Rectangle::BottomCenter() const;

Beschreibung

Diese Methode liefert den Mittelpunkt der unteren Kante des Rechtecks zurück.

Rückgabewert

Point	Der Mittelpunkt der unteren Kante.

Querverweise

Rectangle::Center()

_______________


Rectangle::LeftCenter()

Point Rectangle::LeftCenter() const;

Beschreibung

Diese Methode liefert den Mittelpunkt der linken Kante des Rechtecks zurück.

Rückgabewert

Point	Der Mittelpunkt der linken Kante.

Querverweise

Rectangle::Center()

_______________


Rectangle::RightCenter()

Point Rectangle::RightCenter() const;

Beschreibung

Diese Methode liefert den Mittelpunkt der rechten Kante des Rechtecks zurück.

Rückgabewert

Point	Der Mittelpunkt der rechten Kante.

Querverweise

Rectangle::Center()

_______________


Rectangle::Center()

Point Rectangle::Center() const;

Beschreibung

Diese Methode liefert die Position des Mittelpunktes des Rechtecks zurück. Bei der Berechnung wird stets abgerundet. Beispielsweise hat das Rechteck mit den Koordinaten Rectangle( Point( 2, 2 ) Point( 7, 7 )) als Mittelpunkt den Point( 4, 4 ).

Rückgabewert

Point	Die Position des Mittelpunktes.

Querverweise

Rectangle::TopLeft(), Rectangle::BottomRight()

_______________


Rectangle::ChangePos( const Point& rPoint)
Rectangle::ChangePos()

Point Rectangle::ChangePos( const Point& rPoint);

Beschreibung

Mit dieser Methode kann die Position eines Rechtecks verändert werden. Dazu wird die linke obere Ecke auf rPoint gesetzt und die ursprüngliche Größe des Rechtecks beibehalten.

Parameter

const Point& rPoint	Die neue Position des Rechtecks.

Rückgabewert

Point	Die alte Position des Rechtecks.

_______________


Rectangle::ChangeSize( const Size& rSize)
Rectangle::ChangeSize()

Size Rectangle::ChangeSize( const Size& rSize);

Beschreibung

Mit dieser Methode kann die Größe eines Rechtecks verändert werden.

Parameter

const Size& rSize	Die neue Größe des Rechtecks.

Rückgabewert

Size	Die alte Größe des Rechtecks.

_______________


Rectangle::GetSize()

Size Rectangle::GetSize() const;

Beschreibung

Diese Methode liefert die Größe des Rechtecks zurück.

Rückgabewert

Size	Die Größe des Rechtecks.

_______________


Rectangle::GetWidth()

short Rectangle::GetWidth() const;

Beschreibung

Diese Methode liefert die Breite des Rechtecks zurück.

Rückgabewert

short	Die Breite des Rechtecks.

_______________


Rectangle::GetHeight()

short Rectangle::GetHeight() const;

Beschreibung

Diese Methode liefert die Höhe des Rechtecks zurück.

Rückgabewert

short	Die Höhe des Rechtecks.

_______________


Rectangle::Union( const Rectangle& rRect )
Rectangle::Union()

Rectangle& Rectangle::Union( const Rectangle& rRect );

Beschreibung

Diese Methode bildet aus dem übergebenen Rechteck und dem aktuellen Rechteck das kleinste umschließende Rechteck. Das umschließende Rechteck liegt genau auf dem Rand der Ausgangsrechtecke.

Parameter

const Rectangle& rRect	Das Rechteck, das mit dem aktuellen Rechteck zu einem neuen Rechteck zusammengefaßt werden soll.

Rückgabewert

Rectangle&	Referenz auf das Rechteck, damit dieser Aufruf auch als LValue benutzt werden kann.

Querverweise

Rectangle::GetUnion(), Rectangle::Intersection()

_______________


Rectangle::Intersection( const Rectangle& rRect)
Rectangle::Intersection()

Rectangle& Rectangle::Intersection( const Rectangle& rRect);

Beschreibung

Diese Methode erzeugt die Schnittmenge zwischen dem übergebenen und dem aktuellen Rechteck.

Parameter

const Rectangle& rRect	Das Rechteck, mit dem die Schnittmenge gebildet werden soll.

Rückgabewert

Rectangle&	Referenz auf das Rechteck, damit dieser Aufruf auch als LValue benutzt werden kann. Falls es keine Überschneidungen gibt, wird ein leeres Rechteck zurückgeliefert.

Querverweise

Rectangle::GetIntersection(), Rectangle::Union()

_______________


Rectangle::GetUnion( const Rectangle& rRect )
Rectangle::GetUnion()

Rectangle Rectangle::GetUnion( const Rectangle& rRect ) const;

Beschreibung

Diese Methode bildet aus dem übergebenen Rechteck und dem aktuellen Rechteck das kleinste umschließende Rechteck. Das umschließende Rechteck liegt genau auf dem Rand der Ausgangsrechtecke.

Parameter

const Rectangle& rRect	Das Rechteck, das mit dem aktuellen Rechteck zu einem neuen Rechteck zusammengefaßt werden soll.

Rückgabewert

Rectangle	Das kleinste Rechteck, das beide Rechtecke enthält.

Querverweise

Rectangle::Union(), Rectangle::GetIntersection()

_______________


Rectangle::GetIntersection( const Rectangle& rRect)
Rectangle::GetIntersection()

Rectangle Rectangle::GetIntersection( const Rectangle& rRect) const;

Beschreibung

Diese Methode liefert die Schnittmenge zwischen dem übergebenen und dem aktuellen Rechteck als Rechteck zurück.

Parameter

const Rectangle& rRect	Das Rechteck, mit dem die Schnittmenge gebildet werden soll.

Rückgabewert

Rectangle	Die Schnittmenge als Rechteck. Falls es keine Überschneidungen gibt, wird ein leeres Rechteck zurückgeliefert.

Querverweise

Rectangle::Intersection(), Rectangle::GetUnion()

_______________


Rectangle::Justify()

void Rectangle::Justify();

Beschreibung

Diese Methode prüft, ob die Methode Left() einen Wert liefert, der kleiner als Right() ist, und ob die Methode Top() einen Wert liefert, der kleiner als Bottom() ist. Diese Bedingung muß erfüllt sein, damit ein Rechteck mit einem anderen Rechteck oder einem Punkt (Rectangle::IsInside()) verglichen werden kann. Sollte diese Bedingung nicht erfüllt sein, werden die Seiten entsprechend vertauscht.

Anmerkungen

Diese Methode sollte immer dann verwendet werden, wenn die Seiten eines Rechtecks vertauscht sein können.

_______________


Rectangle::IsInside( const Point& rPoint )
Rectangle::IsInside()

BOOL Rectangle::IsInside( const Point& rPoint ) const;

Beschreibung

Diese Methode prüft, ob sich der übergebene Punkt in dem aktuellen Rechteck befindet. Dazu gehören auch alle Punkte, die auf dem Rand des Rechtecks liegen.

Parameter

const Point& rPoint	Der Punkt, der überprüft werden soll.

Rückgabewert

BOOL	TRUE

Der Punkt befindet sich im Rechteck.

FALSE

Der Punkt befindet sich nicht im Rechteck.

_______________


Rectangle::IsInside( const Rectangle& rRect )
Rectangle::IsInside()

BOOL Rectangle::IsInside( const Rectangle& rRect ) const;

Beschreibung

Diese Methode prüft, ob sich das übergebene Rechteck ganz im aktuellen Rechteck befindet.

Parameter

const Rectangle& rRect	Das Rechteck, das überprüft werden soll.

Rückgabewert

BOOL	TRUE

Das übergebene Rechteck befindet sich im aktuellen Rechteck.

FALSE

Das übergebene Rechteck befindet sich nicht im aktuellen Rechteck.

Querverweise

Rectangle::IsOver()

_______________


Rectangle::IsOver( const Rectangle& rRect )
Rectangle::IsOver()

BOOL Rectangle::IsOver( const Rectangle& rRect ) const;

Beschreibung

Diese Methode prüft, ob sich das übergebene Rechteck ganz oder teilweise im aktuellen Rechteck befindet.

Parameter

const Rectangle& rRect	Das Rechteck, das überprüft werden soll.

Rückgabewert

BOOL	TRUE

Das übergebene Rechteck befindet sich ganz oder teilweise im aktuellen Rechteck.

FALSE

Das übergebene Rechteck befindet sich weder ganz noch teilweise im aktuellen Rechteck.

Querverweise

Rectangle::IsInside()

_______________


Rectangle::IsEmpty()

BOOL Rectangle::IsEmpty() const;

Beschreibung

Diese Methode prüft, ob das übergebene Rechteck leer ist. Sie liefert TRUE zurück, wenn Right() oder Bottom() den Wert RECT_EMPTY zurückliefern.

Rückgabewert

BOOL	TRUE

Das übergebene Rechteck ist leer.

FALSE

Das übergebene Rechteck ist nicht leer.

_______________


Rectangle::operator ==( const Rectangle& rRect )
Rectangle::operator ==()

BOOL Rectangle::operator ==( const Rectangle& rRect ) const;

Beschreibung

Mit diesem Operator werden zwei Rechtecke auf Gleichheit überprüft. Der Operator liefert den Wert TRUE, wenn beide Rechtecke die gleiche Position und die gleiche Größe haben.

Parameter

const Rectangle& rRect	Mit diesem Rechteck wird der Vergleich durchgeführt.

Rückgabewert

BOOL	TRUE

Die beiden Rechtecke sind in Bezug auf ihre Größe und ihre Position gleich.

FALSE

Die beiden Rechtecke sind in Bezug auf ihre Größe oder ihre Position ungleich.

Querverweise

Rectangle::operator !=()

_______________


Rectangle::operator !=( const Rectangle& rRect )
Rectangle::operator !=()

BOOL Rectangle::operator !=( const Rectangle& rRect ) const;

Beschreibung

Mit diesem Operator werden zwei Rechtecke auf Ungleichheit überprüft. Der Operator liefert den Wert FALSE, wenn beide Rechtecke die gleiche Position besitzen und die gleiche Größe haben.

Parameter

const Rectangle& rRect	Mit diesem Rechteck wird der Vergleich durchgeführt.

Rückgabewert

BOOL	TRUE

Die Rechtecke sind in Bezug auf ihre Größe oder ihre Position ungleich.

FALSE

Die Rechtecke sind in Bezug auf ihre Größe und ihre Position gleich.

Querverweise

Rectangle::operator ==()

_______________


Region

enum RegionType	{ REGION_EMPTY, REGION_RECTANGLE, REGION_POLYGON, REGION_POLYPOLYGON, REGION_COMPLEX };

class Region

{

public:

Region();

Region( const Rectangle& rRect );

Region( const Polygon& rPolygon );

Region( const PolyPolygon& rPolyPoly );

Region( const Region& rRegion );

~Region();

BOOL	IsEmpty() const;

Rectangle	GetBoundRect() const;

RegionType	GetType() const;

void	Intersect( const Rectangle& rRect );

void	Move( short nHorzMove, short nVertMove );

Region&	operator=( const Region& rRegion );

BOOL	operator==( const Region& rRegion ) const;

BOOL	operator!=( const Region& rRegion ) const;

};

Beschreibung

Die Klasse Region dient zur Darstellung komplexer Bereiche. Eine Region kann aus einem Rechteck, einem Polygon oder aus einem PolyPolygon erzeugt werden. Regions werden hauptsächlich im Zusammenhang mit der Klasse OutputDevice zur Definition von Clipping-Bereichen verwendet.

Querverweise

OutputDevice::ChangeClipRegion(), Polygon, PolyPolygon

_______________


enum RegionType

enum RegionType	{ REGION_EMPTY, REGION_RECTANGLE, REGION_POLYGON, REGION_POLYPOLYGON, REGION_COMPLEX };

Beschreibung

Die Werte des enum RegionType geben den Typ einer Region an.

REGION_EMPTY	Die Region ist leer.

REGION_RECTANGLE	Die Region ist ein Rectangle.

REGION_POLYGON	Die Region ist ein Polygon.

REGION_POLYPOLYGON	Die Region ist ein PolyPolygon.

REGION_COMPLEX	Die Region ist zusätzlich mit einem Rechteck beschränkt.

Querverweise

Rectangle, Polygon, PolyPolygon

_______________


Region::Region()

Region::Region();

Beschreibung

Konstruktor der Klasse Region. Es wird eine leere Region erzeugt.

_______________


Region::Region( const Rectangle& rRect )
Region::Region()

Region::Region( const Rectangle& rRect );

Beschreibung

Konstruktor der Klasse Region. Es wird eine Region aus dem übergebenen Rectangle erzeugt.

Parameter

const Rectangle& rRect	Das Rectangle, aus dem eine Region erzeugt werden soll.

_______________


Region::Region( const Polygon& rPolygon )
Region::Region()

Region::Region( const Polygon& rPolygon );

Beschreibung

Konstruktor der Klasse Region. Es wird eine Region aus dem übergebenen Polygon erzeugt.

Parameter

const Polygon& rPolygon	Das Polygon, aus dem eine Region erzeugt werden soll.

_______________


Region::Region( const PolyPolygon& rPolyPoly )
Region::Region()

Region::Region( const PolyPolygon& rPolyPoly );

Beschreibung

Konstruktor der Klasse Region. Es wird eine Region aus dem übergebenen PolyPolygon erzeugt.

Parameter

const PolyPolygon& rPoly	Das PolyPolygon, aus dem eine Region erzeugt werden soll.

_______________


Region::Region( const Region& rRegion )
Region::Region()

Region::Region( const Region& rRegion );

Beschreibung

Copy-Konstruktor der Klasse Region.

Parameter

const Region& rRegion	Die Region, deren Werte übernommen werden sollen.

_______________


Region::~Region()

Region::~Region();

Beschreibung

Destruktor der Klasse Region.

_______________


Region::IsEmpty()

BOOL Region::IsEmpty() const;

Beschreibung

Die Methode ermittelt, ob die Region leer ist.

Rückgabewert

BOOL	TRUE

Die Region ist leer.

FALSE

Die Region ist nicht leer.

_______________


Region::GetBoundRect()

Rectangle Region::GetBoundRect() const;

Beschreibung

Die Methode ermittelt das Rechteck, das die Region umschließt.

Rückgabewert

Rectangle	Das Rechteck, das die Region umschließt.

_______________


Region::GetType()

RegionType Region::GetType() const;

Beschreibung

Die Methode ermittelt den Typ der Region.

Rückgabewert

RegionType	Der Typ der Region.

_______________


Region::Intersect( const Rectangle& rRect )
Region::Intersect()

void Region::Intersect( const Rectangle& rRect );

Beschreibung

Die Methode änder die Region auf die Schnittmenge aus der Region und dem übergebenen Rechteck.

Parameter

Rectangle& rRect	Das Rechteck, mit dem die Schnittmenge gebildet werden soll.

_______________


Region::Move( short nHorzMove, short nVertMove )
Region::Move()

void Region::Move( short nHorzMove, short nVertMove );

Beschreibung

Die Methode verschiebt die Region um die angegebenen Wert in horizontaler und vertikaler Richtung.

Parameter

short nHorzMove	Der Wert für die horizontale Verschiebung.

short nVertMove	Der Wert für die vertikale Verschiebung.

_______________


Region::operator=( const Region& rRegion )
Region::operator=()

Region& Region::operator=( const Region& rRegion );

Beschreibung

Zuweisungsoperator der Klasse Region.

Parameter

const Region& rRegion	Die Region, deren Werte übernommen werden sollen.

Rückgabewert

Region&	Eine Referenz auf die Region-Instanz. Damit sind Mehrfachzuweisungen möglich.

_______________


Region::operator==( const Region& rRegion )
Region::operator==()

BOOL Region::operator==( const Region& rRegion ) const;

Beschreibung

Vergleichsoperator der Klasse Region. Die Methode liefert TRUE zurück, wenn die Region mit der übergebenen Region übereinstimmt.

Parameter

const Region& rRegion	Die Region, die mit der aktuellen Region verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Regions stimmen überein.

FALSE

Die beiden Regions stimmen nicht überein.

_______________


Region::operator!=( const Region& aRegion )
Region::operator!=()

BOOL Region::operator!=( const Region& aRegion ) const;

Beschreibung

Vergleichsoperator der Klasse Region. Die Methode liefert TRUE zurück, wenn die Region mit der übergebenen Region nicht übereinstimmt.

Parameter

const Region& rRegion	Die Region, die mit der aktuellen Region verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die beiden Regions stimmen nicht überein.

FALSE

Die beiden Regions stimmen überein.

_______________


ResId

struct RSHEADER_TYPE;

typedef short RESOURCE_TYPE;

#define RSC_NOTYPE              0x100

class ResId

{

public:

ResId( RSHEADER_TYPE * pRc )

ResId( USHORT nId );

RSHEADER_TYPE	GetRT() const;

const ResId&	SetRT( RESOURCE_TYPE nTyp ) const;

USHORT	GetId() const;

RSHEADER TYPE*	GetpResource() const;

};

Beschreibung

Die Klasse ResId ist das Interface der Applikation zu ihren Resourcen. ResId-Instanzen können als Schlüssel zu den einzelnen Resource-Objekten der Resource-Datei gesehen werden.

Anmerkungen

ResId-Instanzen sollten nur in Konstruktoraufrufen von denjenigen Klassen erzeugt werden, die sich aus der Resource laden. Strings können über die ResId-Instanz aus der Resource geladen werden.

String aStr( ResId( STRING_TEST ) );

Beispiel

Das folgende Beispiel demonstriert eine einfache, nichtmodale Dialogbox MyDialog, die aus der Resource geladen wird. Ihrem Konstruktor wird eine Instanz der Klasse ResId übergeben. Die Controls der Resource befinden sich als Sub-Resourcen in der Resource der Dialogbox. Daher muß der Resource-Kontext der Dialogbox geöffnet bleiben, solange die Sub-Resourcen (hier RC_GROUPBUT) geladen werden. Wenn der Kontext nicht mehr benötigt wird, muß er mit Resource::FreeResource() geschlossen werden.

Ausschnitt aus dem Quellcode:

class MyDialog : public ModelessDialog

{

private:

MyWindow*	pParentWnd;

RadioButton	aRadioBut;

...

public:

MyDialog( Window* pParent );

};

MyDialog::MyDialog( Window* pParent ) :

ModelessDialog( pParent, ResId( RC_BOX ),

aRadioBut( this, ResId( RC_RADIOBUT )),

...

{

FreeResource();

...

}

...

MyDialog* pDlg = new MyDialog( pParent );

...

Ausschnitt aus der dazugehörigen Resource-Datei:

ModelessDialog RC_BOX

{

Geometry = ( 100, 100, 400, 200 );

Text     = "ResId-Beispiel";

RadioButton RC_RADIOBUT

{

Geometry = ( 20, 40, 50, 20 );

Text     = "a Test Button";

}

...

}

Querverweise

Resource, ResMgr

_______________


ResId::ResId( RSHEADER_TYPE * pRc )
ResId::ResId()

ResId::ResId( RSHEADER_TYPE * pRc );

Beschreibung

Konstruktor der Klasse ResId....

Parameter

RSHEADER_TYPE* pRc	...

_______________


ResId::ResId( USHORT nId )
ResId::ResId()

ResId::ResId( USHORT nId );

Beschreibung

Konstruktor der Klasse ResId. Beim Erzeugen einer Instanz dieser Klasse wird der Identifier des gewünschten Resource-Objekts so angegeben, wie er in der Resource-Datei definiert wurde.

Das Resource-Objekt als Ganzes kann durch die Klasse Resource (oder einer davon abgeleiteten Klasse) geladen werden. Soll der Zugriff auf Sub-Resourcen , z.B. auf die in einer Dialogbox enthaltenen Controls, gewährt werden, muß dieser Resource-Kontext für den folgenden ResId-Konstruktor mit der Methode ResId::Lock() offen gehalten werden.

Parameter

USHORT nId	Die ID der zu ladenden Resource.

_______________


ResId::SetRT( RESOURCE_TYPE nTyp )
ResId::SetRT()

const ResId& ResId::SetRT( RESOURCE_TYPE nTyp ) const;

Beschreibung

Die Methode setzt den Resource-Typ der ResId-Instanz.

Parameter

RESOURCE_TYPE nTyp	Der neue Resource-Typ.

Rückgabewert

const ResId&	Eine Referenz auf die ResId-Instanz.

_______________


ResId::GetRT()

RESOURCE_TYPE ResId::GetRT() const;

Beschreibung

Die Methode liefert den Resource-Typ der ResId-Instanz zurück.

Rückgabewert

RESOURCE_TYPE	Der Resource-Typ.

_______________


ResId::GetId()

USHORT ResId::GetId() const;

Beschreibung

Die Methode liefert die Resource-ID der ResId-Instanz zurück.

Rückgabewert

USHORT	Die Resource-ID.

_______________


ResId::GetpResource()

RSHEADER_TYPE* ResId::GetpResource() const;

Beschreibung

Die Methode liefert.......

Rückgabewert

RSHEADER_TYPE*	Ein Zeiger auf...

_______________


ResMgr

class ResMgr

{

public:

ResMgr( char* pFileName = ( char* )0 );

~ResMgr();

void	TestStack( const Resource* );

BOOL	IsAvailable( RESOURCE_TYPE, USHORT nId, RSHEADER_TYPE* = NULL, const Resource* = NULL) const;

BOOL	GetResource( RESOURCE_TYPE, USHORT nId, RSHEADER_TYPE*, const Resource  * );

void	PopContext( const Resource * );

void*	Increment( USHORT nSize );

static USHORT	GetObjSize( RSHEADER_TYPE* pHT );

static USHORT	GetStringSize( USHORT nLen );

static USHORT	GetStringSize( char* pStr );

static long	GetLong( void* pLong );

void*	GetClass();

USHORT	GetRemainSize();

};

Beschreibung

Jede ResMgr-Instanz stellt das interne Interface zu einer bestimmten Resource-Datei dar. Über die Klasse Resource kann die gewünschte ResMgr-Instanz und damit auch die zu verwendende Resource-Datei selektiert werden. Mit mehreren Resource-Dateien ist beispielsweise die Unterstützung verschiedene Sprachen möglich.

Außerdem ist die Verwaltung der geladenen Resourcen, der Locks und Kontext-Stufen in dieser Klasse implementiert.

Eine explizite Instanz dieser Klasse braucht in Anwendungsprogrammen nur dann erzeugt werden, falls eine andere als die automatisch von StarView eingestellte Resource-Datei verwendet werden soll.

Querverweise

Resource::SetResManager(), Resource::GetResManager()

_______________


ResMgr::ResMgr( char* pFileName = ( char* )0 )
ResMgr::ResMgr()

ResMgr::ResMgr( char* pFileName = ( char* )0 );

Beschreibung

Eine Instanz von ResMgr wird angelegt, das Resourcefile ist pFileName. Wenn pFileName gleich NULL ist, wird unter MS-Windows und auf dem Macintosh, die Programmdatei selbst und unter Motif eine Datei mit dem Namen der Programmdatei und der Extension ".res" als Resource-Datei verwendet.

Parameter

char* pFileName	Der Name der Resource-Datei.

_______________


ResMgr::~ResMgr()

ResMgr::~ResMgr();

Beschreibung

Die Resource-Datei wird freigegeben.

_______________


ResMgr::TestStack( const Resource* )
ResMgr::TestStack()

void ResMgr::TestStack( const Resource* );

Beschreibung

...

Parameter

const Resource*

_______________


ResMgr::IsAvailable()

BOOL ResMgr::IsAvailable( RESOURCE_TYPE, USHORT nId, RSHEADER_TYPE* = NULL, const Resource* = NULL ) const;

Beschreibung

...

Parameter

RESOURCE_TYPE

USHORT nId

RSHEADER_TYPE*

const Resource*

Rückgabewert

BOOL	TRUE

FALSE

_______________


esMgr::GetResource( RESOURCE_TYPE, USHORT nId, RSHEADER_TYPE*, const Resource* )
ResMgr::GetResource()

BOOL ResMgr::GetResource( RESOURCE_TYPE, USHORT nId, RSHEADER_TYPE*, const Resource* );

Beschreibung

...

Parameter

RESOURCE_TYPE

USHORT nId

RSHEADER_TYPE*

const Resource*

Rückgabewert

BOOL	TRUE

FALSE

_______________


ResMgr::PopContext( const Resource* )
ResMgr::PopContext()

void ResMgr::PopContext( const Resource* );

Beschreibung

...

Parameter

const Resource*

_______________


ResMgr::Increment( USHORT nSize )
ResMgr::Increment()

void* ResMgr::Increment( USHORT nSize );

Beschreibung

Die Methode setzt den Resource-Zeiger um nSize weiter.

Parameter

USHORT nSize	Der Wert, um den der Resource-Zeiger weitergesetzt werden soll.

_______________


ResMgr::GetObjSize( RSHEADER_TYPE* pHT )
ResMgr::GetObjSize()

static USHORT ResMgr::GetObjSize( RSHEADER_TYPE* pHT );

Beschreibung

...

Parameter

RSHEADER_TYPE* pHT

Rückgabewert

static USHORT

_______________


ResMgr::GetStringSize( USHORT nLen )
ResMgr::GetStringSize()

static USHORT ResMgr::GetStringSize( USHORT nLen );

Beschreibung

...

Parameter

USHORT nLen

Rückgabewert

static USHORT

_______________


ResMgr::GetStringSize( char* pStr )
ResMgr::GetStringSize()

static USHORT ResMgr::GetStringSize( char* pStr );

Beschreibung

...

Parameter

char* pStr

Rückgabewert

static USHORT

_______________


ResMgr::GetLong( void* pLong )
ResMgr::GetLong()

static long ResMgr::GetLong( void* pLong );

Beschreibung

...

Parameter

void* pLong

Rückgabewert

static long

_______________


ResMgr::GetClass()

void* ResMgr::GetClass();

Beschreibung

...

Rückgabewert

void*

_______________


ResMgr::GetRemainSize()

USHORT ResMgr::GetRemainSize();

Beschreibung

...

Rückgabewert

USHORT

_______________


Resource

class Resource

{

protected:

BOOL	IsAvailableRes( const ResId& rId ) const;

void	GetRes( const ResId& rResId );

void	TestRes();

static void*	GetClassRes();

static void*	IncrementRes( USHORT nBytes );

static USHORT	GetObjSizeRes( RSHEADER_TYPE* pHT );

static USHORT	GetStringSizeRes( char* pStr );

static USHORT	GetRemainSizeRes();

static long	GetLongRes( void* pLong );

void	FreeResource();

Resource( const ResId& rResId );

Resource();

public:

~Resource()

static void	SetResManager( ResMgr* pResMgr );

static ResMgr*	GetResManager();

};

Beschreibung

Dies ist die Basisklasse aller Klassen, die aus der Resource geladen werden können. Diesen Klassen werden von dieser Basisklasse Methoden hinzugefügt, die es ihnen ermöglichen, Daten aus der Resource-Datei zu lesen. Damit eine Klasse aus der Resource geladen werden kann, muß sie einen Resource-Konstruktor haben. Ein Resource-Konstruktor erwartet eine const ResId-Instanz als Parameter. In dieser ResId-Instanz steht der Identifier des Resource-Objekts, das in der Resource-Datei definiert wurde.

Mit Hilfe der Methoden GetClassRes(), IncrementRes(), GetStringSizeRes() und GetRemainSizeRes() kann auf benutzerdefinierte Resource-Daten zugegriffen werden.

Anmerkungen

Eine Instanz der Klasse ResMgr heißt im folgenden Resource-Manager. Die Klasse Resource benötigt eine solche Instanz, um Resourcen laden zu können. StarView stellt einen Default-Manager bereit.

Für die komplette Spezifizierung eines Resource-Objekts werden vier Angaben benötigt:

-	die Resource-Datei,

-	der Resource-Typ,

-	der Resource-ID und evtl.

-	die übergeordnete Resource, in der sich die gewünschte Resource befindet.

Die Resource-Datei wird global für alle Resource-Instanzen festgelegt. Sie kann mit Klassenmethoden ausgetauscht werden. Der Resource-Typ ist jeder Klasse selbst bekannt, die aus der Resource geladen wird. Durch den von ResId-Instanzen aufgespannten Kontext ist die übergeordnete Resource im entsprechenden Resource-Manager bekannt.

So ist jedes in einem bestimmten Resource-Kontext bekannte Resource-Objekt allein durch Angabe seiner ID eindeutig identifizierbar.

Resourcen unterscheiden sich immer durch ihren Typ und ihren Identifier. Zwei Resourcen unterschiedlichen Typs können den gleichen Identifier haben.

Beispiel

Das Beispiel zeigt das Laden einer Dialogbox aus der Resource und das Laden eines PushButtons aus der Dialogbox-Resource.

// Resource-Datei:

ModelessDialog 1000

{

Geometry    = ( 0, 0, 100, 100 );       // Position, Größe

Text        = "Ok Dialogbox";           // Titel der Dialogbox

ExtraData   = { 17; "Hello World"; };   // Benutzerdaten

OKButton 1

{

Geometry  = ( 10, 40, 80, 20 );

DefButton = TRUE;

}

}

// cxx-Datei:

1 class OkBox : public ModelessDialog

2 {

3    short      nExtraShort;

4    String     aExtraString;

5    OKButton   aOKButton;

6 public:

7    OkBox( Window* pParent );

8 }

9

10 OkBox :: OkBox( Window* pParent ) :

11         ( pParent, ResId( 1000 ) :

12         aOKButton( this, ResId( 1 ))

13 {

14    char* pStr;

15

16    nExtraShort = *( short* )GetClassRes();

17    IncrementRes( sizeof( short ) );

18    pStr = ( char* )GetClassRes();

19    aExtraString = String( pStr );

20    IncrementRes( GetStringSizeRes( pStr ) );

21

22    FreeResource();

23 }

// Applikation

.

.

99 pOkBox = new OkBox();

.

Beschreibung des Ablaufs im Resource-System

99	Es wird eine ResId-Instanz erzeugt; die Folge davon ist das Anlegen eines Kontextes.

11

Basisklasse	Die Resource mit dem Bezeichner 1000 wird geladen.

Basisklasse	Es wird eine Dialogbox erzeugt.

12	Es wird eine ResId-Instanz erzeugt, die Folge ist das Anlegen eines Kontextes.

Basisklasse	In der Resource der OkBox wird nach der Resource mit der ID 1 gesucht. Diese wird gefunden, und die Resource wird geladen.

Basisklasse	Es wird ein OKButton erzeugt.

16	Die Methode GetClassRes() liefert einen Zeiger auf die Resource-Daten.

17	Die Methode IncrementRes() erhöht den Zeiger um 2.

18	Die Methode GetClassRes() liefert nun den Zeiger auf den String "Hello World".

20	Der Aufruf von IncrementRes() ist notwendig, weil das Resource-System überprüft, ob der Zeiger auf die Resource-Daten beim Freigeben der Resource am Ende steht. Die Methode GetStringSizeRes() darf nicht durch strlen() +1 ersetzt werden.

22	Die Methode FreeResource() stellt fest, daß der Zähler 0 ist, und gibt den Kontext frei. Durch das Freigeben des Kontextes wird die Resource ebenfalls freigegeben.

Querverweise

ResMgr, ResId

_______________


Resource::IsAvailableRes( const ResId& rId )
Resource::IsAvailableRes()

BOOL Resource::IsAvailableRes( const ResId& rId ) const;

Beschreibung

Die Methode ermittelt, ob die Resource mit der angegebenen Resource-ID existiert und zur Verfügung steht.

Parameter

const ResID& rId	Die ID der zu überprüfenden Resource.

Rückgabewert

BOOL	TRUE

Die Resource steht zur Verfügung.

FALSE

Die Resource steht nicht zur Verfügung.

_______________


Resource::GetRes( const ResId& rResId )
Resource::GetRes()

void Resource::GetRes( const ResId& rResId );

Beschreibung

Die Methode....

Parameter

const ResID& rResId

_______________


Resource::TestRes()

void Resource::TestRes();

Beschreibung

Die Methode....

_______________


Resource::GetClassRes()

void* Resource::GetClassRes();

Beschreibung

Ein Zeiger auf die Resource-Daten wird zurückgeliefert. Dieser Zeiger wird mit Hilfe der Methode IncrementRes() immer so manipuliert, daß er hinter die gerade gelesenen Resource-Daten zeigt.

Rückgabewert

void*	Ein Zeiger, der hinter die gerade gelesenen Resource-Daten zeigt.

Anmerkungen

Wenn mit der Methode Resource::IncrementRes() der Datenpointer auf das Ende der Resourcedaten gesetzt wird, so wird der Datenpointer, der mit Resource::getClassRes89 geholt wurde, ungültig.

Querverweise

ResMgr, Resource::IncrementRes()

_______________


Resource::IncrementRes( USHORT nBytes )
Resource::IncrementRes()

void* Resource::IncrementRes( USHORT nBytes );

Beschreibung

Der Zeiger auf die Resource-Daten wird um nBytes erhöht.

Parameter

USHORT nBytes	Die Anzahl der Bytes, um die der Zeiger erhöht wird.

Rückgabewert

void*	Der neue Wert des Zeigers.

Anmerkungen

Wenn mit der Methode Resource::IncrementRes() der Datenpointer auf das Ende der Resourcedaten gesetzt wird, so wird der Datenpointer, der mit Resource::getClassRes89 geholt wurde, ungültig. IncrementRes() sollte daher immer erst dann gerufen werden, nachdem die Daten bearbeitet wurden.

Querverweise

ResMgr, Resource::GetClassRes(), Resource::GetStringSizeRes()

_______________


Resource::GetObjSizeRes( RSHEADER_TYPE* pHT )
Resource::GetObjSizeRes()

static USHORT Resource::GetObjSizeRes( RSHEADER_TYPE* pHT );

Beschreibung

...

Parameter

RSHEADER_TYPE* pHT

Rückgabewert

static USHORT

_______________


Resource::GetStringSizeRes( char* )
Resource::GetStringSizeRes()

USHORT Resource::GetStringSizeRes( char* );

Beschreibung

Die Methode liefert die Länge des Strings in der Resource zurück.

Parameter

char*	Ein Zeiger auf den String.

Rückgabewert

USHORT	Die Länge des Strings.

Anmerkungen

Aufgrund unterschiedlicher Alignments in verschiedenen Rechnertypen ist die zurückgelieferte Länge unterschiedlich. Auf gar keinen Fall kann strlen( pStr ) +1 == GetStringSizeRes( pStr ) vorausgesetzt werden.

Querverweise

Resource::IncrementRes()

_______________


Resource::GetRemainSizeRes()

USHORT Resource::GetRemainSizeRes();

Beschreibung

Es wird festgestellt, um wie viele Bytes der Zeiger auf die Resource-Daten vom Ende der Resource entfernt ist.

Rückgabewert

USHORT	Die Anzahl der Bytes bis zum Ende.

Querverweise

Resource::IncrementRes()

_______________


Resource::GetLongRes( void* pLong )
Resource::GetLongRes()

static long Resource::GetLongRes( void* pLong );

Beschreibung

...

Parameter

void* pLong

Rückgabewert

static long

_______________


Resource::FreeResource()

void Resource::FreeResource();

Beschreibung

Die Methode gibt die Resourcedaten, die geladen wurden, frei. Die Methode muß aufgerufen werden, nachdem alle benötigten Sub-Resourcen (und Extradaten) geladen sind und keine weiteren Sub-Resourcen (und Extradaten) mehr benötigt werden.

Ausnahmen

Die Methode darf nicht gerufen werden, wenn keine Sub-Resourcen geladen werden.

_______________


Resource::Resource()

Resource::Resource();

Beschreibung

Konstruktor der Klasse Resource.

_______________


Resource::Resource( const ResId& rResId )
Resource::Resource()

Resource::Resource( const ResId& rResId );

Beschreibung

Diese Methode stellt in der aktuellen Resource-Datei einen Pointer auf den Anfang des mit rResId adressierbaren Resource-Objekts.

Parameter

const ResId& rResId	Die Instanz, in der der Identifier und der Typ der Resource festgelegt sind. (Der Typ wird in den Resource-Konstruktoren der entsprechenden StarView-Klassen eingetragen.)

_______________


Resource::~Resource()

Resource::~Resource();

Beschreibung

Gibt es einen Default-Resource-Manager, dann wird dieser freigegeben.

_______________


Resource::SetResManager( ResMgr* pResMgr )
Resource::SetResManager()

static void Resource::SetResManager( ResMgr* pResMgr );

Beschreibung

Ein neuer Resource-Manager wird in die Klasse Resource eingesetzt.

Parameter

ResMgr* pResMgr	Ein Zeiger auf den Resource-Manager. pResMgr darf auch NULL sein, dann wird der Default-Manager eingesetzt.

_______________


ResMgr* Resource::GetResManager()
Resource::GetResManager()

static ResMgr* Resource::GetResManager();

Beschreibung

Der Resource-Manager der Klasse Resource wird zurückgeliefert.

Rückgabewert

ResMgr*	Der Resource-Manager der Klasse Resource.

_______________


ScrollBar

enum ScrollType { SCROLL_DONTKNOW, SCROLL_LINEUP, SCROLL_LINEDOWN,

                  SCROLL_PAGEUP, SCROLL_PAGEDOWN, SCROLL_DRAG };

class ScrollBar : public Control

{

public:

virtual void	Scroll();

virtual void	EndScroll();

ScrollBar( Window* pParent, WinBits nWinStyle = WB_VSCROLL );

ScrollBar( Window* pParent, const ResId& rResId );

~ScrollBar();

Range	ChangeRange( const Range& rRange );

Range	GetRange() const;

short	ChangeThumbPos( short nThumbPos );

short	GetThumbPos() const;

short	ChangeLineSize( short nNewSize );

short	GetLineSize() const;

short	ChangePageSize( short nNewSize );

short	GetPageSize() const;

USHORT	ChangeVisibleSize( USHORT nNewSize );

USHORT	GetVisibleSize() const;

short	GetDelta() const;

ScrollType	GetType() const;

Link	ChangeScrollHdl( const Link& rLink );

Link	GetScrollHdl() const;

Link	ChangeEndScrollHdl( const Link& rLink );

Link	GetEndScrollHdl() const;

};

Beschreibung

ScrollBars sind Controls, die an beliebiger Position in einem Fenster erzeugt werden können. Sie verfügen über den Thumb (ein rechteckiges Feld), der sich innerhalb eines begrenzten Bereichs innerhalb des ScrollBars bewegen kann. Der Thumb kann in Einzelschritten, seitenweise oder durch Draggen bewegt werden. Die Anzahl der möglichen Positionen (der Bereich) des Thumbs kann durch die Applikation gesetzt werden.

Für das Scrollen und das Ende des Scrollens stehen Default-Handler zur Verfügung. Die Applikation kann Handler spezifizieren, die von den Default-Handlern gerufen werden.

Das Setzen des Thumbs auf seine neue Position muß explizit immer durch die Applikation erfolgen. Soll das Umsetzen des Thumbs automatisch geschehen, so muß ein Objekt der abgeleiteten Klasse AutoScrollBar erzeugt werden.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

AutoScrollBar

_______________

ScrollBar::Scroll()

virtual void ScrollBar::Scroll();

Beschreibung

Diese Methode dient als Event-Handler für den ScrollBar. Dieser Handler wird immer dann aufgerufen, wenn der Benutzer den ScrollBar bewegt. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeScrollHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeScrollHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Anmerkungen

Soll die Position des Thumbs geändert werden, so muß dies durch einen Aufruf der Methode ChangeThumbPos() geschehen.

Durch Aufruf der Methode GetDelta() kann der Wert ermittelt werden, um den der Thumb bewegt wurde. Der Rückgabewert der Methode GetDelta() ist der Wert, der mit Hilfe der Methode ChangeLineSize() eingestellt wurde. Ist der Thumb an das Ende des Bereiches gestoßen, so wird die Differenz zwischen der letzten Position und dem Ende des Bereiches zurückgegeben.

Querverweise

ScrollBar::ChangeScrollHdl(), ScrollBar::ChangeThumbPos()

_______________

ScrollBar::EndScroll()

virtual void ScrollBar::EndScroll();

Beschreibung

Diese Methode ist ein Event-Handler für den ScrollBar. Dieser Handler wird immer dann aufgerufen, wenn der Benutzer einen Scrollvorgang beendet hat. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeEndScrollHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeEndScrollHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Anmerkungen

Soll die Position des Thumbs geändert werden, so muß dies durch einen Aufruf der Methode ChangeThumbPos() geschehen. Mit Hilfe der Methode GetDelta() kann der Wert ermittelt werden, um den der Thumb seit dem letzten Setzen des Thumbs bewegt wurde. GetDelta() kann 0 zurückgeben, wenn der Thumb bei einem Scrollvorgang wieder an die alte Position gedraggt wurde.

Querverweise

ScrollBar::ChangeEndScrollHdl(), ScrollBar::ChangeThumbPos()

_______________

ScrollBar::ScrollBar()

ScrollBar::ScrollBar( Window* pParent, WinBits nWinStyle = WB_VSCROLL );

Beschreibung

Konstruktor der Klasse ScrollBar. Die Werte für LineSize und PageSize sind 1, der Range geht von 0 bis 100. Wird weder WB_HSCROLL noch WB_VSCROLL angegeben, so wird ein vertikaler ScrollBar erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Control-Style mit folgenden Stylebits:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

WB_HSCROLL

Ein horizontaler ScrollBar wird erzeugt.

WB_VSCROLL

Ein vertikaler ScrollBar wird erzeugt.

_______________

ScrollBar::ScrollBar()

ScrollBar::ScrollBar( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse ScrollBar.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des ScrollBars.

Querverweise

Resource

_______________

ScrollBar::~ScrollBar()

ScrollBar::~ScrollBar();

Beschreibung

Destruktor der Klasse ScrollBar.

_______________

ScrollBar::ChangeRange()

Range ScrollBar::ChangeRange( const Range& rRange );

Beschreibung

Mit dieser Methode wird der Bereich eines ScrollBars gesetzt. Dabei wird geprüft, ob die Position des Thumbs und die Seitengröße noch korrekt sind. Sie werden im Fehlerfall auf Min bzw. Max gesetzt.

Parameter

const Range& rRange	Der neue Bereich des ScrollBars.

Rückgabewert

Range	Der alte Bereich des ScrollBars.

_______________

ScrollBar::GetRange()

Range ScrollBar::GetRange() const;

Beschreibung

Diese Methode gibt den Bereich eines ScrollBars zurück.

Rückgabewert

Range	Der Bereich des ScrollBars.

_______________

ScrollBar::ChangeThumbPos()

short ScrollBar::ChangeThumbPos( short nThumbPos );

Beschreibung

Mit dieser Methode wird die Position des Thumbs gesetzt. Befindet sich die Thumb-Position außerhalb des gültigen Bereichs, so wird der Thumb auf den größten bzw. kleinsten gültigen Wert gesetzt.

Parameter

short nThumbPos	Die neue Thumb-Position.

Rückgabewert

short	Die alte Thumb-Position.

_______________

ScrollBar::GetThumbPos()

short ScrollBar::GetThumbPos() const;

Beschreibung

Diese Methode liefert als Rückgabewert die aktuelle Position des Thumbs.

Rückgabewert

short	Die Position des Thumbs.

_______________

ScrollBar::ChangeLineSize()

short ScrollBar::ChangeLineSize( short nSize );

Beschreibung

Mit dieser Methode kann die Größe für zeilenweises Scrollen eingestellt werden. Überschreitet die Zeilengröße den Scrollbereich, wird die Zeilengröße auf die Größe des Scrollbereichs gesetzt; dies hat zur Folge, daß kein zeilenweises Scrollen mehr möglich ist.

Parameter

short nSize	Die neue Zeilengröße.

Rückgabewert

short	Die alte Zeilengröße.

_______________

ScrollBar::GetLineSize()

short ScrollBar::GetLineSize() const;

Beschreibung

Mit dieser Methode wird die Zeilengröße eines ScrollBars abgefragt.

Rückgabewert

short	Die Zeilengröße des ScrollBars.

_______________

ScrollBar::ChangePageSize()

short ScrollBar::ChangePageSize( short nSize );

Beschreibung

Mit dieser Methode kann die Größe für seitenweises Scrollen eingestellt werden. Überschreitet die Seitengröße den Scrollbereich, so wird die Seitengröße auf die Größe des Scrollbereichs gesetzt; dies hat zur Folge, daß kein seitenweises Scrollen mehr möglich ist.

Parameter

short nSize	Die neue Seitengröße.

Rückgabewert

short	Die alte Seitengröße.

_______________

ScrollBar::GetPageSize()

short ScrollBar::GetPageSize() const;

Beschreibung

Mit dieser Methode wird die Seitengröße eines ScrollBars abgefragt.

Rückgabewert

short	Die Seitengröße des ScrollBars.

Querverweise

ScrollBar::ChangePageSize()

_______________

ScrollBar::ChangeVisibleSize()

USHORT ScrollBar::ChangeVisibleSize( USHORT nNewSize );

Beschreibung

Mit dieser Methode wird eingestellt, wie groß der Anteil des im Fenster sichtbaren Bereichs am gesamten Range des ScrollBars ist. Auf diese Art und Weise kann die Möglichkeit einiger Fenstersysteme unterstützt werden, durch die Größe des Thumbs (z.B. OS/2) oder andere ScrollBar-Merkmale die Größe des im Fenster sichtbaren Bereichs im Verhältnis zur Größe des dargestellten Dokuments anzuzeigen.

Parameter

USHORT nNewSize	Die neue Größe des sichtbaren Bereichs im Verhältnis zum Range des ScrollBars.

Rückgabewert

USHORT	Die zuvor gesetzte Größe.

_______________

ScrollBar::GetVisibleSize()

USHORT ScrollBar::GetVisibleSize() const;

Beschreibung

Die Methode ermittelt die Größe des im Fenster sichtbaren Bereichs im Verhältnis zum Range des ScrollBars.

Rückgabewert

USHORT	Die Größe des sichtbaren Bereichs im Verhältnis zum Range des ScrollBars.

_______________

ScrollBar::GetDelta()

short ScrollBar::GetDelta() const;

Beschreibung

Mit dieser Methode kann die letzte Bewegung des Thumbs abgefragt werden. Der Wert ist positiv, wenn der Thumb nach unten oder rechts bewegt wurde. Der Thumb kann nur bis zum Minimum bzw. Maximum des Scrollbereichs bewegt werden.

Rückgabewert

short	Die letzte Bewegung des Thumbs. Wird diese Methode außerhalb eines ScrollBar-Handlers aufgerufen, so wird 0 zurückgegeben.

_______________

ScrollBar::GetType()

ScrollType ScrollBar::GetType() const;

Beschreibung

Mit dieser Methode kann im Scroll-Handler abgefragt werden, welche Aktion der Benutzer mit dem ScrollBar ausgeführt hat. Wird diese Methode außerhalb des Scroll-Handlers aufgerufen, liefert sie den Wert SCROLL_DONTKNOW.

Rückgabewert

ScrollType	SCROLL_DONTKNOW

Dieses Ergebnis wird erzeugt, wenn die Methode GetType() außerhalb des Scroll-Handlers aufgerufen wurde.

SCROLL_LINEUP

Der Benutzer scrollt eine Zeile nach oben.

SCROLL_LINEDOWN

Der Benutzer scrollt eine Zeile nach unten.

SCROLL_PAGEUP

Der Benutzer scrollt eine Seite nach oben.

SCROLL_PAGEDOWN

Der Benutzer scrollt eine Seite nach unten.

SCROLL_DRAG

Der Benutzer hat den Thumb verschoben.

_______________

ScrollBar::ChangeScrollHdl()

Link ScrollBar::ChangeScrollHdl( const Link& rLink );

Beschreibung

Durch Aufruf der Methode wird der Handler gesetzt, der nach einer Bedienung des ScrollBars gerufen wird.

Parameter

const Link& rLink	Der Link zeigt auf den Handlert. Als Parameter erhält der Handler einen Zeiger auf den ScrollBar.

Prototyp eines Handlers:

void MyClass::Scroll( ScrollBar* pScrollBar );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link

_______________

ScrollBar::GetScrollHdl()

Link ScrollBar::GetScrollHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn der ScrollBar bedient wird.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________

ScrollBar::ChangeEndScrollHdl()

Link ScrollBar::ChangeEndScrollHdl( const Link& rLink );

Beschreibung

Durch Aufruf der Methode wird der Handler gesetzt, der nach Beendigung eines Scrollvorganges gerufen wird.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer das Scrollen beendet. Als Parameter erhält der Handler einen Zeiger auf den ScrollBar.

Prototyp des Handlers:

void MyClass::EndScroll( ScrollBar* pScrollBar );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ScrollBar::EndScroll()

_______________

ScrollBar::GetEndScrollHdl()

Link ScrollBar::GetEndScrollHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn ein Scrollvorgang beendet wird.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


Selection

#define SELECTION_MIN     ((short)0x8000)

#define SELECTION_MAX     0x7FFF

class Selection : public Pair

{

public:

Selection();

Selection( const Selection& rSelection );

Selection( short nPos );

Selection( short nMin, short nMax );

short	Min() const;

short	Max() const;

short	Len() const;

short&	Min();

short&	Max();

BOOL	IsInside( short nIs ) const;

void	Justify();

BOOL	operator !() const;

};

Beschreibung

Diese Klasse bestimmt den kleinsten und den größten Wert einer Selektion.

Basisklassen

Pair

_______________


Selection::Selection()

Selection::Selection();

Beschreibung

Konstruktor der Klasse Selection. Die Werte für Anfang und Ende der Selektion werden auf 0 gesetzt.

_______________


Selection::Selection( const Selection& rSelection )
Selection::Selection()

Selection::Selection( const Selection& rSelection );

Beschreibung

Copy-Konstruktor der Klasse Selection.

Parameter

const Selection& rSelection	Die Selection-Instanz, deren Werte übernommen werden sollen.

_______________


Selection::Selection( short nPos )
Selection::Selection()

Selection::Selection( short nPos );

Beschreibung

Konstruktor der Klasse Selection. Die Werte für Anfang und Ende der Selektion werden auf nPos gesetzt, das heißt es ist kein Bereich selektiert.

Parameter

short nPos	Dieser Parameter setzt Anfang und Ende der Selektion auf die Position nPos.

_______________


Selection::Selection( short nMin, short nMax )
Selection::Selection()

Selection::Selection( short nMin, short nMax );

Beschreibung

Konstruktor der Klasse Selection.

Parameter

short nMin	Dieser Parameter bestimmt den Anfang der Selektion. Der kleinste Wert ist SELECTION_MIN.

short nMax	Dieser Parameter bestimmt das Ende der Selektion. Der größte Wert ist SELECTION_MAX.

_______________


Selection::Min()

short Selection::Min() const;

Beschreibung

Mit dieser Methode kann der Anfang der Selektion abgefragt werden.

Rückgabewert

short	Der Anfang der Selektion.

_______________


Selection::Max()

short Selection::Max() const;

Beschreibung

Mit dieser Methode kann das Ende der Selektion abgefragt werden.

Rückgabewert

short	Das Ende der Selektion.

_______________


Selection::Len()

short Selection::Len() const;

Beschreibung

Diese Methode liefert die Länge der Selektion (nMax-nMin) zurück.

Rückgabewert

short	Die Länge der Selektion.

_______________


Selection::Min()

short& Selection::Min();

Beschreibung

Mit dieser Methode kann der Anfang der Selektion gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf den Anfang der Selektion.

_______________


Selection::Max()

short& Selection::Max();

Beschreibung

Mit dieser Methode kann das Ende der Selektion gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf das Ende der Selektion.

_______________


Selection::IsInside( short nIs )
Selection::IsInside()

BOOL Selection::IsInside( short nIs ) const;

Beschreibung

Diese Methode prüft, ob sich der übergebene Wert im Selektionsbereich befindet. Der Wert nMax liegt dabei nicht im Selektionsbereich. Ist nMin gleich nMax, befindet sich kein Wert im Selektionsbereich.

Parameter

short nIs	Der Wert, der überprüft werden soll.

Rückgabewert

BOOL	TRUE

Der übergebene Wert befindet sich im Selektionsbereich.

FALSE

Der übergebene Wert befindet sich nicht im gesetzten Selektionsbereich.

_______________


Selection::Justify()

void Selection::Justify();

Beschreibung

Diese Methode überprüft, ob der Anfang der Selektion kleiner ist als das Ende der Selektion, und vertauscht gegebenenfalls die beiden Werte.

_______________


Selection::operator !()

BOOL Selection::operator !() const;

Beschreibung

Diese Methode liefert TRUE, wenn die Länge der Selektion 0 (nMin==nMax) ist.

Rückgabewert

BOOL	TRUE

Die Länge der Selektion ist 0 (nMin==nMax).

FALSE

Die Länge der Selektion ist nicht 0 (nMin!=nMax).

_______________


PrinterSetupDialog

class PrinterSetupDialog : public SystemDialog

{

public:

PrinterSetupDialog( Window* pParent, WinBits nWinStyle );

PrinterSetupDialog( Window* pParent, const ResId& rResId );

virtual	~PrinterSetupDialog();

Printer*	ChangePrinter( Printer* pPrinter );

Printer*	GetPrinter() const;

short	Execute();

};

Beschreibung

Die Klasse PrinterSetupDialog ist von SystemDialog abgeleitet und bietet eine einfache Möglichkeit, dem Anwender eine Printerauswahl anzubieten. Dabei wird auf allen Systemen der Standard-SystemDialog benutzt, wenn einer vorhanden ist. Auf den anderen Systemen wird ein entsprechender Dialog nachgebildet. Dieser Dialog unterscheidet sich von dem Dialog, der mit der Methode Printer::Setup() erzeugt werden kann. So können in diesem Dialog auf einigen Systemen nicht nur die Einstellungen vom aktuellen Drucker geändert, sondern auch der Druckertreiber gewechselt werden.

Damit der Dialog gestartet werden kann, muß ein Drucker in den Dialog selektiert werden. Falls der Dialog mit dem OK-Button beendet wird, werden die Daten im selektierten Printer neu gesetzt.

Basisklassen

SystemDialog : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Beispiel

long MyWindow::PrinterSetup( Menu* )

{

PrinterSetupDialog aSetupDlg( this, WB_STDMODAL | WB_SVLOOK );

aSetupDlg.ChangePrinter( aDoc.GetPrinter() );

aSetupDlg.Execute();

return TRUE;

}

Querverweise

Printer, PrintDialog, SystemDialog, ModalDialog, Control, Printer::Setup()

_______________


PrinterSetupDialog::PrinterSetupDialog( Window* pParent, WinBits nWinStyle )
PrinterSetupDialog::PrinterSetupDialog()

PrinterSetupDialog::PrinterSetupDialog( Window* pParent, WinBits nWinStyle );

Beschreibung

Konstruktor der Klasse PrinterSetupDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_MOVEABLE

Die Dialogbox kann bewegt werden.

WB_SVLOOK

Die Dialogbox erscheint im StarView-Look.

Style-Kombinationen:

WB_STDMODAL

Verschiebbar.

Querverweise

Application::EnableSVLook()

_______________


PrinterSetupDialog::PrinterSetupDialog( Window* pParent, const ResId& rResId )
PrinterSetupDialog::PrinterSetupDialog()

PrinterSetupDialog::PrinterSetupDialog( Window* pParent, const ResId& rResId );

Beschreibung

Konstruktor der Klasse PrinterSetupDialog.

Parameter

Window* pParent	Der Zeiger auf den Parent der Dialogbox.

const ResId& rResId	Der Resource-Identifier der Dialogbox

_______________


PrinterSetupDialog::~PrinterSetupDialog()

virtual PrinterSetupDialog::~PrinterSetupDialog();

Beschreibung

Destruktor der Klasse PrinterSetupDialog.

_______________


PrinterSetupDialog::ChangePrinter( Printer* pPrinter )
PrinterSetupDialog::ChangePrinter()

Printer* PrinterSetupDialog::ChangePrinter( Printer* pPrinter );

Beschreibung

Die Methode setzt den Drucker, von dem die Einstellungen geändert werden sollen. Der Dialog kann nur gestartet werden, wenn ein Drucker zugeordnet wurde.

Parameter

Printer* pPrinter	Zeiger auf die Drucker-Instanz, von der die Einstellungen geändert werden.

Rückgabewert

Printer*	Zeiger auf den bisher zugeordneten Drucker.

Querverweise

Printer

_______________


PrinterSetupDialog::GetPrinter()

Printer* PrinterSetupDialog::GetPrinter() const;

Beschreibung

Die Methode gibt den gesetzten Drucker zurück.

Rückgabewert

Printer*	Zeiger auf die zugeordnete Drucker-Instanz.

Querverweise

Printer

_______________


PrinterSetupDialog::Execute()

short PrinterSetupDialog::Execute();

Beschreibung

Die Methode startet die Eingabeverarbeitung für die Setup-Dialogbox. Nur wenn ein Drucker mit ChangePrinter() zugeordnet wurde, kann der Dialog gestartet werden.

Rückgabewert

short	TRUE

Der Dialog wurde durch Auswahl des OK-Buttons beendet, und die Daten im Printer wurden neu gesetzt.

FALSE

Der Dialog wurde durch Auswahl des Cancel-Buttons beendet, oder es wurde kein Printer selektiert.

_______________


Size

class Size : public Pair

{

public:

Size();

Size( const Size& rSize );

Size( short nWidth, short nHeight );

short	Width() const;

short	Height() const;

short&	Width();

short&	Height();

};

Beschreibung

Diese Klasse bestimmt eine zweidimensionale Größe.

Anmerkungen

Diese Klasse erbt die Operatoren == und != der Klasse Pair.

Basisklassen

Pair

Beispiel

// Gibt ein Quadrat an der Position 100,100 mit der Größe 200

// aus

DrawRect( Point( 100, 100 ), Size( 200, 200 ) );

_______________


Size::Size()

Size::Size();

Beschreibung

Konstruktor der Klasse Size. Die Werte für Höhe und Breite werden auf 0 gesetzt.

_______________


Size::Size( const Size& rSize )
Size::Size()

Size::Size( const Size& rSize );

Beschreibung

Copy-Konstruktor der Klasse Size.

Parameter

const Size& rSize	Die Size-Instanz, deren Werte übernommen werden sollen.

_______________


Size::Size( short nWidth, short nHeight )
Size::Size()

Size::Size( short nWidth, short nHeight );

Beschreibung

Konstruktor der Klasse Size.

Parameter

short nWidth	Dieser Parameter bestimmt die Breite.

short nHeight	Dieser Parameter bestimmt die Höhe.

_______________


Size::Width()

short Size::Width() const;

Beschreibung

Mit dieser Methode kann die Breite abgefragt werden.

Rückgabewert

short	Die Breite des Objektes.

_______________


Size::Height()

short Size::Height() const;

Beschreibung

Mit dieser Methode kann die Höhe abgefragt werden.

Rückgabewert

short	Die Höhe des Objektes.

_______________


Size::Width()

short& Size::Width();

Beschreibung

Mit dieser Methode kann die Breite gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf die Breite des Objektes.

_______________


Size::Height()

short& Size::Height();

Beschreibung

Mit dieser Methode kann die Höhe gesetzt und abgefragt werden.

Rückgabewert

short&	Eine Referenz auf die Höhe des Objektes.

_______________


Sound

enum SoundType	{ SOUND_DEFAULT, SOUND_INFO, SOUND_WARNING, SOUND_ERROR, SOUND_QUERY };

class Sound

{

public:

static void	Beep( SoundType eType = SOUND_DEFAULT );

};

Beschreibung

Diese Klasse stellt einen Mechanismus zur Verfügung, mit dem ein Beep ausgegeben werden kann. Für diese Methode muß keine Instanz erzeugt werden. Mit dem Kommando Sound::Beep() wird ein Beep ausgegeben. Die Erweiterung der Klasse um komplexere Sound-Möglichkeiten ist geplant.

_______________


enum SoundType

enum SoundType	{ SOUND_DEFAULT, SOUND_INFO, SOUND_WARNING, SOUND_ERROR, SOUND_QUERY };

Beschreibung

Mit Hilfe der Werte des enum SoundType werden Standard-Töne erzeugt. Der Klang des Tons entspricht den Standards des zugrundeliegenden Fenstersystems.

SOUND_DEFAULT	Normaler Beep bzw. Standard-Ton.

SOUND_INFO	Ton, der bei der Anzeige von Informationen benutzt wird.

SOUND_WARNING	Ton, der bei der Anzeige von Warnings benutzt wird.

SOUND_ERROR	Ton, der bei der Anzeige von Fehlern benutzt wird.

SOUND_QUERY	Ton, der bei Abfragen benutzt wird.

_______________


Sound::Beep( SoundType eType = SOUND_DEFAULT )
Sound::Beep()

static void Sound::Beep( SoundType eType = SOUND_DEFAULT );

Beschreibung

Diese Methode gibt einen Beep aus.

Parameter

SoundType eType	Ein Wert des enum SoundType.

_______________


SpinButton

class SpinButton : public Control

{

protected:

virtual void	Up();

virtual void	Down();

public:

SpinButton(Window* pParent,WinBits nWinStyle = 0);

SpinButton(Window* pParent, const ResId& rResId);

~SpinButton();

Link	ChangeUpHdl( const Link& rLink );

Link	GetUpHdl() const;

Link	ChangeDownHdl( const Link& rLink );

Link	GetDownHdl() const;

};

Beschreibung

SpinButtons werden in eigenen Spin-Controls eingesetzt. Diese Buttons können beliebig positioniert werden und zeigen einen Bereich mit einem aufwärtsgerichteten Pfeil und einen Bereich mit einem abwärts gerichteten Pfeil. Das Betätigen eines dieser Bereiche mit der Maus führt zum Aufruf des entsprechenden Handlers Up() bzw. Down().

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

Querverweise

SpinField

_______________

SpinButton::Up()

virtual void SpinButton::Up();

Beschreibung

Dieser Handler wird von StarView immer dann gerufen, wenn der aufwärts gerichtete Pfeil des SpinButtons aktiviert wird.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeUpHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeUpHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

SpinButton::ChangeUpHdl()

_______________

SpinButton::Down()

virtual void SpinButton::Down();

Beschreibung

Dieser Handler wird von StarView immer dann gerufen, wenn der abwärts gerichtete Pfeil des SpinButtons aktiviert wird.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeDownHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeDownHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

SpinButton::ChangeDownHdl()

_______________

SpinButton::SpinButton()

SpinButton::SpinButton( Window* pParent, WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse SpinButton.

Parameter

Window* pParent	Der Parent des SpinButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_REPEAT

Wenn der SpinButton gedrückt bleibt, wird automatisch der Up bzw. Down-Handler widerholt gerufen.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________

SpinButton::SpinButton()

SpinButton::SpinButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse SpinButton.

Parameter

Window* pParent	Der Parent des SpinButtons.

const ResId& rResId	Die ID des SpinButtons in der Resource.

Querverweise

Resource

_______________

SpinButton::~SpinButton()

SpinButton::~SpinButton();

Beschreibung

Destruktor der Klasse SpinButton.

_______________

SpinButton::ChangeUpHdl()

Link SpinButton::ChangeUpHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer den aufwärts gerichteten Pfeil des SpinButtons aktiviert.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der aufwärts gerichtete Pfeil des SpinButtons aktiviert wird. Als Parameter erhält der Handler einen Zeiger auf das SpinButton.

Prototyp des Handlers:

void MyClass::Up( SpinButton* pField );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinButton::Up()

_______________

SpinButton::GetUpHdl()

Link SpinButton::GetUpHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer den aufwärts gerichteten Pfeil des SpinButtons aktiviert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________

SpinButton::ChangeDownHdl()

Link SpinButton::ChangeDownHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer den abwärts gerichteten Pfeil des SpinButtons aktiviert.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der abwärts gerichtete Pfeil des SpinButtons aktiviert wird. Als Parameter erhält der Handler einen Zeiger auf den SpinButton.

Prototyp des Handlers:

void MyClass::Down( SpinButton* pButton );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinButton::Down()

_______________

SpinButton::GetDownHdl()

Link SpinButton::GetDownHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer den abwärts gerichteten Pfeil des SpinButtons aktiviert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


SpinField

class SpinField : public Edit

{

protected:

virtual void	Up();

virtual void	Down();

virtual void	First();

virtual void	Last();

public:

SpinField(Window* pParent,WinBits nWinStyle = 0);

SpinField( Window* pParent, const ResId& rResId);

~SpinField();

Link	ChangeUpHdl( const Link& rLink );

Link	GetUpHdl() const;

Link	ChangeDownHdl( const Link& rLink );

Link	GetDownHdl() const;

Link	ChangeFirstHdl( const Link& rLink );

Link	GetFirstHdl() const;

Link	ChangeLastHdl( const Link& rLink );

Link	GetLastHdl() const;

};

Beschreibung

Das SpinField ist ein einzeiliges Editfeld, das zusätzlich über einen SpinButton verfügen kann.

Basisklassen

Edit  : Control : Window  :  OutputDevice  :  Resource :  LinkHdl

Querverweise

SpinButton  ;  Edit

_______________


SpinField::Up()

virtual void SpinField::Up();

Beschreibung

Dieser Handler wird von StarView immer dann gerufen, wenn der aufwärts gerichtete Pfeil des SpinButtons betätigt, oder die Cursor-Up Taste gedrückt wird.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeUpHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Handler der Basisklasse explizit aufgerufen werden. Wurde mit der Methode ChangeUpHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

SpinField::ChangeUpHdl()

_______________


SpinField::Down()

virtual void SpinField::Down();

Beschreibung

Dieser Handler wird von StarView immer dann gerufen, wenn der abwärts gerichtete Pfeil des SpinButtons aktiviert, oder die Cursor-Down Taste gedrückt wird.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeDownHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Handler der Basisklasse explizit aufgerufen werden. Wurde mit der Methode ChangeDownHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

SpinField::ChangeDownHdl()

_______________


SpinField::First()

virtual void SpinField::First();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer in einem SpinField die Taste <PGDN> betätigt. Es ist somit möglich in einem Schritt auf einen Minimalwert zu springen.

Querverweise

SpinField::ChangeFirstHdl(), NumericField::ChangeFirst(), MetricField::ChangeFirst(), CurrencyField::ChangeFirst(), DateField::ChangeFirst(), TimeField::ChangeFirst()

_______________


SpinField::Last()

virtual void SpinField::Last();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer in einem SpinField die Taste <PGDN> betätigt. Es ist somit möglich in einem Schritt auf einen Maximalwert zu springen.

Querverweise

SpinField::ChangeLastHdl(), NumericField::ChangeLast(), MetricField::ChangeLast(), CurrencyField::ChangeLast(), DateField::ChangeLast(), TimeField::ChangeLast()

_______________


SpinField::SpinField(Window* pParent,WinBits nWinStyle = 0)
SpinField::SpinField()

SpinField::SpinField(Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse SpinField. Es wird ein Objekt der Klasse SpinField mit dem Parent pParent und einem optionalen SpinButton erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das SpinField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das SpinField erhält einen SpinButton.

WB_REPEAT

Bei längeranhaltener Betätigung des SpinButtons soll die Aktion fortlaufend ausgeführt werden.

Querverweise

Edit, Window

_______________


SpinField::SpinField( Window* pParent, const ResId& rResId)
SpinField::SpinField()

SpinField::SpinField( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse SpinField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des SpinFields.

Querverweise

Resource

_______________


SpinField::~SpinField()

SpinField::~SpinField();

Beschreibung

Destruktor der Klasse SpinField.

_______________


SpinField::ChangeUpHdl( const Link& rLink )
SpinField::ChangeUpHdl()

Link SpinField::ChangeUpHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer den aufwärts gerichteten Pfeil des SpinButtons betätigt oder die Cursor-Up Taste drückt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der aufwärts gerichtete Pfeil des SpinButtons aktiviert oder die Cursor-Up Taste gedrückt wird. Als Parameter erhält der Handler einen Zeiger auf das SpinField.

Prototyp des Handlers:

void MyClass::Up( SpinField* pField );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinField::Up()

_______________


SpinField::GetUpHdl()

Link SpinField::GetUpHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer den aufwärts gerichteten Pfeil des SpinButtons betätigt oder die Cursor-Up Taste drückt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


SpinField::ChangeDownHdl( const Link& rLink )
SpinField::ChangeDownHdl()

Link SpinField::ChangeDownHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer den abwärts gerichteten Pfeil des SpinButtons betätigt oder die Cursor-Down Taste drückt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der abwärts gerichtete Pfeil des SpinButtons betätigt oder die Cursor-Down Taste gedrückt wird. Als Parameter erhält der Handler einen Zeiger auf das SpinField.

Prototyp des Handlers:

void MyClass::Down( SpinField* pField );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinField::Down()

_______________


SpinField::GetDownHdl()

Link SpinField::GetDownHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer den abwärts gerichteten Pfeil des SpinButtons betätigt oder die Cursor-Down Taste drückt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


SpinField::ChangeFirstHdl( const Link& rLink )
SpinField::ChangeFirstHdl()

Link SpinField::ChangeFirstHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGDN> betätigt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGDN> betätigt. Als Parameter erhält der Handler einen Zeiger auf das SpinField.

Prototyp des Handlers:

void MyClass::First( SpinField* pField );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinField::First()

_______________


SpinField::GetFirstHdl()

Link SpinField::GetFirstHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGDN> betätigt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


SpinField::ChangeLastHdl( const Link& rLink )
SpinField::ChangeLastHdl()

Link SpinField::ChangeLastHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGUP> betätigt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGUP> betätigt. Als Parameter erhält der Handler einen Zeiger auf das SpinField.

Prototyp des Handlers:

void MyClass::Last( SpinField* pField );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, SpinField::Last()

_______________


SpinField::GetLastHdl()

Link SpinField::GetLastHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer in einem SpinField die Taste <PGUP> betätigt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


SplitBar

class SplitBar : public Splitter

{

public:

SplitBar( Window*pParent, WinBits nWinStyle = WB_VSCROLL);

SplitBar( Window*pParent, constResId& rResId);

~SplitBar();

short	ChangeSplitPosPixel( shortnPos);

USHORT	ChangeSplitWidthPixel( USHORT nWidth);

USHORT	GetSplitWidthPixel() const;

ScrollBar*	ChangeScrollBar1( ScrollBar* pScroll);

ScrollBar*	GetScrollBar1() const;

ScrollBar*	ChangeScrollBar2( ScrollBar* pScroll);

ScrollBar*	GetScrollBar2() const;

};

Beschreibung

Zusammen mit der Basislasse Splitter bietet diese Klasse eine Möglichkeit, das dynamische Teilen von Fenstern zu implementieren. Eine Instanz der Klasse SplitBar (horizontal oder vertikal) verwaltet jeweils zwei ScrollBars. Es sind in einer Instanz der Klasse SplitBar standardmäßig zwei ScrollBars enthalten. Bei Bedarf kann eine Applikation eigene ScrollBars in die SplitBar hineinselektieren.

Die beiden ScrollBars liegen hintereinander auf der Fläche der SplitBar. Eine schmale Trennstelle zwischen den ScrollBars ermöglicht die Anordnung.

Basisklassen

Splitter  :  Window  :  OutputDevice  :  Resource  :  LinkHdl

Querverweise

ScrollBar, AutoScrollBar

_______________


SplitBar::SplitBar()

SplitBar::SplitBar(Window* pParent, WinBits nWinStyle = WB_VSCROLL);

Beschreibung

Konstruktor der Klasse SplitBar. Wird weder WB_HSCROLL noch WB_VSCROLL angegeben, so wird ein vertikaler SplitBar erzeugt. Standardmäßig sind in der Instanz der Klasse SplitBar zwei ScrollBars enthalten.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_HSCROLL

Es wird ein horizontaler SplitBar erzeugt.

WB_VSCROLL

Es wird ein vertikaler ScrollBar erzeugt.

_______________


SplitBar::SplitBar( Window* pParent, const ResId& rResId )
SplitBar::SplitBar()

SplitBar::SplitBar( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse SplitBar.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des SplitBars.

Querverweise

Resource

_______________


SplitBar::~SplitBar()

SplitBar::~SplitBar();

Beschreibung

Destruktor der Klasse SplitBar.

_______________


SplitBar::ChangeSplitPosPixel( short nPos )
SplitBar::ChangeSplitPosPixel()

short SplitBar::ChangeSplitPosPixel( short nPos );

Beschreibung

Die Methode setzt die Position neu, an der die Trennstelle zwischen den beiden ScrollBars erscheint. Die Angabe erfolgt in Pixeln vom oberen Rand einer vertikalen oder vom linken Rand einer horizontalen SplitBar.

Parameter

short nPos	Die Position der Trennstelle in Pixeln.

Rückgabewert

short	Die alte Position der Trennstelle in Pixeln.

_______________


SplitBar::ChangeSplitWidthPixel( USHORT nWidth )
SplitBar::ChangeSplitWidthPixel()

USHORT SplitBar::ChangeSplitWidthPixel( USHORT nWidth );

Beschreibung

Die Methode setzt die Breite der Trennstelle zwischen den ScrollBars in Pixeln.

Parameter

USHORT nWidth	Die Breite der Trennstelle in Pixeln.

Rückgabewert

USHORT	Die alte Breite der Trennstelle in Pixeln.

_______________


SplitBar::GetSplitWidthPixel()

USHORT SplitBar::GetSplitWidthPixel() const;

Beschreibung

Die Methode gibt die Breite der Trennstelle zwischen den beiden ScrollBars in Pixeln zurück.

Rückgabewert

USHORT	Die Breite der Trennstelle in Pixeln.

_______________


SplitBar::ChangeScrollBar1( ScrollBar* pScroll )
SplitBar::ChangeScrollBar1()

ScrollBar* SplitBar::ChangeScrollBar1( ScrollBar* pScroll );

Beschreibung

Die Methode setzt einen neuen ScrollBar. Bei einem horizontalen SplitBar ist dies der linke und bei einem vertikalen SplitBar der obere ScrollBar.

Parameter

ScrollBar* pScroll	Der ScrollBar, der zum neuen Scrollbar 1 werden soll.

Rückgabewert

ScrollBar*	Der bisherige ScrollBar 1.

_______________


SplitBar::GetScrollBar1()

ScrollBar* SplitBar::GetScrollBar1() const;

Beschreibung

Die Methode ermittelt die Scrollbar 1.  Bei einem horizontalen SplitBar ist dies der linke und bei einem vertikalen SplitBar der obere ScrollBar.

Rückgabewert

ScrollBar*	Der ScrollBar 1.

_______________


SplitBar::ChangeScrollBar2( ScrollBar* pScroll )
SplitBar::ChangeScrollBar2()

ScrollBar* SplitBar::ChangeScrollBar2( ScrollBar* pScroll );

Beschreibung

Die Methode setzt einen neuen ScrollBar 2.  Bei einem horizontalen SplitBar ist dies der rechte und bei einem vertikalen SplitBar der untere ScrollBar.

Parameter

ScrollBar* pScroll	Der ScrollBar, der zum neuen Scrollbar 2 werden soll.

Rückgabewert

ScrollBar*	Der bisherige ScrollBar 2.

_______________


SplitBar::GetScrollBar2()

ScrollBar* SplitBar::GetScrollBar2() const;

Beschreibung

Die Methode ermittelt den ScrollBar 2.   Bei einem horizontalen SplitBar ist dies der rechte und bei einem vertikalen SplitBar der untere ScrollBar.

Rückgabewert

ScrollBar*	Der ScrollBar 2.

_______________


Splitter

class Splitter : public Window

{

protected:

virtual void	Split();

public:

Splitter( Window* pParent, WinBits nWinStyle = WB_VSCROLL );

Splitter( Window* pParent, const ResId& rResId );

~Splitter();

void	StartDrag();

Rectangle	ChangeDragRectPixel( const Rectangle& rDragRect, Window* pRefWin = NULL );

Rectangle	GetDragRectPixel() const;

virtual short	ChangeSplitPosPixel( short nPos );

short	GetSplitPosPixel() const;

Link	ChangeSplitHdl( const Link& rLink );

Link	GetSplitHdl() const;

};

Beschreibung

Die Klasse Splitter stellt die Basisfunktionalität zur Implementation von teilbaren Fenstern zur Verfügung. Die Fläche des Splitters selbst dient dabei als sensitive Fläche zum Starten eines Drag-Vorganges.

Basisklassen

Window : OutputDevice : Resource : LinkHdl

Querverweise

SplitBar, ScrollBar, AutoScrollBar

_______________


Splitter::Split()

virtual void Splitter::Split();

Beschreibung

Dieser Handler wird nach dem Ende eines Drag-Vorganges gerufen und kann dazu verwendet werden, die Applikation über die neue Position der Trennstelle zwischen zwei Fenstern zu informieren.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeSplitHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeSplitHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

Splitter::ChangeSplitHdl(), Splitter::GetSplitPosPixel()

_______________


Splitter::Splitter(Window* pParent, WinBits nWinStyle = WB_VSCROLL)
Splitter::Splitter()

Splitter::Splitter(Window* pParent, WinBits nWinStyle = WB_VSCROLL);

Beschreibung

Konstruktor der Klasse Splitter. Wird weder WB_HSCROLL noch WB_VSCROLL angegeben, so wird ein vertikaler Splitter erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_HSCROLL

Es wird ein horizontaler Splitter erzeugt.

WB_VSCROLL

Es wird ein vertikaler Splitter erzeugt.

_______________


Splitter::Splitter( Window* pParent, const ResId& rResId )
Splitter::Splitter()

Splitter::Splitter( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Splitter.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des Splitters.

Querverweise

Resource

_______________


Splitter::~Splitter()

Splitter::~Splitter();

Beschreibung

Destruktor der Klasse Splitter.

_______________


Splitter::StartDrag()

Splitter::~Splitter();

Beschreibung

Destruktor der Klasse Splitter.

_______________


Splitter::ChangeDragRectPixel()

Rectangle Splitter::ChangeDragRectPixel( const Rectangle& rDragRect, Window* pRefWin = NULL );

Beschreibung

Diese Methode setzt das Rechteck, in dem während eines Drag-Vorgangs eine Linie zur Markierung der neuen Trennstelle gezeichnet wird. Bei einem horizontalen Splitter wird eine senkrechte und bei einem vertikalen Splitter eine horizontale Linie gezeichnet. Die Angabe der Koordinaten des Rechtecks erfolgt relativ zur Ausgabefläche des übergebenen Fensters. Wird kein Fenster übergeben, beziehen sich die Koordinaten auf die linke obere Bildschirmecke.

Parameter

const Rectangle& rRect	Das Rechteck, in dem die Markierungslinie während des Drag-Vorgangs gezeichnet wird in Pixelkoordinaten.

Window* pRefWin	Das Fenster, zu dessen Ausgabefläche die Koordinaten des Rechtecks angegeben werden. Wird kein Fenster übergeben , wird die Ausgabefläche des Bildschirms angenommen.

Rückgabewert

Rectangle	Das bisher gesetzte Rechteck.

Querverweise

Splitter::GetDragRectPixel()

_______________


Splitter::GetDragRectPixel()

Rectangle Splitter::GetDragRectPixel() const;

Beschreibung

Das gesetzte Rechteck, in dem die Markierungslinie während des Drag-Vorgangs gezeichnet wird.

Rückgabewert

Rectangle	Das gesetzte Rechteck in Pixelkoordinaten.

_______________


Splitter::ChangeSplitPosPixel( short nPos )
Splitter::ChangeSplitPosPixel()

virtual short Splitter::ChangeSplitPosPixel( short nPos );

Beschreibung

Die Methode setzt die Position der Trennstelle in Pixeln. Bei einem horizontalen Splitter ist die Angabe relativ zur linken und bei einem vertikalen Splitter relativ zur oberen Kante des Splitters.

Parameter

short nPos	Die Position der Trennstelle in Pixeln.

Rückgabewert

short	Die alte Position der Trennstelle in Pixeln.

Querverweise

Splitter::GetSplitPosPixel()

_______________


Splitter::GetSplitPosPixel()

short Splitter::GetSplitPosPixel();

Beschreibung

Gibt die aktuelle Position der Trennstelle zurück.

Rückgabewert

short	Die aktuelle Position der Trennstelle in Pixeln.

Querverweise

Splitter::ChangeSplitPosPixel()

_______________


Splitter::ChangeSplitHdl( const Link& rLink )
Splitter::ChangeSplitHdl()

Link Splitter::ChangeSplitHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn ein Drag-Vorgang beendet wurde. Innerhalb des Handlers kann die neue Position der Trennstelle mit Hilfe der Methode GetSplitPosPixel() abgefragt werden.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn ein Drag.Vorgang beendet wurde. Als Parameter erhält der Handler einen Zeiger auf den Splitter.

Prototyp des Handlers:

void MyClass::Split( Splitter* pSplitter );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, Splitter::Split(), Splitter::GetSplitPosPixel()

_______________


Splitter::GetSplitHdl()

Link Splitter::GetSplitHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn  ein Drag-Vorgang beendet wurde.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link, Splitter::ChangeSplitPosPixel(), Splitter::Split()

_______________


Stack

#define STACK_ENTRY_NOTFOUND  CONTAINER_ENTRY_NOTFOUND

class Stack : private Container

{

public:

Stack( USHORT nInitSize = 16, USHORT nReSize = 16 );

Stack( const Stack& rStack );

~Stack();

void	Push( void* p );

void*	Pop();

void*	Top() const;

void	Clear();

ULONG	Count() const;

void*	GetObject( ULONG nPos ) const;

ULONG	GetPos( const void* p ) const;

Stack&	operator =( const Stack& rStack );

BOOL	operator ==( const Stack& rStack ) const;

BOOL	operator !=( const Stack& rStack ) const;

};

Beschreibung

Die Klasse Stack stellt die Basisfunktionalität eines Stacks zur Verfügung. Da nur Zeiger verwaltet werden, eignet sich die Klasse für die Speicherung von beliebigen Objekten. Dabei werden nicht die Daten kopiert oder gelöscht, auf die die Zeiger zeigen. Für das Speichern von Zeigern eines bestimmten Typs kann das DECLARE-Makro verwendet werden.

Der Stack ist nach dem LiFo-Prinzip organisiert, das heißt, daß der zuletzt hinzugefügte Zeiger als erster gelesen wird. Dieser Mechanismus kann nicht manipuliert werden, jedoch ist es möglich, auf alle Zeiger jederzeit zuzugreifen.

Anmerkungen

Es sollten keine NULL-Zeiger übergeben oder gespeichert werden. Andernfalls ist es nicht möglich, bei den Methoden, die einen Zeiger zurückgeben, zu unterscheiden, ob es der gespeicherte Zeiger oder kein gültiger Zeiger ist.

Basisklassen

Container

_______________


DECLARE_STACK( ClassName, Type )
DECLARE_STACK()

DECLARE_STACK( ClassName, Type )

Beschreibung

Die Klasse Stack speichert ausschließlich typenlose Zeiger (void*). Soll innerhalb einer Applikation ein Stack erzeugt werden, der nur Zeiger eines bestimmten Typs verarbeitet, so muß eine Ableitung der Klasse Stack erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht, wobei darauf geachtet werden muß, daß der übergebene Typ ein Zeiger ist, wenn eine Datenstruktur größer als sizeof(void*) gespeichert werden soll. Dieses Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den der Stack verwalten soll.

Beispiel

// Es wird mit Hilfe des Makros DECLARE_STACK() eine

// Ableitung der Klasse Stack erzeugt, die lediglich Zeiger auf

// Instanzen der Klasse MyStruct verarbeitet.

struct MyStruct

{

...

};

DECLARE_STACK( MyStack, MyStruct* );

...

MyStack aStack( 100, 0 );

aStack.Push( new MyStruct(...) );

...

_______________


Stack::Stack( USHORT nInitSize = 16, USHORT nReSize = 16 )
Stack::Stack()

Stack::Stack( USHORT nInitSize = 16, USHORT nReSize = 16 );

Beschreibung

Konstruktor der Klasse Stack. Bei diesem Konstruktor können die Initialgröße und die Reallokierungsgröße eingestellt werden. Dieser Konstruktor wird auch als Default-Konstruktor verwendet.

Parameter

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen des Stacks gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert vom Stack vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die der Stack automatisch erweitert wird, wenn neuer Speicherplatz angelegt werden muß. Ist der Parameter 0, so wird der Wert vom Stack vorgegeben.

_______________


Stack::Stack( const Stack& rStack )
Stack::Stack()

Stack::Stack( const Stack& rStack );

Beschreibung

Copy-Konstruktor der Klasse Stack. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Stacks. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const Stack& rStack	Der Stack, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


Stack::~Stack()

Stack::~Stack();

Beschreibung

Destruktor der Klasse Stack. Es werden alle vom Stack angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


Stack::Push( void* p )
Stack::Push()

void Stack::Push( void* p );

Beschreibung

Der übergebene Zeiger wird auf den Stack gelegt.

Parameter

void* p	Der Zeiger, der auf den Stack gelegt wird.

_______________


Stack::Pop()

void* Stack::Pop();

Beschreibung

Es wird der zuletzt hinzugefügte Zeiger entfernt und zurückgegeben.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Ist der Stack leer, so wird NULL zurückgegeben.

_______________


Stack::Top()

void* Stack::Top() const;

Beschreibung

Es wird der zuletzt hinzugefügte Zeiger zurückgegeben.

Rückgabewert

void*	Der zuletzt hinzugefügte Zeiger. Ist der Stack leer, so wird NULL zurückgegeben.

_______________


Stack::Clear()

void Stack::Clear();

Beschreibung

Es werden alle gespeicherten Zeiger gelöscht. Dabei werden jedoch nicht die Daten gelöscht, auf die die Zeiger zeigen. Der Stack ist nach Aufruf dieser Methode leer.

_______________


Stack::Count()

ULONG Stack::Count() const;

Beschreibung

Es wird zurückgegeben, wie viele Zeiger auf dem Stack gespeichert sind.

Rückgabewert

ULONG	Die Anzahl der auf dem Stack gespeicherten Zeiger.

_______________


Stack::GetObject( ULONG nPos )
Stack::GetObject()

void* Stack::GetObject( ULONG nPos ) const;

Beschreibung

Der Zeiger an der Position nPos innerhalb des Stacks wird zurückgegeben.

Parameter

ULONG nPos	Die Position des Zeigers innerhalb des Stacks, der zurückgegeben werden soll. Der zuerst abgelegte Zeiger hat die Position 0.

Rückgabewert

void*	Der Zeiger, der sich an der Position nPos befindet. Liegt die Position außerhalb des Bereiches, so wird NULL zurückgegeben.

_______________


Stack::GetPos( const void* p )
Stack::GetPos()

ULONG Stack::GetPos( const void* p ) const;

Beschreibung

Die Position des angegebenen Zeigers relativ zum Stackanfang wird zurückgegeben.

Parameter

const void* p	Der Zeiger, dessen Position zurückgegeben werden soll.

Rückgabewert

ULONG	Die Position des ersten Auftretens des übergebenen Zeigers innerhalb des Stacks. Befindet sich der Zeiger nicht im Stack, so wird STACK_ENTRY_NOTFOUND zurückgegeben.

_______________


Stack::operator =( const Stack& rStack )
Stack::operator =()

Stack& Stack::operator =( const Stack& rStack );

Beschreibung

Zuweisungsoperator der Klasse Stack. Dieser Operator löscht alle intern angelegten Daten und übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte des übergebenen Stacks. Die Daten, auf die diese Zeiger zeigen, werden nicht gelöscht und nicht kopiert.

Parameter

const Stack& rStack	Der Stack, von dem die Zeiger und die eingestellten Werte übernommen werden sollen.

Rückgabewert

Stack&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Stack::operator ==( const Stack& rStack )
Stack::operator ==()
Stack::operator !=()

BOOL Stack::operator ==( const Stack& rStack ) const;

BOOL Stack::operator !=( const Stack& rStack ) const;

Beschreibung

Vergleichsoperatoren der Klasse Stack. Diese Operatoren prüfen, ob die gespeicherten Zeiger auf dieselben Daten in der gleichen Reihenfolge zeigen.

Parameter

const Stack& rStack	Der Stack, mit dem verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


StarObject

enum StarObjectError	{ SOERR_OK = 0, SOERR_ACTIVE, SOERR_CREATED, SOERR_NO_SERVER, SOERR_START_SERVER, SOERR_CREATE, SOERR_ACTION, SOERR_LAYER };

class StarObject

{

protected:

virtual void	Notify();

public:

StarObject();

StarObject( const String&, const MemoryBlock&, const GDIMetaFile& );

~StarObject();

void	Copy( const StarObject & rObj );

static String	ChangeAppName( const String& rAppName );

static String	GetAppName() { return aClient; }

String	ChangeServerName( const String& rServerName );

String	GetServerName() const { return aServer; }

String	ChangeName( const String& rName );

String	GetName() const { return aName; }

Size	ChangeSize( const Size& rSize );

Size	GetSize() const;

void	Clear();

void	Create( const String& rDlgTitle );

void	Update();

void	Action( USHORT nAction = 0 );

USHORT	GetActionCount() const;

String	GetActionText( USHORT nAction = 0 ) const;

BOOL	IsActive() const;

BOOL	IsChanged();

GUIType	GetGUIType() const;

void	Draw( OutputDevice& rOutDev, const Point& rPos );

void	Draw( OutputDevice& rOutDev, const Point& rPos, const Size& rSize );

void	Draw( OutputDevice& rOutDev, const Rectangle& rRect );

static BOOL	HasClipboardData();

static BOOL	CopyRequest();

BOOL	Copy();

BOOL	Paste();

Link	ChangeNotifyHdl( const Link& rHdl );

Link	GetNotifyHdl() const;

MemoryBlock*	GetData() const;

StarObjectError	GetError() const;

friend istream&	operator >> ( istream& rStream, StarObject& rObj );

friend ostream&	operator << ( ostream& rStream, const StarObject& rObj );

};

Beschreibung

Ein StarObject besteht grundsätzlich aus zwei Teilen, den Objektdaten und der visuellen Repräsentation (in diesem Dokument als Abbild bezeichnet).

Die Objektdaten bestehen aus einem Block binärer Daten, deren Format nur dem Server bekannt ist. Diese Daten werden per Konvention im INTEL-Format abgelegt. Für die Ablage der Daten sowie die automatische Konversion steht die Klasse MemoryObject zur Verfügung. Diese Daten beschreiben das Objekt selbst.

Das Abbild wird vom Server erzeugt; es besteht aus einem GDI-MetaFile, das der GUI zum Zeichnen des Objekts übergeben wird. Diese Daten werden generell im Dokument abgelegt. Das hat den Vorteil, daß zum Anzeigen oder Drucken des Objekts der Server nicht notwendig ist; erst, wenn ein Objekt geändert werden muß, wird der Server benötigt. Die Koordinaten im MetaFile müssen zur Zeit noch im MapMode MAP_100TH_MM abgelegt werden; dies wird sich in Zukunft ändern, wenn innerhalb des Systems StarView-MetaFiles direkt übertragen werden können.

Die Größe des Objekts wird im Abbild gehalten, d.h. der Server legt die Größe bei der Erstellung des Metafiles fest. Falls der Client eine andere Größe wünscht, kann er diese Angabe vornehmen; sie wird dann beim Editing dem Server als Vorschlag übertragen. Da das Metafile frei skalierbar ist, kann es der Client in einem beliebigen Rechteck ausgeben lassen. Die Objektgröße wird immer in 1/100 mm angegeben.

Ein Objekt kann auch aus dem Clipboard erzeugt werden, wenn das Clipboard alle dafür notwendigen Formate enthält. Zahl und Art der Formate sind systemabhängig. StarView bietet eine direkte Unterstützung von StarObjects an.

Querverweise

StarObjectServer

_______________


enum StarObjectError

enum StarObjectError	{ SOERR_OK = 0, SOERR_ACTIVE, SOERR_CREATED, SOERR_NO_SERVER, SOERR_START_SERVER, SOERR_CREATE, SOERR_ACTION, SOERR_LAYER };

Beschreibung

Dieser Typ beschreibt die verschiedenen Fehlerbedingungen eines StarObjekts. Der Fehlercode kann mit der Methode GetError() abgefragt werden.

SOERR_OK	Kein Fehler aufgetreten

SOERR_ACTIVE	StarObjekt ist bereits aktiv

SOERR_CREATED	StarObjekt ist bereits erzeug

SOERR_NO_SERVER	Ein StarObjektServer kann nicht gefunden werden

SOERR_START_SERVER	Ein StarObjektServer kann nicht gestartet werden

SOERR_CREATE	StarObjekt kann nicht erzeugt werden

SOERR_ACTION	Die Aktion kann nicht ausgeführt werden

SOERR_LAYER	Kommunikationsfehler

_______________


StarObject::Notify()

virtual void StarObject::Notify();

Beschreibung

Diese Methode wird gerufen, wenn sich das Objekt verändert hat. Im Normalfall bedeutet dies, daß das StarObjekt neu angezeigt werden muß.

Querverweise

StarObject::ChangeNotifyHdl()

_______________


StarObject::StarObject()

StarObject::StarObject();

Beschreibung

Konstruktor der Klasse StarObject. Es wird ein leeres StarObject eingerichtet.

_______________


StarObject::StarObject( const String&, const MemoryBlock&, const GDIMetaFile& )
StarObject::StarObject()

StarObject::StarObject( const String&, const MemoryBlock&, const GDIMetaFile& );

Beschreibung

Konstruktor der Klasse StarObject. Es wird ein StarObjekt mit einem Servernamen, den Initialisierungsdaten und einem Abbild erzeugt.

Parameter

const String&	Klassenname des StarObjektServers

const MemoryBlock&	Initialisierungsdaten des StarObjekts

const GDIMetaFile&	Abbild des StarObjekts

_______________


StarObject::~StarObject()

StarObject::~StarObject();

Beschreibung

Destruktor der Klasse StarObject. Falls erforderlich, wird eine eventuell bestehende Verbindung zu einem Server getrennt und das Objekt gelöscht.

_______________


StarObject::Copy( const StarObject& rObj )
StarObject::Copy()

void StarObject::Copy( const StarObject& rObj );

Beschreibung

Die Daten und das Abbild des als Parameter übergebenen Objekts rObj werden kopiert,. d.h. es wird eine Kopie des StarObjekts erzeugt.

Parameter

const StarObject& rObj	Das zu kopierende StarObjekt

_______________


StarObject::ChangeAppName( const String& rAppName )
StarObject::ChangeAppName()

static String StarObject::ChangeAppName( const String& rAppName );

Beschreibung

Die Methode trägt den Namen der Applikation ein. Dieser Name gilt für alle Objekte gleichermaßen. Er wird beim Bearbeiten eines Objektes dem Server übermittelt; dieser kann den Namen auf irgendeine Weise anzeigen, um die Verbindung zum Objekt sichtbar zu machen. Der Name wird je nach Systemumgebung eventuell benötigt; daher ist er mit "StarObjectApp" voreingestellt. Er wird dem Server über den Callback StarObjectServer::NewNames() übermittelt.

Parameter

const String& rAppName	Der neue Name der Applikation.

Rückgabewert

String	Der bislang eingetragene Applikationsname.

Querverweise

StarObjectServer::NewNames()

_______________


StarObject::GetAppName()

static String StarObject::GetAppName();

Beschreibung

Die Methode ermittelt den Namen der Applikation. Dieser Name gilt für alle Objekte gleichermaßen. Er wird beim Bearbeiten eines Objektes dem Server übermittelt; dieser kann den Namen auf irgendeine Weise anzeigen, um die Verbindung zum Objekt sichtbar zu machen. Der Name wird je nach Systemumgebung eventuell benötigt; daher ist er mit "StarObjectApp" voreingestellt.

Rückgabewert

String	Der Name der Applikation.

_______________


StarObject::ChangeServerName( const String& rServerName )
StarObject::ChangeServerName()

String StarObject::ChangeServerName( const String& rServerName );

Beschreibung

Der Name des Servers wird eingetragen. Dieser Name ist von System zu System verschieden und ist eine eindeutige Bezeichnung für den StarObject-Server. Die Methode SelectServer() liefert einen Servernamen zurück. Vor dem Aktivieren des Objekts muß mindestens dieser Name eingetragen werden, damit die Verbindung zwischen Objekt und Server eingerichtet werden kann. Auf dem Macintosh werden Objekte aus einer Datei heraus initialisiert; der Server wird also nicht bei der ersten Aktivierung eines Objekts hochgefahren.

Parameter

const String& rServerName	Der neue Servername.

Rückgabewert

String	Der bislang eingetragene Servername.

_______________


StarObject::GetServerName()

String StarObject::GetServerName() const;

Beschreibung

Der Name des Servers wird zurückgeliefert. Dieser Name ist von System zu System verschieden und ist eine eindeutige Bezeichnung für den StarObjectServer. Die Methode SelectServer() liefert einen Servernamen zurück.

Rückgabewert

String	Der gültige Servername.

_______________


StarObject::ChangeName( const String& rName )
StarObject::ChangeName()

String StarObject::ChangeName( const String& rName );

Beschreibung

Der Name des StarObjects wird neu eingetragen. Dieser Name ist frei wählbar und wird dem Server während der Bearbeitung des Objekts über den Callback StarObjectServer::NewNames() übermittelt. Bei der Einrichtung eines Objekts wird der Name "StarObject" voreingestellt; der Name sollte niemals leer sein, da einige Systemumgebungen ihn benötigen.

Parameter

const String& rName	Der neue Name.

Rückgabewert

String	Der bislang eingetragene Name des StarObjects.

Querverweise

StarObjectServer::NewNames()

_______________


StarObject::GetName()

String StarObject::GetName() const;

Beschreibung

Der Name des StarObjects wird zurückgeliefert. Dieser Name ist frei wählbar und wird dem Server während der Bearbeitung des Objekts übermittelt. Bei der Einrichtung eines Objekts wird der Name "StarObject" voreingestellt; der Name sollte niemals leer sein, da einige Systemumgebungen ihn benötigen.

Rückgabewert

String	Der gültige Name des StarObjects.

_______________


StarObject::ChangeSize( const Size& rSize )
StarObject::ChangeSize()

Size StarObject::ChangeSize( const Size& rSize );

Beschreibung

Die aktuelle Größe des StarObjects wird neu definiert. Diese Größe wird immer im MapMode MAP_100TH_MM geliefert. Die Objektgröße beeinflußt vorerst nur die Darstellung der Abbildung; wird der Server zum Editing hochgefahren, wird, falls möglich, die Objektgröße dem Server übermittelt.

Parameter

const Size& rSize	Die neue Größe des StarObjects in 1/100 mm.

Rückgabewert

Size	Die alte Größe des Objekts in 1/100 mm. Ist das Objekt leer, werden die Werte 0 zurückgeliefert.

_______________


StarObject::GetSize()

Size StarObject::GetSize() const;

Beschreibung

Die aktuelle Größe des StarObjects wird zurückgeliefert. Diese Größe wird immer im MapMode MAP_100TH_MM geliefert.

Rückgabewert

Size	Die aktuelle Größe des StarObjects in 1/100 mm. Ist das Objekt leer, werden die Werte 0 zurückgeliefert.

_______________


StarObject::Clear()

void StarObject::Clear();

Beschreibung

Sämtliche Daten des Objekts werden gelöscht. Das Objekt ist anschließend leer. War das Objekt gerade im Server in Bearbeitung, wird die Verbindung zum Server abgebrochen.

_______________


StarObject::Create( const String& rDlgTitle )
StarObject::Create()

BOOL StarObject::Create( const String& rDlgTitle );

Beschreibung

Es wird ein Dialog angezeigt, mit dem das Objekt ausgewählt werden kann. Unter Umständen (wie unter Windows) wird eine Liste der verfügbaren Server angezeigt. Wird der Dialog abgebrochen, liefert die Methode TRUE zurück, und der Notify-Handler wird aufgerufen. Das Changed-Flag ist gelöscht. Sonst wird das Objekt mit den Objektdaten gefüllt. Unter Windows wird dafür der Server zum Initial Editing hochgefahren. Beim Macintosh wird das Objekt aus der im Servernamen angegebenen Datei geladen.

Parameter

const String& rDlgTitle	Der Titel des Dialogs.

Rückgabewert

BOOL	TRUE

Der Vorgang wurde erfolgreich angestoßen.

FALSE

Der Vorgang konnte nicht erfolgreich angestoßen werden.

Anmerkung

Dieser Vorgang ist asynchron, d.h. der Aufruf kehrt zurück, wenn der Vorgang angestoßen wurde. Nach dem Ende des Vorgangs wird die Methode StarObject::Notify() aufgerufen.

_______________


StarObject::Update()

void StarObject::Update();

Beschreibung

Die Methode veranlaßt den Server dazu, ein neues Abbild des StarObjekts zu erzeugen. Dies kann z.B. geschehen, wenn sich die Größe des StarObjekts geändert hat.

_______________


StarObject::Action( USHORT nAction = 0 )
StarObject::Action()

void StarObject::Action( USHORT nAction = 0 );

Beschreibung

Die Methode veranlaßt den Server, die gewünschte Aktion auszuführen. Die gültigen Aktionen können mit den Methoden GetActionCount() und GetActionText() erfragt werden.

Parameter

USHORT nAction	Die Aktion, die von Server ausgeführt werden soll

_______________


StarObject::GetActionCount()

USHORT StarObject::GetActionCount() const;

Beschreibung

Die Methode erfragt die Anzahl der registrierten Aktionen von diesem StarObjekt. Es ist mindestens eine Aktion (die Defaultaktion) registriert.

Rückgabewert

USHORT	Anzahl der registrierten Aktionen

_______________


StarObject::GetActionText( USHORT nAction = 0 )
StarObject::GetActionText()

String StarObject::GetActionText( USHORT nAction = 0 ) const;

Beschreibung

Die Methode liefert den gewünschten Aktionsnamen. Es kann jedoch vorkommen, daß bestimmte Server keine Aktionsnamen registrieren.

Parameter

USHORT nAction	Die Aktion, deren Name gewüscht wird

Rückgabewert

String	Name der gewünschten Aktion

_______________


StarObject::IsActive()

BOOL StarObject::IsActive() const;

Beschreibung

Die Methode liefert TRUE zurück, wenn ein asynchroner Vorgang noch nicht beendet wurde.

Rückgabewert

BOOL	TRUE

Ein asynchroner Vorgang wurde noch nicht beendet.

FALSE

Es ist kein asynchroner Vorgang aktiv.

_______________


StarObject::IsChanged()

BOOL StarObject::IsChanged();

Beschreibung

Die Methode liefert TRUE zurück, wenn das Objekt editiert wurde. Der Wert TRUE kann somit nur nach dem Aufruf der Methoden Create() oder Edit()  anfallen. Das interne entsprechende Flag wird durch den Aufruf dieser Methode zurückgesetzt, so daß nachfolgende Aufrufe den Wert FALSE zurückliefern.

Rückgabewert

BOOL	TRUE

Das Objekt wurde bearbeitet.

FALSE

Das Objekt wurde nicht bearbeitet.

_______________


StarObject::GetGUIType()

GUIType StarObject::GetGUIType() const;

Beschreibung

Die Methode ermittelt den GUIType, für den das Object erzeugt wurde.

Rückgabewert

GUIType	Die GUIType.

Querverweise

GUIType

_______________


StarObject::Draw( OutputDevice& rOutDev, const Point& rPos )
StarObject::Draw()

void StarObject::Draw( OutputDevice& rOutDev, const Point& rPos );

void StarObject::Draw( OutputDevice& rOutDev, const Point& rPos, const Size& rSize );

void StarObject::Draw( OutputDevice& rOutDev, const Rectangle& rRect );

Beschreibung

Das Objekt wird auf dem übergebenen Device gezeichnet.

Parameter

OutputDevice& rOutDev	Das Ausgabegerät. Dies kann ein Fenster, ein Drucker oder ain anderes Gerät sein. Das im Objekt enthaltene GDIMetaFile wird abgespielt.

const Point& rPos	Die linke obere Ecke der Ausgabefläche.

const Size& rSize	Die Größe der Ausgabefläche.

const Rectangle& rRect	Das Rechteck, innerhalb dessen das GDIMetaFile abgespielt werden soll.

Anmerkungen

Die Koordinaten der Ausgabefläche werden in Device-Einheiten übergeben. Wird keine Größenangabe gemacht, wird die aktuelle Größe des Objekts herangezogen.

_______________


StarObject::HasClipboardData()

static BOOL StarObject::HasClipboardData();

Beschreibung

Das Clipboard wird daraufhin untersucht, ob alle für die Erzeugung eines Objekts notwendigen Formate vorhanden sind.

Rückgabewert

BOOL	TRUE

Aus dem Clipboard heraus kann ein Objekt erzeugt werden.

FALSE

Aus dem Clipboard heraus kann kein Objekt erzeugt werden.

Querverweise

Clipboard

_______________


StarObject::CopyRequest()

static BOOL StarObject::CopyRequest();

Beschreibung

Das Objekt kopiert eine Beschreibung seiner Datenformate ins Clipboard. Durch diesen Aufruf wird Delayed Rendering im Clipboard unterstützt. Das Clipboard fordert die einzelnen Formate später bei aktuellem Bedarf tatsächlich an. Dabei kann die Methode StarObject::Copy() aufgerufen werden, um alle Daten mit einem Schlag ins Clipboard zu kopieren. Diese Methode empfiehlt sich für sehr komplexe Objekte mit großem Speicherbedarf.

Rückgabewert

BOOL	TRUE

Das Objekt konnte im Clipboard registriert werden.

FALSE

Das Objekt konnte nicht im Clipboard registriert werden.

Querverweise

Clipboard, Clipboard::CopyRequest()

_______________


StarObject::Copy()

BOOL StarObject::Copy();

Beschreibung

Das Objekt wird in das Clipboard kopiert. Ist das Objekt leer, erfolgt keine Kopie.

Rückgabewert

BOOL	TRUE

Das Objekt konnte kopiert werden.

FALSE

Das Objekt konnte nicht kopiert werden.

_______________


StarObject::Paste()

BOOL StarObject::Paste( );

Beschreibung

Das Objekt wird mit Clipboard-Daten gefüllt. Alle eventuell vorher gespeicherten Objektdaten gehen dabei verloren. Der Name des Objekts bleibt erhalten.

Rückgabewert

BOOL	TRUE

Aus dem Clipboard heraus konnte ein Objekt erzeugt werden.

FALSE

Aus dem Clipboard heraus konnte kein Objekt erzeugt werden.

_______________


StarObject::ChangeNotifyHdl( const Link& rHdl )
StarObject::ChangeNotifyHdl()

Link StarObject::ChangeNotifyHdl( const Link& rHdl );

Beschreibung

Mit dieser Methode wird einem StarObjekt eine Referenz auf einen Handler übergeben. Die virtuelle Methode Notify() ruft diesen Handler auf.

Parameter

const Link& rHdl	Der Link zeigt auf den Handler, der gerufen wird, wenn Notify() gerufen wird Als Parameter erhält der Handler einen Zeiger auf das StarObjekt.

Prototyp des Handlers:

void MyClass::MyNotify( StarObject* pObj );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler

_______________


StarObject::GetNotifyHdl()

Link StarObject::GetNotifyHdl() const;

Beschreibung

Diese Methode liefert einen Link auf den Handler, der gerufen wird, wenn die Notify() Methode gerufen wird.

Rückgabewert

Link	Der Link zeigt auf den Handler

_______________


StarObject::GetData()

MemoryBlock* StarObject::GetData() const;

Beschreibung

Diese Methode liefert einen Zeiger auf das Datenobjekt des StarObjekts.

Rückgabewert

MemoryBlock*	Zeiger auf das Datenobjekt

Querverweise

MemoryBlock

_______________


StarObject::GetError()

StarObjectError StarObject::GetError() const;

Beschreibung

Diese Methode liefert den Fehlerstatus des StarObjekts. Diese Methode sollte immer im Notify() Handler abgefragt und ausgewertet werden, da dann jede Aktion beendet ist.

Rückgabewert

StarObjectError	Fehlercode des StarObjekts

Querverweise

StarObjectError

_______________


operator >> ( istream& rStream, StarObject& rObj )
StarObject::operator >> ()

friend istream& operator >> ( istream& rStream, StarObject& rObj );

Beschreibung

Das Objekt wird mit Daten aus einem Stream gefüllt. Alle eventuell vorher gespeicherten Objektdaten gehen dabei verloren. Der Name des Objekts bleibt erhalten. Vor dem Lesen des Objekts muß der Stream entsprechend positioniert werden. Konnte das Objekt nicht korrekt gelesen und/oder initialisiert werden, wird das Bit ios::failbit im Stream gesetzt und das Objekt ist leer.

Parameter

istream& rStream	Der Stream, aus dem gelesen wird.

StarObject& rObj	Referenz auf das Objekt, das mit den Daten gefüllt werden soll.

Rückgabewert

istream&	Der Stream, aus dem gelesen wird.

_______________


operator << ( ostream& rStream, const StarObject& rObj )
StarObject::operator << ()

friend ostream& operator << ( ostream& rStream, const StarObject& rObj );

Beschreibung

Das Objekt wird in den angegebenen Stream übertragen. Das Ablageformat des Objekts ist zur Zeit wie folgt:

struct soFileHdr {

long nSignature;   // Signatur (0x534F6D64)

long nVersion;     // Versionsnummer (zur Zeit 0x00000001)

long nWidth;       // Breite in 1/100 mm

long nHeight;      // Höhe in 1/100 mm

long nObjName;     // Länge des Objektnamens

long nServerName;  // Länge des Servernamens

long nPrivData;    // Länge der Objektdaten

long nPicData;     // Länge des GDIMetafiles

};

Danach folgen folgende Daten:

1) Der Name des Objekts als ASCIIZ-String

2) Der Name des Servers als ASCIIZ-String

3) Die Objektdaten als binärer Datenblock

4) das GDIMetaFile

Parameter

ostream& rStream	Der Stream, in den das Objekt übertragen wird.

StarObject& rObj	Referenz auf das Objekt, das übertragen werden soll.

Rückgabewert

ostream&	Der Stream, in den das Objekt übertragen wird.

_______________


StatusBar

enum StatusBarAlign	{ STATUSBAR_ALIGN_LEFT, STATUSBAR_ALIGN_RIGHT };

enum StatusItemAlign	{ STATUSITEM_ALIGN_LEFT, STATUSITEM_ALIGN_CENTER, STATUSITEM_ALIGN_RIGHT };

#define STATUSBAR_APPEND            ((USHORT)0xFFFF)

#define STATUSBAR_ITEM_NOTFOUND     ((USHORT)0xFFFF)

#define STATUSBAR_OFFSET            ((USHORT)5)

class StatusBar : public Window

{

protected:

virtual void	Click();

virtual void	DoubleClick();

public:

StatusBar( Window* pParent, WinBits nWinBits=0 );

StatusBar( Window* pParent, const ResId& rResId);

~StatusBar();

BOOL	InsertItem( USHORT nItemId, USHORT nWidth, StatusItemAlign eAlign = STATUSITEM_ALIGN_CENTER, USHORT nOffset = STATUSBAR_OFFSET,  USHORT nPos = STATUSBAR_APPEND );

void	RemoveItem( USHORT nItemId );

StatusBarAlign	ChangeAlign( StatusBarAlign eNewAlign = STATUSBAR_ALIGN_RIGHT );

StatusBarAlign	GetAlign() const;

void	ShowItems();

void	HideItems();

BOOL	AreItemsVisible() const;

void	CopyItems( const StatusBar& rStatusBar );

void	Clear();

USHORT	GetItemCount() const;

USHORT	GetItemId( USHORT nPos ) const;

USHORT	GetItemPos( USHORT nItemId ) const;

Rectangle	GetItemRect( USHORT nItemId ) const;

USHORT	GetCurItemId() const;

void	SetItemText( USHORT nItemId,const String& rText);

String	GetItemText( USHORT nItemId ) const;

void	SetText( const String& rText );

Link	ChangeClickHdl( const Link& rLink );

Link	GetClickHdl() const;

Link	ChangeDoubleClickHdl( const Link& rLink );

Link	GetDoubleClickHdl() const;

};

Beschreibung

Ein Objekt der Klasse StatusBar kann zur Anzeige von Hilfetexten verwendet werden. In die Statuszeile können mehrere Bereiche eingefügt werden, in denen bestimmte Applikationszustände angezeigt werden.

Basisklassen

Window : OutputDevice : Resource : LinkHdl

_______________


enum StatusBarAlign

enum StatusBarAlign	{ STATUSBAR_ALIGN_LEFT, STATUSBAR_ALIGN_RIGHT };

Beschreibung

Die Werte des enum StatusBarAlign bestimmen die Ausrichtung der Items in der Statuszeile.

STATUSBAR_ALIGN_LEFT	Die Items in der Statuszeile werden linksbündig ausgerichtet.

STATUSBAR_ALIGN_RIGHT	Die Items in der Statuszeile werden rechtsbündig ausgerichtet.

_______________


enum StatusItemAlign

enum StatusItemAlign {STATUSITEM_ALIGN_LEFT, STATUSITEM_ALIGN_CENTER, STATUSITEM_ALIGN_RIGHT };

Beschreibung

Die Werte des enum StatusItemAlign bestimmen die Ausrichtung der Texte innerhalb eines Items.

STATUSITEM_ALIGN_LEFT	Das Item ist linksbündig ausgerichtet.

STATUSITEM_ALIGN_CENTER	Das Item ist zentriert ausgerichtet.

STATUSITEM_ALIGN_RIGHT	Das Item ist rechtsbündig ausgerichtet.

_______________


StatusBar::Click()

virtual void StatusBar::Click();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer innerhalb der Statuszeile mit der (linken) Maustaste klickt. Mit GetCurItem() kann das Item ermittelt werden, welches betätigt wurde.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode StatusBar::ChangeClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode StatusBar::ChangeClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

StatusBar::ChangeClickHdl(), StatusBar::GetCurItemId()

_______________


StatusBar::DoubleClick()

virtual void StatusBar::DoubleClick();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer innerhalb der Statuszeile einen Doppelklick mit der (linken) Maustaste ausführt. Mit GetCurItem() kann das Item ermittelt werden, welches betätigt wurde.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode StatusBar::ChangeDoubleClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode StatusBar::ChangeDoubleClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

StatusBar::ChangeDoubleClickHdl(), StatusBar::GetCurItemId()

_______________


StatusBar::StatusBar( Window* pParent, WinBits nWinBits = 0 )
StatusBar::StatusBar()

StatusBar::StatusBar( Window* pParent, WinBits nWinBits = 0 );

Beschreibung

Konstruktor der Klasse StatusBar. Es wird ein StatusBar mit dem Parent pParent erzeugt.

Parameter

Window* pParent	Der Parent der Statuszeile.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_BORDER

Die Statuszeile verfügt über einen Rahmen.

WB_SVLOOK

Die Statuszeile erscheint im StarView-Look. Wird das Flag nicht übergeben, so wird es durch den Parent gesetzt, wenn dieser das Flag WB_SVLOOK übergeben bekommen hat.

_______________


StatusBar::StatusBar( Window* pParent, const ResId& rResId )
StatusBar::StatusBar()

StatusBar::StatusBar( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse StatusBar.

Parameter

Window* pParent	Der Parent der Statuszeile.

const ResId& rResId	Der Resource-Identifier der Statuszeile.

_______________


StatusBar::~StatusBar()

StatusBar::~StatusBar();

Beschreibung

Destruktor der Klasse StatusBar.

_______________


StatusBar::InsertItem()

BOOL StatusBar::InsertItem( USHORT nItemId, USHORT nWidth, StatusItemAlign eAlign = STATUSITEM_ALIGN_CENTER, USHORT nOffset = STATUSBAR_OFFSET, USHORT nPos = STATUSBAR_APPEND );

Beschreibung

Die Methode fügt ein neues Item in die Statuszeile ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

USHORT nWidth	Die Breite des neuen Items.

StatusItemAlign eAlign	Die Ausrichtung des neuen Items. Wird hier keine Angabe gemacht, so wird das Item zentriert ausgerichtet.

USHORT nOffset	Abstand zum vorherigen Item.

USHORT nPos	Die Position des neuen Items innerhalb der Statuszeile. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der Statuszeile angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


StatusBar::RemoveItem( USHORT nItemId )
StatusBar::RemoveItem()

void StatusBar::RemoveItem( USHORT nItemId );

Beschreibung

Die Methode entfernt das Item mit der angegebenen ID aus der Statuszeile.

Parameter

USHORT nItemId	Der Identifier des zu entfernenden Items.

_______________


StatusBar::ChangeAlign( StatusBarAlign eNewAlign = STATUSBAR_ALIGN_RIGHT)
StatusBar::ChangeAlign()

StatusBarAlign StatusBar::ChangeAlign( StatusBarAlign eNewAlign = STATUSBAR_ALIGN_RIGHT);

Beschreibung

Die Methode bestimmt eine neue Ausrichtung der Statuszeile.

Parameter

StatusBarAlign eNewAlign	Die neue Ausrichtung der Statuszeile. Wird hier keine Angabe gemacht, so wird die Statuszeile rechtsbündig ausgerichtet.

_______________


StatusBar::GetAlign()

StatusBarAlign StatusBar::GetAlign() const;

Beschreibung

Die Methode ermittelt die gültige Ausrichtung der Statuszeile.

Rückgabewert

StatusBarAlign	Die gültige Ausrichtung der Statuszeile.

_______________


StatusBar::ShowItems()

void StatusBar::ShowItems();

Beschreibung

Die Methode sorgt dafür, daß die Items der Statuszeile angezeigt werden.

_______________


StatusBar::HideItems()

void StatusBar::HideItems();

Beschreibung

Die Methode sorgt dafür, daß die Items der Statuszeile nicht angezeigt werden.

_______________


StatusBar::AreItemsVisible()

BOOL StatusBar::AreItemsVisible() const;

Beschreibung

Die Methode ermittelt, ob die Items der Statuszeile zur Zeit sichtbar geschaltet sind.

Rückgabewert

BOOL	TRUE

Die Items sind zur Zeit sichtbar geschaltet.

FALSE

Die Items sind zur Zeit nicht sichtbar geschaltet.

_______________


StatusBar::CopyItems( const StatusBar& rStatusBar )
StatusBar::CopyItems()

void StatusBar::CopyItems( const StatusBar& rStatusBar );

Beschreibung

Die Methode kopiert alle Items der angegebenen Statuszeile und fügt sie in die aktuelle Statuszeile ein.

Parameter

const StatusBar& rStatusBar	Die Statuszeile, aus der die Items kopiert werden sollen.

_______________


StatusBar::Clear()

void StatusBar::Clear();

Beschreibung

Die Methode entfernt alle Items aus der Statuszeile.

_______________


StatusBar::GetItemCount()

USHORT StatusBar::GetItemCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der Items in der Statuszeile.

Rückgabewert

USHORT	Die Anzahl der Items in der Statuszeile.

_______________


StatusBar::GetItemId( USHORT nPos )
StatusBar::GetItemId()

USHORT StatusBar::GetItemId( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt die ID des Items, das sich innerhalb der Statuszeile an der angegebenen Position befindet.

Parameter

USHORT nPos	An dieser Position innerhalb der Statuszeile befindet sich das zu ermittelnde Item.

Rückgabewert

USHORT	Die ID des Items.

_______________


StatusBar::GetItemPos( USHORT nItemId )
StatusBar::GetItemPos()

USHORT StatusBar::GetItemPos( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt die Position des Items mit der angegebenen ID.

Parameter

USHORT nItemId	Die ID des zu ermittelnden Items.

Rückgabewert

USHORT	Die Position des Items innerhalb der Statuszeile.

_______________


StatusBar::GetItemRect( USHORT nItemId )
StatusBar::GetItemRect()

Rectangle StatusBar::GetItemRect( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt das Rechteck, das das angegebene Item umschließt.

Parameter

USHORT nItemId	Die ID des zu ermittelnden Items.

Rückgabewert

Rectangle	Das Rechteck, das das angegebene Item umschließt.

_______________


StatusBar::GetCurItemId()

USHORT StatusBar::GetCurItemId() const;

Beschreibung

Die Methode ermittelt die ID des aktuellen Items der Statuszeile.

Rückgabewert

USHORT	Die ID des aktuellen Items.

_______________


StatusBar::SetItemText( USHORT nItemId,const String& rText)
StatusBar::SetItemText()

void StatusBar::SetItemText( USHORT nItemId,const String& rText);

Beschreibung

Die Methode setzt einen neuen Itemtext.

Parameter

USHORT nItemId	Das Item, das einen neuen Text erhalten soll.

const String& rText	Der neue Text für das Item.

_______________


StatusBar::GetItemText( USHORT nItemId )
StatusBar::GetItemText()

String StatusBar::GetItemText( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt den Text des angegebenen Items.

Parameter

USHORT nItemId	Das Item, dessen Text ermittelt werden soll.

Rückgabewert

String	Der Text des Items.

_______________


StatusBar::SetText( const String& rText )
StatusBar::SetText()

void StatusBar::SetText( const String& rText );

Beschreibung

Die Methode setzt einen neuen Text für die Statuszeile.

Parameter

const String& rText	Der neue Text der Statuszeile.

_______________


StatusBar::ChangeClickHdl( const Link& rLink )
StatusBar::ChangeClickHdl()

Link StatusBar::ChangeClickHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer in der Statuszeile mit der Maus klickt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer in der Statuszeile mit der Maus klickt. Als Parameter erhält der Handler einen Zeiger auf die Statuszeile.

Prototyp des Handlers:

void MyClass::Click( StatusBar* pStatusBar );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, StatusBar::Click()

_______________


StatusBar::GetClickHdl()

Link StatusBar::GetClickHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer in der Statuszeile mit der Maus klickt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


StatusBar::ChangeDoubleClickHdl( const Link& rLink )
StatusBar::ChangeDoubleClickHdl()

Link StatusBar::ChangeDoubleClickHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer in der Statuszeile einen Doppelklick mit der Maus ausführt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer in der Statuszeile einen Doppelklick mit der Maus ausführt. Als Parameter erhält der Handler einen Zeiger auf die Statuszeile.

Prototyp des Handlers:

void MyClass::DoubleClick( StatusBar* pStatusBar );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, StatusBar::DoubleClick()

_______________


StatusBar::GetDoubleClickHdl()

Link StatusBar::GetDoubleClickHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer in der Statuszeile einen Doppelklick mit der Maus ausführt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


String

#define STRING_NOTFOUND    ((USHORT)0xFFFF)

#define STRING_MATCH       ((USHORT)0xFFFF)

#define STRING_LEN         ((USHORT)0xFFFF)

#define STRING_MAXLEN      ((USHORT)0xFFFF-sizeof(StringDate))

enum CharSet	{ CHARSET_DONTKNOW, CHARSET_ANSI, CHARSET_MAC, CHARSET_IBMPC_437, CHARSET_IBMPC_850, CHARSET_IBMPC_852, CHARSET_IBMPC_860, CHARSET_IBMPC_861, CHARSET_IBMPC_863, CHARSET_IBMPC_865, CHARSET_SYSTEM, CHARSET_SYMBOL  };

enum StringCompare	{ COMPARE_EQUAL, COMPARE_LESS, COMPARE_GREATER };

CharSet GetSystemCharSet();

class String

{

public:

String();

String( const ResId& rResId );

String( const String& rStr );

String( const String& rStr, USHORT nPos, USHORT nLen );

String( const char* pCharStr );

String( const char* pCharStr, USHORT nLen );

String( char c );

String( int n );

String( unsigned int n );

String( short n );

String( USHORT n );

String( long n );

String( ULONG n );

~String();

operator const char*() const;

operator char() const;

operator int() const;

operator unsigned int() const;

operator short() const;

operator USHORT() const;

operator long() const;

operator ULONG() const;

String&	operator =( const String& rStr );

String&	operator =( const char* pCharStr );

String&	operator +=( const String& rStr );

String&	operator +=( const char* pCharStr );

String&	operator +=( char c );

String&	operator +=( int n );

String&	operator +=( unsigned int n );

String&	operator +=( short n );

String&	operator +=( USHORT n );

String&	operator +=( long n );

String&	operator +=( ULONG n );

BOOL	operator !() const;

char	operator []( USHORT nPos ) const;

char&	operator []( USHORT nPos );

USHORT	Len() const;

String&	Insert( const String& rStr, USHORT nPos = STRING_LEN);

String&	Insert( const String& rStr, USHORT nPos, USHORT nLen, USHORT nPos = STRING_LEN );

String&	Insert(const char* pCharStr,USHORT nPos = STRING_LEN);

String&	Insert( char c, USHORT nPos = STRING_LEN );

String&	Replace( const String& rStr, USHORT nPos = 0 );

String&	Erase( USHORT nPos = 0, USHORT nCount = STRING_LEN );

String	Cut( USHORT nPos = 0, USHORT nCount = STRING_LEN );

String	Copy( USHORT nPos = 0,USHORT nCount= STRING_LEN)const;

String&	Fill( USHORT nCount, char cFillChar = ' ' );

String&	Expand( USHORT nCount, char cExpandChar = ' ' );

String&	EraseLeadingChars( char c = ' ' );

String&	EraseTrailingChars( char c = ' ' );

String&	EraseAllChars( char c = ' ' );

String&	Reverse();

String&	Convert( CharSet eSource, CharSet eTarget = CHARSET_SYSTEM );

static char	Convert( char c, CharSet eSource, CharSet eTarget = CHARSET_SYSTEM );

String&	SpaceToZero();

String&	ZeroToSpace();

String&	ToUpper();

String&	ToLower();

String	Upper() const;

String	Lower() const;

BOOL	IsUpper() const;

BOOL	IsLower() const;

BOOL	IsAlpha() const;

BOOL	IsNumeric() const;

BOOL	IsAlphaNumeric() const;

StringCompare	Compare( const String& rStr ) const;

StringCompare	Compare( const char* pCharStr ) const;

StringCompare	ICompare( const String& rStr ) const;

StringCompare	ICompare( const char* pCharStr ) const;

USHORT	Match( const String& rStr ) const;

USHORT	Match( const char* pCharStr ) const;

USHORT	Search( const String& rStr, USHORT nPos = 0 ) const;

USHORT	Search( const char* pCharStr, USHORT nPos = 0 ) const;

USHORT	Search( char c, USHORT nIndex = 0 ) const;

USHORT	GetTokenCount( char cTok = ';' ) const;

String	GetToken( USHORT nToken, char cTok = ';' ) const;

char*	AllocStrBuf( USHORT nLen );

const char*	GetStr() const;

friend BOOL	operator +( const String& rStr1,const String& rStr2);

friend BOOL	operator +( const String& rStr,const char* pCharStr);

friend BOOL	operator +( const char* pCharStr,const String& rStr);

friend BOOL	operator ==(const String& rStr1,const String& rStr2);

friend BOOL	operator ==(const String& rStr,const char* pCharStr);

friend BOOL	operator ==(const char* pCharStr,const String& rStr);

friend BOOL	operator !=(const String& rStr1,const String& rStr2);

friend BOOL	operator !=(const String& rStr,const char* pCharStr);

friend BOOL	operator !=(const char* pCharStr,const String& rStr);

friend BOOL	operator <( const String& rStr1,const String& rStr2);

friend BOOL	operator <( const String& rStr,const char* pCharStr);

friend BOOL	operator <( const char* pCharStr,const String& rStr);

friend BOOL	operator >( const String& rStr1,const String& rStr2);

friend BOOL	operator >( const String& rStr,const char* pCharStr);

friend BOOL	operator >( const char* pCharStr,const String& rStr);

friend BOOL	operator <=(const String& rStr1,const String& rStr2);

friend BOOL	operator <=(const String& rStr,const char* pCharStr);

friend BOOL	operator <=(const char* pCharStr,const String& rStr);

friend BOOL	operator >=(const String& rStr1,const String& rStr2);

friend BOOL	operator >=(const String& rStr,const char* pCharStr);

friend BOOL	operator >=(const char* pCharStr,const String& rStr);

};

Beschreibung

Die Klasse String bietet ein einfaches Interface zur Bearbeitung von Strings. Neben Vergleichsoperatoren bietet sie Möglichkeiten, Strings zu verknüpfen. Ferner können Strings in Zahlen konvertiert werden sowie Zahlen in Strings. Zur Manipulation des Strings stehen Insert-, Replace-, Cut- und Copy-Methoden zur Verfügung. Ein Index-Operator erlaubt die Manipulation einzelner Zeichen; ferner kann ein Zeiger auf den String-Puffer zurückgeliefert werden. Dieser Zeiger kann als Source-String an eine C-Funktion übergeben werden. Er darf nicht als Destination-String verwendet oder für eine spätere Benutzung vorgesehen werden, da er sich bei Aufruf einer anderen String-Methode ändern kann.

Die Klasse String kopiert die Strings nur, wenn es nötig ist. So wird bei einer Zuweisung von Strings nur ein Referenzzähler erhöht und der String erst kopiert, wenn einer der beiden Strings geändert wird. Dadurch gibt es kein Geschwindigkeitsproblem, wenn eine temporäre String-Instanz auf dem Stack als Instanz zurückgegeben wird.

Anmerkungen

Die String-Methoden werten nicht die Umlaute aus. Dadurch liefern die Vergleichsmethoden und die Upper/Lower-Methoden bei Umlauten keine korrekten Werte.

Beispiel

String aStr1( "String 1" );

String aStr2( 4711 );

String aStr = aStr1 + "; " + aStr2;

// aStr hat folgenden Inhalt: "String 1; 4711"

_______________

enum CharSet

enum CharSet	{ CHARSET_DONTKNOW, CHARSET_ANSI, CHARSET_MAC, CHARSET_IBMPC_437, CHARSET_IBMPC_850, CHARSET_IBMPC_852, CHARSET_IBMPC_860, CHARSET_IBMPC_861, CHARSET_IBMPC_863, CHARSET_IBMPC_865, CHARSET_SYSTEM, CHARSET_SYMBOL  };

Beschreibung

Die Werte des enum CharSet geben den zugrundeliegenden Zeichensatz an.

CHARSET_DONTKNOW	Der Zeichensatz ist unbekannt.

CHARSET_ANSI	Es handelt sich um den ANSI-Zeichensatz

CHARSET_MAC	Der Zeichensatz des Apple Macintosh.

CHARSET_IBMPC_437	Zeichensatz vom IBM PC mit Codepage 437 (us und international)

CHARSET_IBMPC_850	Zeichensatz vom IBM PC mit Codepage 850 (international)

CHARSET_IBMPC_852	Zeichensatz vom IBM PC mit Codepage 852

CHARSET_IBMPC_860	Zeichensatz vom IBM PC mit Codepage 860

CHARSET_IBMPC_861	Zeichensatz vom IBM PC mit Codepage 861

CHARSET_IBMPC_863	Zeichensatz vom IBM PC mit Codepage 863

CHARSET_IBMPC_865	Zeichensatz vom IBM PC mit Codepage 865

CHARSET_SYSTEM	Zeichensatz des Systems

CHARSET_SYMBOL	Der Symbol-Zeichensatz.

_______________

enum StringCompare

enum StringCompare	{ COMPARE_EQUAL, COMPARE_LESS, COMPARE_GREATER };

Beschreibung

Die Werte des enum StringCompare geben das Ergebnis eines Stringvergleichs an.

COMPARE_EQUAL	Die Strings sind gleich.

COMPARE_LESS	Der erste String ist kleiner als der zweite.

COMPARE_GREATER	Der erste String ist größer als der zweite.

_______________

GetSystemCharSet()

CharSet GetSystemCharSet();

Beschreibung

Die Funktion ermittelt den Zeichensatz des Systems.

Rückgabewert

CharSet	Der Zeichensatz des Systems (ein Wert aus dem enum CharSet).

Querverweise

CharSet

_______________

String::String()

String::String();

Beschreibung

Leerer Konstruktor der Klasse String. Dieser Konstruktor erzeugt einen leeren String mit einer Länge von 0 Zeichen.

_______________

String::String()

String::String( const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse String. Dieser Konstruktor funktioniert nur, wenn die SV-Library dazugelinkt wird.

Parameter

const ResId& rResId	Die ID des Strings in der Resource.

Querverweise

Resource

_______________

String::String()

String::String( const String& rStr );

Beschreibung

Copy-Konstruktor der Klasse String. Dieser Konstruktor sorgt dafür, daß die String-Daten bei Parameterübergabe und Rückgabe von String-Instanzen gesichert werden. Dabei werden die Daten nicht kopiert, sondern es wird nur ein Referenzzähler erhöht.

Parameter

const String& rStr	Der Quellstring für diesen String.

_______________

String::String()

String::String( const String& rStr );

Beschreibung

String-Konstruktor für die Erzeugung eines Teilstrings aus einem String.

Parameter

const String& rStr	Der Quellstring für diesen String.

USHORT nPos	Die Position, ab der der String übernommen werden soll.

USHORT nLen	Die Anzahl der Zeichen, die aus dem Quellstring übernommen werden sollen.

Beispiel

String aStrTmp( "1234567890" );

String aStr( aStrTmp, 3, 3 );    // Ergibt: "456"

_______________

String::String()

String::String( const char* pCharStr );

Beschreibung

Dieser Konstruktor erzeugt einen String aus einem Character-Puffer.

Parameter

const char* pCharStr	Der Character-Puffer, der in einen String umgewandelt werden soll. Der String im Character-Puffer muß mit einem Null-Byte abgeschlossen sein und darf nicht mehr als STRING_MAXLEN Zeichen enthalten.

Beispiel

String aStr( "Test" );    // Ergibt: "Test".

_______________

String::String()

String::String( const char* pCharStr, USHORT nLen );

Beschreibung

Dieser Konstruktor erzeugt aus einem Character-Puffer einen String. Durch die Angabe der Länge wird ein Teilstring in einen String umgewandelt.

Parameter

const char* pCharStr	Der Character-Puffer, der in einen String umgewandelt werden soll. Der String darf nicht kürzer als nLen sein.

USHORT nLen	Durch die Angabe der Länge wird ein Teilstring eines Character-Puffers in einen String umgewandelt. Wenn die Länge des Strings bekannt ist, sollte dieser Konstruktor dem ohne Längenangabe vorgezogen werden, weil er schneller ist.

Beispiel

String aStr( "1234567890", 3 );    // Ergibt: "123"

_______________

String::String()

String::String( char c );

Beschreibung

Konstruktor der Klasse String. Er wandelt ein einzelnes Zeichen in einen String um. Falls das übergebene Zeichen den Wert 0 hat, so wird ein leerer String erzeugt mit der Länge 0.

Parameter

char c	Das Zeichen, das in einen String umgewandelt werden soll. Falls es sich bei dem übergebenen Zeichen um einen Null-Character (Wert = 0) handelt, so wird ein leerer String erzeugt.

Beispiel

String aStr( 'c' );     // Ergibt: "c"

String aStr( (char)0 ); // Ergibt: ""

_______________

String::String()

String::String( int n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen int-Wert in einen String um.

Parameter

int n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( 100 );    // Ergibt:  "100"

String aStr( 0 );      // Ergibt:    "0"

String aStr( -100 );   // Ergibt: "-100"

_______________

String::String()

String::String( unsigned int n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen unsigned int-Wert in einen String um.

Parameter

unsigned int n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( 100 );    // Ergibt:  "100"

String aStr( 0 );      // Ergibt:    "0"

_______________

String::String()

String::String( short n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen short-Wert in einen String um.

Parameter

short n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( (short)100 );     // Ergibt:  "100".

String aStr( (short)0 );       // Ergibt:    "0".

String aStr( (short)-100 );    // Ergibt: "-100".

_______________

String::String()

String::String( USHORT n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen USHORT-Wert in einen String um.

Parameter

USHORT n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( (USHORT)100 );     // Ergibt:  "100".

String aStr( (USHORT)0 );       // Ergibt:    "0".

_______________

String::String()

String::String( long n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen long-Wert in einen String um.

Parameter

long n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( (long)100 );     // Ergibt:  "100".

String aStr( (long)0 );       // Ergibt:    "0".

String aStr( (long)-100 );    // Ergibt: "-100".

_______________

String::String()

String::String( ULONG n );

Beschreibung

Konstruktor der Klasse String. Dieser Konstruktor wandelt einen ULONG-Wert in einen String um.

Parameter

ULONG n	Der Wert, der in einen String umgewandelt werden soll.

Beispiel

String aStr( (ULONG)100 );    // Ergibt:  "100".

String aStr( (ULONG)0 );      // Ergibt:    "0".

_______________

String::~String()

String::~String();

Beschreibung

Destruktor der Klasse String. Der String wird gelöscht.

_______________

String::operator const char*()

String::operator const char*() const;

Beschreibung

Dieser Operator gibt einen Zeiger auf den String-Puffer zurück. Dieser String-Zeiger kann an C-Funktionen als Source-String übergeben werden.

Rückgabewert

const char*	Der Zeiger auf den String-Puffer.

Ausnahmen

Der Zeiger auf den String-Puffer darf nur als Source-String verwendet werden. Dies liegt daran, daß die String-Verwaltung mehr als nur den String verwaltet. Der Zeiger darf nicht zur späteren Verwendung gespeichert werden, weil er sich bei Aufruf einer anderen String-Methode ändern kann.

Beispiel

char aBuf[100];

String aStr( "Test" );

// Kopiert den String aStr in den Puffer aBuf

strcpy( aBuf, aStr );

_______________

String::operator char()

String::operator char() const;

Beschreibung

Dieser Operator liefert das erste Zeichen des Strings zurück oder 0, wenn der String keine Zeichen enthält.

Rückgabewert

char	Das erste Zeichen des Strings oder 0, wenn der String keine Zeichen enthält.

Beispiel

String aStr1( "Test" );

String aStr2;

char   c;

c = aStr1;    // c = 'T'

c = aStr2;    // c = 0

_______________

String::operator int()

String::operator int() const;

Beschreibung

Dieser Operator wandelt einen String in einen int-Wert um.

Rückgabewert

int	Der im String stehende, als int interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

int n = 100;        // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator unsigned int()

String::operator unsigned int() const;

Beschreibung

Dieser Operator wandelt einen String in einen unsigned int-Wert um.

Rückgabewert

unsigned int	Der im String stehende, als unsigned int interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

int n = 100;        // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator short()

String::operator short() const;

Beschreibung

Dieser Operator wandelt einen String in einen short-Wert um.

Rückgabewert

short	Der im String stehende, als short interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

short n = 100;      // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator USHORT()

String::operator USHORT() const;

Beschreibung

Dieser Operator wandelt einen String in einen USHORT-Wert um.

Rückgabewert

short	Der im String stehende, als USHORT interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

USHORT n = 100;     // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator long()

String::operator long() const;

Beschreibung

Dieser Operator wandelt einen String in einen long-Wert um.

Rückgabewert

long	Der im String stehende, als long interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

long n = 100;       // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator ULONG()

String::operator ULONG() const;

Beschreibung

Dieser Operator wandelt einen String in einen ULONG-Wert um.

Rückgabewert

long	Der im String stehende, als ULONG interpretierte Wert. Der String wird nur so weit umgewandelt, wie Ziffern und Vorzeichen im String stehen.

Beispiel

ULONG n = 100;      // Ergibt:  100

String aStr( n );   // Ergibt: "100"

n = aStr;           // Ergibt:  100

aStr = "123abc456"; // Ergibt: "123abc456"

n = aStr;           // Ergibt:  123

aStr = "abc";       // Ergibt: "abc"

n = aStr;           // Ergibt:    0

_______________

String::operator =()

String& String::operator =( const String& rStr );

Beschreibung

Dieser Operator weist einem String einen anderen String zu.

Parameter

const String& rStr	Referenz auf den String, der dem String zugewiesen werden soll.

Rückgabewert

String&	Referenz auf den String für Mehrfachzuweisungen.

Beispiel

String aStr1( "Test 1" );

String aStr2( "Test 2" );

String aStr3( "Test 3" );

aStr1 = aStr2 = aStr3 = "Dies ist ein Test";

// aStr1, aStr2 und aStr3 == "Dies ist ein Test"

_______________

String::operator =()

String& String::operator =( const char* pCharStr );

Beschreibung

Dieser Operator weist einem String eine Zeichenkette zu. Dadurch wird die Erzeugung eines temporären String-Objektes vermieden.

Parameter

const char* pCharStr	Der Zeiger auf die Zeichenkette, die einem String zugewiesen werden soll.

Rückgabewert

String&	Referenz auf den String für Mehrfachzuweisungen.

_______________

String::operator +=()

String& String::operator +=( const String& rStr );

Beschreibung

Dieser Operator hängt den übergebenen String an den aktuellen String an. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

const String& rStr	Referenz auf den String, der an den aktuellen String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

String aStr1( "123" );

String aStr2( "abc" );

aStr1 += aStr2;  // aStr1 == "123abc"

_______________

String::operator +=()

String& String::operator +=( const char* pCharStr );

Beschreibung

Dieser Operator hängt die übergebene Zeichenkette an den aktuellen String an. Falls der String länger als STRING_MAXLEN wird, so wird die übergebene Zeichenkette entsprechend abgeschnitten.

Parameter

const char* pCharStr	Referenz auf die Zeichenkette, die an den aktuellen String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

String aStr( "123" );

aStr1 += "abc";  // aStr1 == "123abc"

_______________

String::operator +=()

String& String::operator +=( char c );

Beschreibung

Dieser Operator hängt ein Zeichen an einen String. Ist der String STRING_MAXLEN Zeichen lang, so wird das Zeichen nicht angehängt.

Parameter

char c	Das Zeichen, das an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

String aStr( "123" );

aStr1 += '4';  // aStr1 == "1234"

_______________

String::operator +=()

String& String::operator +=( int n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

int n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

String aStr( "123" );

aStr1 += 456;  // aStr1 == "123456"

_______________

String::operator +=()

String& String::operator +=( unsigned int n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

unsigned int n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

String aStr( "123" ) += 456;  // aStr1 == "123456"

_______________

String::operator +=()

String& String::operator +=( short n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

short n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

short  n = 456;

String aStr( "123" );

aStr1 += n;  // aStr1 == "123456"

_______________

String::operator +=()

String& String::operator +=( USHORT n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

USHORT n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

USHORT n = 456;

String aStr( "123" );

aStr1 += n;  // aStr1 == "123456"

_______________

String::operator +=()

String& String::operator +=( long n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

long n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

long   n = 456;

String aStr( "123" );

aStr1 += n;  // aStr1 == "123456"

_______________

String::operator +=()

String& String::operator +=( ULONG n );

Beschreibung

Dieser Operator hängt die übergebene Zahl als Text an den String. Falls der String länger als STRING_MAXLEN wird, so wird der übergebene String entsprechend abgeschnitten.

Parameter

ULONG n	Die Zahl, die als Text an den String angehängt werden soll.

Rückgabewert

String&	Referenz auf den neuen String.

Beispiel

ULONG  n = 456;

String aStr( "123" );

aStr1 += n;  // aStr1 == "123456"

_______________

String::operator !()

BOOL String::operator !() const;

Beschreibung

Mit Hilfe dieses Operators kann festgestellt werden, ob es sich um einen String handelt, der kein Zeichen enthält.

Rückgabewert

BOOL	TRUE

Der String enthält keine Zeichen.

FALSE

Der String enthält Zeichen.

Beispiel

String aStr1();

String aStr2( "ABC" );

// Entspricht aStr.Len() == 0

if ( !aStr1 )  // Ergibt TRUE

if ( !aStr2 )  // Ergibt FALSE

Querverweise

String::Len()

_______________

String::operator []()

char String::operator []( USHORT nPos ) const;

Beschreibung

Dieser Operator gibt das Zeichen zurück, das sich an der angegebenen Position im String befindet.

Parameter

USHORT nPos	Die Position des Zeichens im String. Das erste Zeichen im String befindet sich an der Position 0. Die angegebene Position muß sich innerhalb des Strings befinden, es wird keine Überprüfung in dieser Hinsicht vorgenommen.

Rückgabewert

char	Das Zeichen, das sich an der Position nPos im String befindet.

Beispiel

String aStr( "ABC" );

char c = aStr[1];  // c hat den Wert 'B'

_______________

String::operator []()

char& String::operator []( USHORT nPos );

Beschreibung

Dieser Operator gibt eine Referenz auf ein Zeichen im String zurück. Über diesen Operator kann das Zeichen abgefragt oder ersetzt werden.

Parameter

USHORT nPos	Die Position des Zeichens im String. Das erste Zeichen im String befindet sich an der Position 0. Die angegebene Position muß sich innerhalb des Strings befinden, es wird keine Überprüfung in dieser Hinsicht vorgenommen.

Rückgabewert

char&	Referenz auf das Zeichen an der Position nPos im String.

Beispiel

String aStr( "ABC" );

char c = aStr[1];  // c hat den Wert 'B'

aStr[1] = 'b';     // aStr hat den Wert "AbC"

_______________

String::Len()

USHORT String::Len() const;

Beschreibung

Mit dieser Methode kann die Stringlänge abgefragt werden.

Rückgabewert

USHORT	Die Länge des Strings.

Beispiel

String aStr( "ABC" );

USHORT n = aStr.Len();  // n hat den Wert 3

_______________

String::Insert()

String& String::Insert(const String& rStr,USHORT nPos=STRING_LEN);

Beschreibung

Mit dieser Methode kann ein String in den String eingefügt werden. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const String& rStr	Referenz auf den String, der in den String eingefügt werden soll.

USHORT nPos	Die Position, an der der übergebene String eingefügt werden soll. Ist die Position größer als die Stringlänge, so wird der String angehängt. Die Position des ersten Zeichens im String ist 0.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue benutzt werden kann.

Beispiel

String aStr( "123789" );

aStr.Insert( "456", 3 );  // aStr hat den Wert "123456789"

Querverweise

String::Replace(), String::Erase(), String::Cut(), String::Copy()

_______________

String::Insert()

String& String::Insert( const String& rStr,USHORT nSourcePos, USHORT nLen, USHORT nDestPos = STRING_LEN );

Beschreibung

Mit dieser Methode kann ein Teilstring in den String eingefügt werden. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const String& rStr	Referenz auf den String, der in den String eingefügt werden soll.

USHORT nSourcePos	Die Position im übergebenen String, von der an der übergebene String eingefügt werden soll.

USHORT nLen	Die Anzahl der Zeichen, die von dem übergebenen String eingefügt werden sollen.

USHORT nDestPos	Die Position im aktuellen String, an der der übergebene String eingefügt werden soll. Ist die Position größer als die Stringlänge, so wird der String angehängt. Die Position des ersten Zeichens im String ist 0.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue benutzt werden kann.

Beispiel

String aStr( "13" );

aStr.Insert( "123", 1, 1, 1 );  // aStr == "123"

Querverweise

String::Replace(), String::Erase(), String::Cut(), String::Copy()

_______________

String::Insert()

String& String::Insert( const char* pCharStr, USHORT nPos = STRING_LEN );

Beschreibung

Mit dieser Methode kann die übergebene Zeichenkette komplett in den aktuellen String eingefügt werden. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const char* pCharStr	Ein Zeiger auf die Zeichenkette, die in den aktuellen String eingefügt werden soll.

USHORT nPos	Die Position, an der der übergebene String eingefügt werden soll. Ist die Position größer als die Stringlänge, so wird die Zeichenkette angehängt. Die Position des ersten Zeichens im String ist 0.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue benutzt werden kann.

Beispiel

String aStr( "123789" );

aStr.Insert( "456", 3 );  // aStr == "123456789"

Querverweise

String::Replace(), String::Erase(), String::Cut(), String::Copy()

_______________

String::Insert()

String& String::Insert( char c, USHORT nPos = STRING_LEN );

Beschreibung

Mit dieser Methode kann ein Zeichen in den String eingefügt werden. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

char c	Das Zeichen, das in den String eingefügt werden soll.

USHORT nPos	Die Position, an der das übergebene Zeichen eingefügt werden soll. Ist die Position größer als die Stringlänge, so wird das Zeichen angehängt. Die Position des ersten Zeichens im String ist 0.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue benutzt werden kann.

Beispiel

String aStr( "13" );

aStr.Insert( '2', 1 );  // aStr == "123"

Querverweise

String::Replace(), String::Erase(), String::Cut(), String::Copy()

_______________

String::Replace()

String& String::Replace( const String& rStr, USHORT nPos = 0 );

Beschreibung

Mit dieser Methode kann der Inhalt des Strings ganz oder teilweise durch einen anderen String ersetzt werden. Durch diese Methode wird die Länge des Strings nicht verändert. Es werden nur so viele Zeichen ersetzt wie im String enthalten sind.

Parameter

const String& rStr	Referenz auf den String, der Teile des Strings ersetzen soll.

USHORT nPos	Die Position, ab der der übergebene String den Inhalt des Strings ersetzen soll. Ist die Position größer als die Stringlänge, so wird der String nicht verändert. Die Position des ersten Zeichens ist 0.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr1( "1234567890" );

String aStr2( "abcdefghij" );

aStr2.Replace( aStr1, 3 );  // aStr2 == "abc1234567"

aStr2.Replace( aStr1, 0 );  // aStr2 == "1234567890"

aStr2.Replace( "abc", 3 );  // aStr2 == "123abc7890"

Querverweise

String::Insert(), String::Erase(), String::Cut(), String::Copy()

_______________

String::Erase()

String& String::Erase(USHORT nPos = 0,USHORT nCount = STRING_LEN);

Beschreibung

Mit dieser Methode kann der Inhalt des Strings ganz oder teilweise gelöscht werden.

Parameter

USHORT nPos	Die Position, ab der ein Teil des Strings gelöscht werden soll. Ist die Position größer als die Stringlänge, so wird der String nicht verändert. Die Position des ersten Zeichens ist 0.

USHORT nCount	Die Anzahl der Zeichen, die gelöscht werden sollen. Falls nPos+nCount über die Stringlänge hinausgeht, so wird nur bis zum Stringende gelöscht.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "1234567890" );

aStr.Erase( 3, 3 );  // aStr == "1237890"

aStr.Erase( 3 );     // aStr == "123"

aStr.Erase();        // aStr == ""

Querverweise

String::Insert(), String::Replace(), String::Cut(), String::Copy()

_______________

String::Cut()

String& String::Cut( USHORT nPos = 0,USHORT nCount = STRING_LEN);

Beschreibung

Mit dieser Methode kann der Inhalt des Strings ganz oder teilweise ausgeschnitten werden.

Parameter

USHORT nPos	Die Position, ab der ein Teil des Strings ausgeschnitten werden soll. Ist die Position größer als die Stringlänge, so wird der String nicht verändert. Die Position des ersten Zeichens ist 0.

USHORT nCount	Die Anzahl der Zeichen, die ausgeschnitten werden sollen. Falls nPos+nCount über die Stringlänge hinausgeht, so wird nur bis zum Stringende ausgeschnitten.

Rückgabewert

String	Der String, der aus dem String ausgeschnitten wurde.

Beispiel

String aStr( "1234567890" );

String aStr2;

aStr.Cut( 3, 3 );    // aStr == "1237890"

aStr.Cut( 3 );       // aStr == "123"

aStr2 = aStr.Cut();  // aStr == ""; aStr2 == "123"

Querverweise

String::Insert(), String::Replace(), String::Erase(), String::Copy()

_______________

String::Copy()

String String::Copy( USHORT nPos = 0, USHORT nCount = STRING_LEN ) const;

Beschreibung

Mit dieser Methode kann ein Teilstring aus einem String kopiert werden.

Parameter

USHORT nPos	Die Position, ab der ein Teil des Strings kopiert werden soll. Falls die Position größer als die Stringlänge ist, so wird ein leerer String (Länge=0) zurückgeliefert. Die Position des ersten Zeichens ist 0.

USHORT nCount	Die Anzahl der Zeichen, die kopiert werden sollen. Falls nPos+nCount über die Stringlänge hinausgeht, so wird nur bis zum Stringende kopiert.

Rückgabewert

String	Der Teilstring, der aus dem String kopiert wurde.

Beispiel

String aStr( "1234567890" );

String aSubStr;

aSubStr = aStr.Copy( 3, 3 );  // aSubStr == "456"

aSubStr = aStr.Copy( 3 );     // aSubStr == "4567890"

aSubStr = aStr.Copy();        // aSubStr == "1234567890"

Querverweise

String::Insert(), String::Replace(), String::Erase(), String::Cut()

_______________

String::Fill()

String& String::Fill( USHORT nCount, char cFillChar = ' ' );

Beschreibung

Mit dieser Methode kann der String mit einem Zeichen gefüllt werden. Nach dem Füllen hat der String mindestens die Länge von nCount.

Parameter

USHORT nCount	Die Anzahl der Zeichen, mit denen der String gefüllt werden soll. Falls der String länger als nCount ist, so wird er nur bis nCount mit dem Füllzeichen gefüllt. Falls nCount größer ist als die Stringlänge, so wird der String auf nCount Zeichen verlängert und komplett mit dem Füllzeichen gefüllt.

char cFillChar	Das Zeichen, mit dem der String gefüllt werden soll.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "123456" );

aStr.Fill(  3, 'a' );  // aStr == "aaa456"

aStr.Fill( 10, 'a' );  // aStr == "aaaaaaaaaa"

Querverweise

String::Expand()

_______________

String::Expand()

String& String::Expand( USHORT nCount, char cExpandChar= ' ');

Beschreibung

Mit dieser Methode kann der String mit einem Zeichen bis zu einer bestimmten Länge aufgefüllt werden. Nach dem Füllen hat der String mindestens die Länge von nCount.

Parameter

USHORT nCount	Die Anzahl der Zeichen, bis zu der der String aufgefüllt werden soll. Falls der String länger als nCount ist, so wird er nicht verlängert. Falls nCount größer ist als die Stringlänge, so wird der String auf nCount-Zeichen verlängert und von der Stringlänge-1 bis nCount-1 mit dem Zeichen aufgefüllt.

char cExpandChar	Das Zeichen, mit dem der String aufgefüllt werden soll.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "123456" );

aStr.Expand(  3, 'a' );  // aStr == "123456"

aStr.Expand( 10, 'a' );  // aStr == "123456aaaa"

Querverweise

String::Fill()

_______________

String::EraseLeadingChars()

String& String::EraseLeadingChars( char c = ' ' );

Beschreibung

Diese Methode entfernt alle Vorkommen des angegebenen Zeichens aus dem String, sofern sie führende Zeichen des Strings sind.

Parameter

char c	Das Zeichen, das entfernt werden soll. Falls kein Zeichen angegeben wird, werden führende Leerzeichen entfernt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "aaa1234a56aaa" );

aStr.EraseLeadingChars('a');  // aStr == "1234a56aaa"

Querverweise

String::EraseTrailingChars(); String::EraseAllChars()

_______________

String::EraseTrailingChars()

String& String::EraseTrailingChars( char c = ' ' );

Beschreibung

Diese Methode entfernt alle Vorkommen des angegebenen Zeichens aus dem String, sofern sie am Ende des Strings stehen.

Parameter

char c	Das Zeichen, das entfernt werden soll. Falls kein Zeichen angegeben wird, werden abschließende Leerzeichen entfernt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "aaa1234a56aaa" );

aStr.EraseTrailingChars('a');  // aStr == "aaa1234a56"

Querverweise

String::EraseLeadingChars(); String::EraseAllChars()

_______________

String::EraseAllChars()

String& String::EraseAllChars( char c = ' ' );

Beschreibung

Diese Methode entfernt alle Vorkommen des angegebenen Zeichens aus dem String.

Parameter

char c	Das Zeichen, das entfernt werden soll. Falls kein Zeichen angegeben wird, werden Leerzeichen entfernt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "aaa1234a56aaa" );

aStr.EraseAllChars('a');  // aStr == "123456"

Querverweise

String::EraseLeadingChars(); String::EraseTrailingChars()

_______________

String::Reverse()

String& String::Reverse();

Beschreibung

Diese Methode dreht den Inhalt des Strings um.

Rückgabewert

String&	Referenz auf diesen String.

_______________

String::Convert()

String& String::Convert( CharSet eSource, CharSet eTarget = CHARSET_SYSTEM );

Beschreibung

Diese Methode konvertiert alle Zeichen des Strings vom angegebenen Quell-Zeichensatz in den angegebenen Ziel-Zeichensatz.

Parameter

CharSet eSource	Der Zeichensatz, aus dem der String konvertier werden soll.

CharSet eTarget	Der Zeichensatz, in den der String konvertier werden soll. Falls kein Ziel-Zeichensatz angegeben wird, wird der String in den System-Zeichensatz konvertiert.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Querverweise

CharSet

_______________

String::Convert()

static char String::Convert( char c, CharSet eSource, CharSet eTarget = CHARSET_SYSTEM );

Beschreibung

Diese Methode konvertiert das übergebene Zeichen vom angegebenen Quell-Zeichensatz in den angegebenen Ziel-Zeichensatz.

Parameter

char c	Das zu konvertierende Zeichen.

CharSet eSource	Der Zeichensatz, aus dem das Zeichen konvertier werden soll.

CharSet eTarget	Der Zeichensatz, in den das Zeichen konvertier werden soll. Falls kein Ziel-Zeichensatz angegeben wird, wird das Zeichen in den System-Zeichensatz konvertiert.

Rückgabewert

char	Das konvertierte Zeichen.

Querverweise

CharSet

_______________

String::SpaceToZero()

String& String::SpaceToZero();

Beschreibung

Mit dieser Methode werden alle Spacezeichen (ASCII-Wert 32) innerhalb des Strings in Nullen (ASCII-Wert 48) umgewandelt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "   123   " );

aStr.SpaceToZero();  // aStr == "000123000"

Querverweise

String::ZeroToSpace()

_______________

String::ZeroToSpace()

String& String::ZeroToSpace();

Beschreibung

Mit dieser Methode werden alle Nullen (ASCII-Wert 48,'0') innerhalb des Strings in Spacezeichen (ASCII-Wert 32) umgewandelt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "000123000" );

aStr.ZeroToSpace();  // aStr == "   123   "

Querverweise

String::SpaceToZero()

_______________

String::ToUpper()

String& String::ToUpper();

Beschreibung

Mit dieser Methode werden die Zeichen a-z im ASCII-Zeichensatz (Werte: 97-122) innerhalb des Strings in Großbuchstaben umgewandelt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "123abcöäü" );

aStr.ToUpper();  // aStr == "123ABCöäü"

Querverweise

String::ToLower(), String::Upper()

_______________

String::ToLower()

String& String::ToLower();

Beschreibung

Mit dieser Methode werden die Zeichen A-Z im ASCII-Zeichensatz (Werte: 65-90) innerhalb des Strings in Kleinbuchstaben umgewandelt.

Rückgabewert

String&	Referenz auf den String, damit dieser Aufruf auch als LValue geschrieben werden kann.

Beispiel

String aStr( "123ABCÖÄÜ" );

aStr.ToLower();  // aStr == "123abcÖÄÜ"

Querverweise

String::ToUpper(), String::Lower()

_______________

String::Upper()

String String::Upper() const;

Beschreibung

Diese Methode gibt den String in Großbuchstaben zurück. Dabei werden nur die Zeichen a-z im ASCII-Zeichensatz (Werte: 97-122) innerhalb des Strings in Großbuchstaben umgewandelt.

Rückgabewert

String	Der String in Großbuchstaben.

Beispiel

String aStr( "123abcöäü" );

String aStr2;

aStr2 = aStr.Upper();  // aStr  == "123abcöäü"

                       // aStr2 == "123ABCöäü"

Querverweise

String::Lower(), String::ToUpper()

_______________

String::Lower()

String String::Lower() const;

Beschreibung

Diese Methode gibt den String in Kleinbuchstaben zurück. Dabei werden nur die Zeichen A-Z im ASCII-Zeichensatz (Werte: 65-90) innerhalb des Strings in Kleinbuchstaben umgewandelt.

Rückgabewert

String	Der String in Kleinbuchstaben.

Beispiel

String aStr( "123ABCöäü" );

String aStr2;

aStr2 = aStr.Lower();  // aStr  == "123ABCöäü"

                       // aStr2 == "123abcöäü"

Querverweise

String::Upper(), String::ToLower()

_______________

String::IsUpper()

BOOL String::IsUpper() const;

Beschreibung

Diese Methode prüft, ob der String keine Kleinbuchstaben (a-z) enthält.

Rückgabewert

BOOL	TRUE

Der String enthält keine Kleinbuchstaben.

FALSE

Der String enthält Kleinbuchstaben.

Beispiel

String aStr1( "abc123DEF" );

String aStr2( "123DEF" );

BOOL b1 = aStr1.IsUpper();   // Ergibt FALSE

BOOL b2 = aStr2.IsUpper();   // Ergibt TRUE

Querverweise

String::IsAlpha(), String::IsAlphaNumeric(), String::IsNumeric(), String::IsLower()

_______________

String::IsLower()

BOOL String::IsLower() const;

Beschreibung

Diese Methode prüft, ob der String keine Großbuchstaben (A-Z) enthält.

Rückgabewert

BOOL	TRUE

Der String enthält keine Großbuchstaben.

FALSE

Der String enthält Großbuchstaben.

Beispiel

String aStr1( "abc123DEF" );

String aStr2( "abc123" );

BOOL b1 = aStr1.IsUpper();   // Ergibt FALSE

BOOL b2 = aStr2.IsUpper();   // Ergibt TRUE

Querverweise

String::IsAlpha(), String::IsAlphaNumeric(), String::IsNumeric(), String::IsUpper()

_______________

String::IsAlpha()

BOOL String::IsAlpha() const;

Beschreibung

Diese Methode prüft, ob der String nur Buchstaben (a-z, A-Z) enthält.

Rückgabewert

BOOL	TRUE

Der String enthält nur Buchstaben.

FALSE

Der String enthält noch andere Zeichen als Buchstaben.

Beispiel

String aStr1( "abc123DEF" );

String aStr2( "abcDEF" );

BOOL b1 = aStr1.IsAlpha();   // Ergibt FALSE

BOOL b2 = aStr2.IsAlpha();   // Ergibt TRUE

Querverweise

String::IsAlphaNumeric(), String::IsNumeric(), String::IsUpper(), String::IsLower()

_______________

String::IsNumeric()

BOOL String::IsNumeric() const;

Beschreibung

Diese Methode prüft, ob der String nur Ziffern (0-9) enthält.

Rückgabewert

BOOL	TRUE

Der String enthält nur Ziffern.

FALSE

Der String enthält noch andere Zeichen als Ziffern.

Beispiel

String aStr1( "abc123DEF" );

String aStr2( "123" );

BOOL b1 = aStr1.IsNumeric();   // Ergibt FALSE

BOOL b2 = aStr2.IsNumeric();   // Ergibt TRUE

Querverweise

String::IsAlpha(), String::IsAlphaNumeric(), String::IsUpper(), String::IsLower()

_______________

String::IsAlphaNumeric()

BOOL String::IsAlphaNumeric() const;

Beschreibung

Diese Methode prüft, ob der String nur Buchstaben (a-z, A-Z) und Ziffern (0-9) enthält.

Rückgabewert

BOOL	TRUE

Der String enthält nur Buchstaben und Ziffern.

FALSE

Der String enthält noch andere Zeichen als Buchstaben und Ziffern.

Beispiel

String aStr1( "abc123DEF\&$" );

String aStr2( "abc123DEF" );

BOOL b1 = aStr1.IsAlphaNumeric();   // Ergibt FALSE

BOOL b2 = aStr2.IsAlphaNumeric();   // Ergibt TRUE

Querverweise

String::IsAlpha(), String::IsNumeric(), String::IsUpper(), String::IsLower()

_______________

String::Compare()

StringCompare String::Compare( const String& rStr ) const;

Beschreibung

Diese Methode vergleicht diesen String mit dem übergebenen String.

Parameter

const String& rStr	Der String, mit dem dieser String verglichen wird.

Rückgabewert

StringCompare	Das Ergebnis des Vergleichs (ein Wert aus dem enum StringCompare).

Querverweise

String::ICompare()

_______________

String::Compare()

StringCompare String::Compare( const char* pCharStr ) const;

Beschreibung

Diese Methode vergleicht diesen String mit der übergebenen Zeichenkette.

Parameter

const char* pCharStr	Ein Zeiger auf die Zeichenkette, mit der dieser String verglichen wird.

Rückgabewert

StringCompare	Das Ergebnis des Vergleichs (ein Wert aus dem enum StringCompare).

Querverweise

String::ICompare()

_______________

String::ICompare()

StringCompare String::ICompare( const String& rStr ) const;

Beschreibung

Diese Methode vergleicht diesen String mit dem übergebenen String ohne Berücksichtigung von Groß-Kleinschreibung.

Parameter

const String& rStr	Der String, mit dem dieser String verglichen wird.

Rückgabewert

StringCompare	Das Ergebnis des Vergleichs (ein Wert aus dem enum StringCompare).

Querverweise

String::Compare()

_______________

String::ICompare()

StringCompare String::ICompare( const char* pCharStr ) const;

Beschreibung

Diese Methode vergleicht diesen String mit der übergebenen Zeichenkette.

Parameter

const char* pCharStr	Ein Zeiger auf die Zeichenkette, mit der dieser String verglichen wird.

Rückgabewert

StringCompare	Das Ergebnis des Vergleichs (ein Wert aus dem enum StringCompare).

Querverweise

String::Compare()

_______________

String::Match()

USHORT String::Match( const String& rStr ) const;

Beschreibung

Diese Methode prüft, ab welcher Position sich dieser String vom übergebenen String unterscheidet.

Parameter

const String& rStr	Der String, mit dem dieser String verglichen wird.

Rückgabewert

USHORT	Die Position, an der sich die beiden Strings unterscheiden. Falls alle Zeichen dieses Strings mit denen von rStr übereinstimmen oder dieser String leer ist, so wird STRING_MATCH zurückgegeben.

Beispiel

String aStr1( "1234567890" );

String aStr2( "" );

int n1 = aStr1.Match( "123abc" );  // Ergibt 3

int n2 = aStr1.Match( "abc" );     // Ergibt 0

int n3 = aStr1.Match( "123" );     // Ergibt 4

int n4 = aStr1.Match( "" );        // Ergibt 0

int n5 = aStr2.Match( "123" );     // Ergibt STRING_MATCH

int n6 = aStr2.Match( "" );        // Ergibt STRING_MATCH

Querverweise

String::Search()

_______________

String::Match()

USHORT String::Match( const char* pCharStr ) const;

Beschreibung

Diese Methode prüft, ab welcher Position sich dieser String von der übergebenen Zeichenkette unterscheidet.

Parameter

const char* pCharStr	Die Zeichenkette, mit der dieser String verglichen wird.

Rückgabewert

USHORT	Die Position, an der sich die beiden Strings unterscheiden. Falls alle Zeichen dieses Strings mit denen von pCharStr übereinstimmen oder dieser String leer ist, so wird STRING_MATCH zurückgegeben.

Beispiel

String aStr1( "1234567890" );

String aStr2( "" );

int n1 = aStr1.Match( "123abc" );  // Ergibt 3

int n2 = aStr1.Match( "abc" );     // Ergibt 0

int n3 = aStr1.Match( "123" );     // Ergibt 4

int n4 = aStr1.Match( "" );        // Ergibt 0

int n5 = aStr2.Match( "123" );     // Ergibt STRING_MATCH

int n6 = aStr2.Match( "" );        // Ergibt STRING_MATCH

Querverweise

String::Search()

_______________

String::Search()

USHORT String::Search( const String& rStr, USHORT nPos = 0) const;

Beschreibung

Diese Methode sucht den übergebenen String ab einer bestimmten Position innerhalb des Strings und gibt die Position zurück, an der der String gefunden wurde.

Parameter

const String& rStr	Der String, der gesucht werden soll.

USHORT nPos	Die Position, ab der im String gesucht werden soll.

Rückgabewert

USHORT	Die Position, an der der übergebene String gefunden wurde. Falls der String nicht gefunden oder nach einem leeren String gesucht wurde, so wird

STRING_NOTFOUND zurückgegeben.

Beispiel

String aStr( "1234567890" );

int n1 = aStr.Search( "456" );    // Ergibt 3

int n2 = aStr.Search( "abc" );    // Ergibt STRING_NOTFOUND

int n3 = aStr.Search( "456", 7 ); // Ergibt STRING_NOTFOUND

int n4 = aStr.Search( "" );       // Ergibt STRING_NOTFOUND

Querverweise

String::Match()

_______________

String::Search()

USHORT String::Search( const char* pCharStr, USHORT nPos=0 ) const;

Beschreibung

Diese Methode sucht die übergebene Zeichenkette ab einer bestimmten Position innerhalb des Strings und gibt die Position zurück, an der der String gefunden wurde.

Parameter

const char* pCharStr	Die Zeichenkette, die gesucht werden soll.

USHORT nPos	Die Position, ab der im String gesucht werden soll.

Rückgabewert

USHORT	Die Position, an der die übergebene Zeichenkette gefunden wurde. Falls die Zeichenkette nicht gefunden oder nach einer leeren Zeichenkette gesucht wurde, so wird STRING_NOTFOUND zurückgegeben.

Beispiel

String aStr( "1234567890" );

int n1 = aStr.Search( "456" );    // Ergibt 3

int n2 = aStr.Search( "abc" );    // Ergibt STRING_NOTFOUND

int n3 = aStr.Search( "456", 7 ); // Ergibt STRING_NOTFOUND

int n4 = aStr.Search( "" );       // Ergibt STRING_NOTFOUND

Querverweise

String::Match()

_______________

String::Search()

USHORT String::Search( char c, USHORT nPos = 0 ) const;

Beschreibung

Diese Methode sucht das übergebene Zeichen ab einer bestimmten Position innerhalb des Strings und gibt die Position zurück, an der das Zeichen gefunden wurde.

Parameter

char c	Das Zeichen, das gesucht werden soll.

USHORT nPos	Die Position, ab der im String gesucht werden soll. Falls hier keine Angabe gemacht wird, wird vom Anfang des Strings aus gesucht.

Rückgabewert

USHORT	Die Position, an der das übergebene Zeichen gefunden wurde. Falls das Zeichen nicht gefunden wurde, so wird

STRING_NOTFOUND zurückgegeben.

Beispiel

String aStr( "1234567890" );

int n1 = aStr.Search( "4" );    // Ergibt 3

int n2 = aStr.Search( "a" );    // Ergibt STRING_NOTFOUND

int n3 = aStr.Search( "4", 7 ); // Ergibt STRING_NOTFOUND

int n4 = aStr.Search( "" );       // Ergibt STRING_NOTFOUND

Querverweise

String::Match()

_______________

String::GetTokenCount()

USHORT String::GetTokenCount( char cTok = ';' ) const;

Beschreibung

Diese Methode liefert die Anzahl der Tokens zurück.

Parameter

char cTok	Das Trennzeichen der Tokens.

Rückgabewert

USHORT	Anzahl der Tokens im String.

Querverweise

String::GetToken()

_______________

String::GetToken()

String String::GetToken( USHORT nToken, char cTok = ';' ) const;

Beschreibung

Diese Methode liefert die einzelnen Tokens zurück.

Parameter

USHORT nToken	Der gewünschte Token im String (mit 0 beginnend).

char cTok	Das Tokentrennzeichen

Rückgabewert

String	Der gefundene Token oder Leerstring falls kein weiterer Token vorhanden.

Querverweise

String::GetTokenCount()

_______________

String::AllocStrBuf()

char* String::AllocStrBuf( USHORT nLen );

Beschreibung

Diese Methode erzeugt in dem String einen internen String-Puffer, der danach z.B. über strcpy() gefüllt werden kann. Der Anwender dieser Methode muß dafür sorgen, daß die Länge des Strings, der in diesen Puffer kopiert wird, mit der angegebenen Puffergröße übereinstimmt. Nachdem er mit dem String gefüllt wurde, darf der Puffer nicht mehr über den zurückgegebenen char-Zeiger angesprochen werden.

Parameter

USHORT nLen	Durch nLen wird angegeben, wie viele Zeichen in dem Puffer Platz finden. Der Puffer ist nLen+1 groß. So kann beim Kopieren das Null-Byte ggf. mitkopiert werden.

Rückgabewert

char*	Der Zeiger auf den Puffer, der angelegt wurde. Der Puffer muß unmittelbar nach dem Allokieren des Puffers gefüllt werden (vor dem Füllen des Puffers darf keine andere String-Methode aufgerufen werden). In den Puffer kann der String mit oder ohne Null-Byte kopiert werden. Es ist jedoch darauf zu achten, daß der String die bei nLen angegebene Länge hat.

Beispiel

USHORT nLen = strlen(pStr);         // Stringlänge ermitteln

strcpy( AllocStrBuf(nLen), pStr );  // String in den Puffer kopieren

Querverweise

_______________

String::GetStr()

const char* String::GetStr() const;

Beschreibung

Dieser Operator gibt einen Zeiger auf den String-Puffer zurück. Dieser Zeiger auf eine Zeichenkette kann an C-Funktionen als Source übergeben werden.

Rückgabewert

const char*	Der Zeiger auf den String-Puffer.

Ausnahmen

Der Zeiger auf den String-Puffer darf nur als Source verwendet werden. Dies liegt daran, daß die String-Verwaltung mehr als nur die Zeichenkette verwaltet. Der Zeiger darf nicht zur späteren Verwendung vorgesehen werden, weil er bei Aufruf einer anderen String-Methode neu allokiert werden kann.

Querverweise

_______________

String operator +()

friend String operator +( const String& rStr1,const String& rStr2 );

Beschreibung

Dieser Operator fügt zwei Strings zu einem neuen String zusammen. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const String& rStr1	Referenz auf den ersten String.

const String& rStr2	Referenz auf den zweiten String, der mit dem ersten String zusammengefügt werden soll.

Rückgabewert

String	Der durch das Zusammenfügen der beiden Strings entstandene neue String.

Beispiel

String aStr1( "123" );

String aStr2( "abc" );

String aStr3( "Test" );

aStr3 = aStr1 + aStr2;    // aStr1 == "123"

                          // aStr2 == "abc"

                          // aStr3 == "123abc"

Querverweise

String::operator +=()

_______________

String operator +()

friend String operator +( const String& rStr,const char* pCharStr );

Beschreibung

Dieser Operator fügt einen String und eine Zeichenkette zu einem neuen String zusammen. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const String& rStr	Referenz auf den String.

const char* pCharStr	Ein Zeiger auf die Zeichenkette, die mit dem String zusammengefügt werden soll.

Rückgabewert

String	Der durch das Zusammenfügen der beiden Teile entstandene neue String.

Beispiel

String aStr1( "123" );

String aStr2( "Test" );

aStr2 = aStr1 + "abc";  // aStr1 == "123"; aStr2 == "123abc"

Querverweise

String::operator +=()

_______________

String operator +()

friend String operator +( const char* pCharStr,const String& rStr );

Beschreibung

Dieser Operator fügt eine Zeichenkette und einen String zu einem neuen String zusammen. Falls der String länger als STRING_MAXLEN wird, so wird der String entsprechend abgeschnitten.

Parameter

const char* pCharStr	Ein Zeiger auf die Zeichenkette.

const String& rStr	Referenz auf den String, der mit der Zeichenkette zusammengefügt werden soll.

Rückgabewert

String	Der durch das Zusammenfügen der beiden Teile entstandene neue String.

Beispiel

String aStr1( "123" );

String aStr2( "Test" );

aStr2 = "abc" + aStr1;  // aStr1 == "123"; aStr2 == "abc123"

Querverweise

String::operator +=()

_______________

String::operator ==()
String::operator !=()
String::operator <()
String::operator >()
String::operator <=()
String::operator >=()

friend BOOL operator ==( const String& rStr1, const String& rStr2 );

friend BOOL operator ==( const String& rStr, const char* pCharStr );

friend BOOL operator ==( const char* pCharStr, const String& rStr );

friend BOOL operator !=( const String& rStr1, const String& rStr2 );

friend BOOL operator !=( const String& rStr, const char* pCharStr );

friend BOOL operator !=( const char* pCharStr, const String& rStr );

friend BOOL operator <( const String& rStr1, const String& rStr2 );

friend BOOL operator <( const String& rStr, const char* pCharStr );

friend BOOL operator <( const char* pCharStr, const String& rStr );

friend BOOL operator >( const String& rStr1, const String& rStr2 );

friend BOOL operator >( const String& rStr, const char* pCharStr );

friend BOOL operator >( const char* pCharStr, const String& rStr );

friend BOOL operator <=( const String& rStr1, const String& rStr2 );

friend BOOL operator <=( const String& rStr, const char* pCharStr );

friend BOOL operator <=( const char* pCharStr, const String& rStr );

friend BOOL operator >=( const String& rStr1, const String& rStr2 );

friend BOOL operator >=( const String& rStr, const char* pCharStr );

friend BOOL operator >=( const char* pCharStr, const String& rStr );

Beschreibung

Vergleichsoperatoren der Klasse String. Mit Hilfe dieser Operatoren können Strings miteinander und mit Zeichenketten verglichen werden. Es gibt Operatoren für ==, !=, <, >, <=, und >=. Die Operatoren arbeiten mit den Zeichencodes. Das führt beispielsweise beim ASCII-Code dazu, daß ein Großbuchstabe immer kleiner ist als alle Kleinbuchstaben und Umlaute immer größer sind als die Zeichen a-z und A-Z. Die Operatoren == und != arbeiten immer korrekt. Ein leerer String ist immer kleiner als ein String mit Zeichen.

Parameter

const String& rStr1	Referenz auf den String, der mit rStr2 verglichen werden soll.

const String& rStr2	Referenz auf den String, der mit rStr1 verglichen werden soll.

const String& rStr	Referenz auf den String, der mit pCharStr verglichen werden soll.

const char* pCharStr	Ein Zeiger auf die Zeichenkette, die mit rStr verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

Beispiel

// ASCII-Zeichensatz

String aStr1( "ABC" );

String aStr2( "ABC" );

String aStr3( "abc" );

if ( aStr1 == aStr2 );  // Ergibt TRUE

if ( aStr1 == aStr3 );  // Ergibt FALSE

if ( aStr1 != aStr2 );  // Ergibt FALSE

if ( aStr1 != aStr3 );  // Ergibt TRUE

if ( aStr1 < aStr2 );   // Ergibt FALSE

if ( aStr1 < aStr3 );   // Ergibt TRUE

if ( aStr1 > aStr2 );   // Ergibt FALSE

if ( aStr1 > aStr3 );   // Ergibt FALSE

if ( aStr3 > aStr1 );   // Ergibt TRUE

if ( aStr1 <= aStr2 );  // Ergibt TRUE

if ( aStr1 <= aStr3 );  // Ergibt TRUE

if ( aStr3 <= aStr1 );  // Ergibt FALSE

if ( aStr1 >= aStr2 );  // Ergibt TRUE

if ( aStr1 >= aStr3 );  // Ergibt FALSE

if ( aStr3 >= aStr1 );  // Ergibt TRUE

Querverweise

String::operator !(), String::Len(), String::Upper(), String::Lower()

_______________


SymbolButton

enum SymbolType	{ ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT };

class SymbolButton : public PushButton

{

public:

SymbolButton( Window* pParent,WinBits nWinStyle = 0);

SymbolButton( Window* pParent, const ResId& rResId );

~SymbolButton();

SymbolType	ChangeSymbol( SymbolType eNewSymbol );

SymbolType	GetSymbol() const;

};

Beschreibung

Die Klasse SymbolButton wird eingesetzt, wenn ein PushButton mit einem vordefinierten Symbol erzeugt werden soll.

Basisklassen

PushButton : Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


enum SymbolType

enum SymbolType	{ ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT };

Beschreibung

Mit dem enum SymbolType kann angegeben werden, welches Symbol der SymbolButton darstellen soll.

ARROW_UP	Ein Pfeil, der nach oben zeigt.

ARROW_DOWN	Ein Pfeil, der nach unten zeigt.

ARROW_LEFT	Ein Pfeil, der nach links zeigt.

ARROW_RIGHT	Ein Pfeil, der nach rechts zeigt.

_______________


SymbolButton::SymbolButton( Window* pParent, WinBits nWinStyle = 0)
SymbolButton::SymbolButton()

SymbolButton::SymbolButton( Window* pParent, WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse SymbolButton.

Parameter

Window* pParent	Der Parent des SymbolButtons.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_REPEAT

Wenn der Benutzer den Button betätigt, wird nach einer bestimmten Zeitspanne Button::Click() gerufen.

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


SymbolButton::SymbolButton( Window* pParent, const ResId& rResId )
SymbolButton::SymbolButton()

SymbolButton::SymbolButton( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse SymbolButton.

Parameter

Window* pParent	Der Parent des SymbolButtons.

const ResId& rResId	Die ID des SymbolButtons in der Resource.

Querverweise

Resource

_______________


SymbolButton::~SymbolButton()

SymbolButton::~SymbolButton();

Beschreibung

Destruktor der Klasse SymbolButton.

_______________


SymbolButton::ChangeSymbol( SymbolType eNewSymbol )
SymbolButton::ChangeSymbol()

SymbolType SymbolButton::ChangeSymbol( SymbolType eNewSymbol );

Beschreibung

Mit dieser Methode kann dem SymbolButton ein anderes Symbol zugeordnet werden.

Parameter

SymbolType eNewSymbol	Das neue Symbol.

Rückgabewert

SymbolType	Das zuvor gesetzte Symbol.

Querverweise

SymbolType

_______________


SymbolButton::GetSymbol()

SymbolType SymbolButton::GetSymbol() const;

Beschreibung

Mit dieser Methode kann das im SymbolButton gesetzte Symbol abgefragt werden.

Rückgabewert

SymbolType	Das aktuell gesetzte Symbol.

Querverweise

SymbolType

_______________


Sysdepen Mac
Sysdepen

#define PAINT            0

#define TEXT             1

#defineCURSOR            2

#define BIT              3

class Sysdepen

{

public:

static MenuHandle	GetMenuHandle( const PopupMenu& rMenu );

static WindowPtr	GetWindowPtr( const Window& rWindow );

static TEHandle	GetTextEdit( const Control& rControl );

static ControlHandle	GetControl( const Control& rControl );

static ControlHandle	GetVScrBar(const Edit& rEdit );

static ControlHandle	GetHScrBar( const Edit& rEdit );

staticListHandle	GetListHandle( const Control& rControl );

static Handle	GetIconHandle( const Icon& rIcon );

static CIconHandle	GetCIconHandle( const Icon& rIcon );

static CursHandle	GetCursHandle( const Pointer& rPointer);

static Handle	GetPrintRec( const Printer& rPrinter );

static void	SetPrintRec( const Printer& rPrinter, Handle hPrintRec );

static void	SetFileInfo( const String& rFileName, const String& rType,const String& rCreator );

static void	GetFileInfo( const String& rFileName, String& rType, String& rCreator );

static void	KillTimer();

static SVHOOK	ChangeHook( SVHOOK pHook = 0 );

static SVHOOK	GetHook();

};

Beschreibung

Diese Klasse bietet die Möglichkeit, interne StarView-Informationen systemabhängig abzufragen. Diese Klasse gibt es für alle Systeme, aber jeweils mit anderen systemabhängigen Methoden, und somit ist die Benutzung dieser Klasse nicht portabel.

Diese Klasse befindet sich nicht in SV.HXX, sondern in dem Headerfile SYSDEP.HXX. Um sie Klasse zu benutzen, müssen vorher die entsprechenden Macintosh Headerfiles included werden, damit die Datenstrukturen bekannt sind. Um Namenskonflikte zu vermeiden, müssen zusätzlich SVMacStart.h und SVMacEnd.h included werden. Somit ergibt sich folgende Reihenfolge:

   #include <SVMacStart.h>

   #include <Menus.h>

   #include <Windows.h>

   #include <Printing.h>

   // ... weitere Macintosh-Includefiles

   #include <SVMacEnd.h>

   #include <sysdep.hxx>

   #include <sv.hxx>

   #include "my.hxx"

Anmerkungen

Diese Klasse sollte nur in Ausnahmefällen eingesetzt werden, wenn die entsprechende Funktionalität nicht in StarView enthalten ist. Die StarView-Funktionen sollten immer den Systemfunktionen vorgezogen werden, da sonst die Portabilität aufgegeben wird.

Die Systemfunktionen dürfen die StarView-Instanzen weder direkt noch indirekt ändern. Außerdem müssen die abgefragten Informationen immer jeweils neu abgefragt werden, wenn sie benötigt werden, da nicht sichergestellt ist, daß sie während des ganzen Programmablaufs unverändert gültig sind.

Die Methoden dieser Klasse unterscheiden sich auf allen Betriebssystemen. Die Benutzung dieser Klasse ist nicht portabel. Es gibt keine Garantie dafür, daß diese Funktionen in jeder StarView-Version vorhanden sind oder die gleichen Ergebnisse liefern, da diese Klasse von internen Umstellungen immer betroffen sein wird.

_______________


Sysdepen::GetMenuHandle( const PopupMenu& rMenu )
Sysdepen::GetMenuHandle()

static MenuHandle Sysdepen::GetMenuHandle( const PopupMenu& rMenu );

Beschreibung

Über diese Methode kann das Menu-Handle zu einem StarView-Menu abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß das Menu zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf das Menu nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const PopupMenu& rMenu	Referenz auf das Menu, von dem das Handle abgefragt werden soll.

Rückgabewert

MenuHandle	Das Handle vom übergebenen Menu oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

PopupMenu aMenu;

MenuHandle hMenu = Sysdepen::GetMenuHandle( aMenu );

_______________


Sysdepen::GetWindowPtr( const Window& rWindow )
Sysdepen::GetWindowPtr()

static WindowPtr Sysdepen::GetWindowPtr( const Window& rWindow );

Beschreibung

Über diese Methode kann der WindowPtr zu einem StarView-Window abgefragt werden.

Über diesen Pointer darf das Fenster nicht geändert werden, der Pointer darf nur für Abfragen benutzt werden. Werden mit diesem Pointer Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen. Insbesondere darf nicht der Wert von refCon verändert werden, da dieser bereits von StarView benutzt wird.

Parameter

const Window& rWindow	Referenz auf das Window, von dem der Pointer abgefragt werden soll.

Rückgabewert

WindowPtr	Der WindowPtr vom übergebenen Fenster oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein WindowPtr besitzt.

Beispiel

MyWindow aMyWin;

HideWindow( Sysdepen::GetWindowPtr( aMyWin ) );

_______________


Sysdepen::GetTextEdit( const Control& rControl )
Sysdepen::GetTextEdit()

static TEHandle Sysdepen::GetTextEdit( const Control& rControl );

Beschreibung

Diese Methode gibt einen TextEdit-Handler eines StarView Edit-Feldes oder eines FixedText-Controls zurück. Wenn das Control keinen TextEdit besitzt, wird 0 zurückgegeben.

Parameter

const Control& rControl	Referenz auf das Control

Rückgabewert

TEHandle	Der TEHandle des übergebenen Controls oder 0, wenn das Control kein Handle besitzt.

_______________


Sysdepen::GetControl( const Control& rControl )
Sysdepen::GetControl()

static ControlHandle Sysdepen::GetControl( const Control& rControl );

Beschreibung

Diese Methode gibt den Control-Handle eines StarView Control ( PushButton, CheckBox, RadioButton, ScrollBar ) zurück, falls das  StarView Control ein derartiges Handle besitzt.

Parameter

const Control& rControl	Referenz auf das Control

Rückgabewert

ControlHandle	Das Control Handle des übergebenen Controls oder 0, wenn das Control kein derartiges Handle besitzt.

_______________


Sysdepen::GetVScrBar( const Edit& rEdit )
Sysdepen::GetVScrBar()

static ControlHandle Sysdepen::GetVScrBar( const Edit& rEdit );

Beschreibung

Diese Methode gibt den Control-Handle des vertikalen Scrollbars eines StarView Edit Controls zurück, falls das  StarView Control ein derartiges Handle besitzt.

Parameter

const Edit& rEdit	Referenz auf das Edit

Rückgabewert

ControlHandle	Das Control Handle des vertikalen Scrollbars des Edit-Feldes oder 0, wenn das Edit-Feld keinen vertikalen Scrollabr besitzt.

_______________


Sysdepen::GetHScrBar( const Edit& rEdit )
Sysdepen::GetHScrBar()

static ControlHandle Sysdepen::GetHScrBar( const Edit& rEdit );

Beschreibung

Diese Methode gibt den Control-Handle des horizontalen Scrollbars eines StarView Edit Controls zurück, falls das  StarView Control einen Scrollbar besitzt.

Parameter

const Edit& rEdit	Referenz auf das Edit

Rückgabewert

ControlHandle	Das Control Handle des horizontalen Scrollbars des Edit-Feldes oder 0, wenn das Edit-Feld keinen horizontalen Scrollbar besitzt..

_______________


Sysdepen::GetListHandle( const Control& rControl )
Sysdepen::GetListHandle()

static ListHandle Sysdepen::GetListHandle( const Control& rControl );

Beschreibung

Diese Methode gibt das  ListHandle einer StarView ListBox ( or a ComboBox  ) zurück, wenn die ListBox ein derartiges ListHandle besitzt.

Parameter

const Control& rControl	Referenz auf das Control

Rückgabewert

ListHandle	Das ListHandle des übergebenen Controls oder 0, wenn das Control kein deartiges Handle besitzt..

_______________


Sysdepen::GetIconHandle( const Icon& rIcon )
Sysdepen::GetIconHandle()

static Handle Sysdepen::GetIconHandle( const Icon& rIcon );

Beschreibung

Diese Methode gibt das Handle eines StarView Icons an ein Macintosh Icon, wenn das StarView Icon ein derartiges Handle besitzt. Dabei kann es sich um ein S/W oder Color Icon handeln. Das Handle eines Color Icons kann man auch über die Methode GetCIconHandle erlangen.

Parameter

const Icon& rIcon	Referenz auf das Icon

Rückgabewert

Handle	Icon Handle des übergebenen Icons oder 0, wenn das Icon kein derartiges Handle besitzt.

_______________


Sysdepen::GetCIconHandle( const Icon& rIcon )
Sysdepen::GetCIconHandle()

static CIconHandle Sysdepen::GetCIconHandle( const Icon& rIcon );

Beschreibung

Diese Methode gibt das Handle eines StarView Color Icons an ein Macintosh Icon, wenn das StarView Icon ein derartiges Handle besitzt. Dabei handelt es sich immer um ein Color Icon. Das Handle eines S/W Icons kann man über die Methode GetIconHandle erlangen.

Parameter

const Icon& rIcon	Referenz auf das Icon

Rückgabewert

CIconHandle	Color Icon Handle des übergebenen Color Icons oder 0, wenn das Color Icon kein derartiges Handle besitzt.

_______________


Sysdepen::GetCursHandle( const Pointer& rPointer)
Sysdepen::GetCursHandle()

static CursHandle Sysdepen::GetCursHandle( const Pointer& rPointer);

Beschreibung

Diese Methode gibt das CursHandle eines StarView Pointer zurück, wenn der Pointer über ein derartiges Handle verfügt..

Parameter

const Pointer& rPointer	Referenz auf den StarView-Pointer

Rückgabewert

CursHandle	CursHandle des übergebenen Pointers oder 0, wenn der Pointer kein derartiges Handle besitzt..

_______________


Sysdepen::GetPrintRec( const Printer& rPrinter )
Sysdepen::GetPrintRec()

static Handle Sysdepen::GetPrintRec( const Printer& rPrinter );

Beschreibung

Diese Methode gibt das Handle eines PrinterRecord für den StarView Printer zurück, wenn der Printer über ein derartiges Handle verfügt. Um die Druckdaten eines Dokuments zu setzen und zu speichern, sollten Sie die Methoden Printer::GetJobSetup und Printer::SetJobSetup benutzen.

Parameter

const Printer& rPrinter	Referenz auf den Printer, von dem der Pointer abgefragt werden soll.

Rückgabewert

Handle	Handle des PrintRec vom übergebenen Printer oder 0, falls der Printer kein derartiges Handle besitzt..

_______________


Sysdepen::SetPrintRec( const Printer& rPrinter, Handle hPrintRec )
Sysdepen::SetPrintRec()

static void Sysdepen::SetPrintRec( const Printer& rPrinter, Handle hPrintRec );

Beschreibung

Diese Methode setzt das Handle auf den PrinterRecord für einen StarView Printer.  Um die Druckdaten eines Dokuments zu setzen und zu speichern, sollten Sie die Methoden Printer::GetJobSetup und Printer::SetJobSetup benutzen.

Parameter

const Printer& rPrinter	Referenz auf den Printer

Handle hPrintRec	Handle des Printer Records.

_______________


Sysdepen::SetFileInfo( const String& rFileName, const String& rType,const String& rCreator )
Sysdepen::SetFileInfo()

static void Sysdepen::SetFileInfo( const String& rFileName, const String& rType,const String& rCreator );

Beschreibung

Diese Methode gestattet, type und creator eines Macintosh file zu setzen. Type und creator sind Strings mit vier Zeichen.

Parameter

const String& rFileName	Name der Datei, deren type oder creator gesetzt werden soll.

const String& rType	Neuer type der Datei.

const String& rCreator	Neuer creator der Datei.

_______________


Sysdepen::GetFileInfo( const String& rFileName, String& rType, String& rCreator )
Sysdepen::GetFileInfo()

static void Sysdepen::GetFileInfo( const String& rFileName, String& rType, String& rCreator );

Beschreibung

Diese Methode erfragt  type und creator einer Datei.

Parameter

const String& rFileName	Name der Datei, deren type und creator zurückgegeben werden soll.

String& rType	Der type der Datei.

String& rCreator	Der creator der Datei.

_______________


Sysdepen::KillTimer()

static void Sysdepen::KillTimer();

Beschreibung

Diese Methode beendet alle aktiven Timers der Applikation. Diese Methode sollte nur dann aufgerufen werden, wenn die Applikation "abnormally" beendet wird und noch aktive Timer einen Systemabsturz verursachen könnten, nachden die Applikation beendet ist..

_______________


typedef int (*SVHOOK)( HWND  hWnd, UINT  wMsg, WPARAM  wParam, LPARAM lParam, LRESULT& rRet )
typedef SVHOOK

typedef short (*SVHOOK)( EventRecord *pEvent );

Beschreibung

C function pointer für einen StarView-Hook.

Parameter

EventRecord *pEvent	Der Pointer auf das Event, das mit PrevEvent oder NextEvent angefordert wurde. Nähere Erläuterungen finden Sie in  der Dokumentation "Inside Macintosh: Macintosh Toolbox Essentials".

Rückgabewert

short	!= 0

Die Message wurde von der Hook Funktion bearbeitet und sollte nicht nochmals von StarView bearbeitet werden.

0

Die Message wurde nicht von der Hook Funktion bearbeitet und sollte dementsprechend von StarView.bearbeitet werden

Ausnahmen

Die Hook Funktion sollte nur Messages bearbeiten, für die StarView keine Handler bereitstellt. Intercepting messages blockieren möglicherweise wichtige Messages.

Die Hook Funktion sollte nur so lange aktiv sein, wie sie auch benötigt wird. Weiterhin sollte die Hook Funktion schnellstmöglich eingesetzt werden, da sie für jede zu bearbeitende Message aufgerufen wird. Das kann zu starken Leistungsverlusten des gesamten Systems führen..

Querverweise

Sysdepen::ChangeHook(), Sysdepen::GetHook()

_______________


Sysdepen::ChangeHook( SVHOOK pHook = NULL )
Sysdepen::ChangeHook()

static SVHOOK Sysdepen::ChangeHook( SVHOOK pHook = NULL );

Beschreibung

Diese Methode setzt einen Hook , der vor jeder Event-Bearbeitung aufgerufen wird. Das ermöglicht es, eigene UserEvents abzufangen und bearbeiten zu lassen. Der Rückgabewert des Hook gibt Auskunft, ob das Event noch von StarView bearbeitet werden sollte..

Parameter

SVHOOK pHook	C function pointer auf den Hook, der von StarView vor jeder Event-Behandlung aufgerufen wird.. Bei Übergabe von NULL wird der Hook nicht aufgerufen.

Rückgabewert

SVHOOK	Der gesetzte Hook oderr NULL, wenn kein Hook gesetzt wurde.


Sysdepen::GetHook()

static SVHOOK Sysdepen::GetHook();

Beschreibung

Diese Methode erfragt den Hook, der von StarView aufgerufen wird, bevor ein Event bearbeitet wird.

Rückgabewert

SVHOOK	Der gesetzte Hook oderr NULL, wenn kein Hook gesetzt wurde.

Querverweis

SVHOOK

_______________


Sysdepen für Windows
Sysdepen

typedef int (*SVHOOK)( HWND  hWnd, UINT  wMsg, WPARAM  wParam, LPARAM lParam, LRESULT& rRet );

class Sysdepen

{

public:

static HDC	GethDC( const OutputDevice& rOutDev );

static HWND	GethWnd( const Window& rWindow );

static HMENU	GethMenu( const Menu& rMenu );

static HBITMAP	GethBitmap( const Bitmap& rBitmap );

static int	IsDIB( const Bitmap& rBitmap );

static HICON	GethIcon( const Icon& rIcon );

static HCURSOR	GethCursor( const Pointer& rPointer );

static void	SethBitmap( Bitmap& rBitmap, HBITMAP hBitmap, int bDIB = 0 );

static void	SethIcon( Icon& rIcon, HICON hIcon, int bDestroy = 0 );

static void	SethCursor( Pointer& rPointer, HCURSOR hCursor, int bDestroy = 0 );

static HINSTANCE	GethInst();

static HINSTANCE	GethPrevInst();

static HWND	GethMDIClient();

static HMETAFILE	GethMetaFile( const GDIMetaFile& rGDIMetaFile, int nWinMapMode );

static void	GetGDIMetaFile( HMETAFILE hMTF, const Size& rWinSize, int nWinMapMode, GDIMetaFile& rGdiMetaFile );

static SVHOOK	ChangeHook( SVHOOK pHook = 0 );

static SVHOOK	GetHook();

};

Beschreibung

Diese Klasse bietet die Möglichkeit, interne StarView-Informationen systemabhängig abzufragen. Diese Klasse gibt es für alle Systeme, aber jeweils mit anderen systemabhängigen Methoden. Programme, die diese Klasse benutzen, sind somit nicht portabel.

Diese Klasse befindet sich nicht in SV.HXX, sondern in dem Headerfile SYSDEP.HXX. Um sie zu benutzen, muß vorher SVWIN.H included werden, damit die Windows-Strukturen bekannt sind. Wenn SYSDEP.HXX und SV.HXX included werden sollen, ergibt sich folgende Reihenfolge:

   #include <svwin.h>

   #include <sysdep.hxx>

   #include <sv.hxx>

   #include "my.hxx"

Anmerkungen

Diese Klasse sollte nur in Ausnahmefällen eingesetzt werden, wenn die entsprechende Funktionalität nicht in StarView enthalten ist. Die StarView-Funktionen sollten immer den Systemfunktionen vorgezogen werden, da sonst die Portabilität aufgegeben wird.

Über die abzufragenden StarView-Daten dürfen die Instanzen nicht geändert werden. Systemfunktionen dürfen die Instanzen weder direkt noch indirekt ändern. Außerdem ist nicht sichergestellt, daß die Informationen zu jedem Zeitpunkt zur Verfügung stehen. Die abgefragten Informationen müssen immer jeweils neu abgefragt werden, wenn sie benötigt werden, da nicht sichergestellt ist, daß sie während des ganzen Programmablaufs unverändert gültig sind.

Es gibt keine Garantie dafür, daß diese Funktionen in jeder StarView-Version vorhanden sind oder die gleichen Ergebnisse liefern, da diese Klasse von internen Umstellungen immer betroffen sein wird.

_______________


Sysdepen::GethDC( const OutputDevice& rOutDev )
Sysdepen::GethDC()

static HDC Sysdepen::GethDC( const OutputDevice& rOutDev );

Beschreibung

Über diese Methode kann der Handle zu einem Display-Context (HDC) von einem StarView-Ausgabe-Device abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß das Ausgabe-Device zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf das Ausgabe-Device nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const OutputDevice& rOutDev	Referenz auf das Ausgabe-Device, von dem das Handle abgefragt werden soll.

Rückgabewert

HDC	Das Handle vom übergebenen Ausgabe-Device oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

VirtualDevice aDev;

HDC hDC = Sysdepen::GethDC( aDev );

_______________


Sysdepen::GethWnd( const Window& rWindow )
Sysdepen::GethWnd()

static HWND Sysdepen::GethWnd( const Window& rWindow );

Beschreibung

Über diese Methode kann das Window-Handle zu einem StarView-Fenster abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß das Fenster zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf das Fenster nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const Window& rWindow	Referenz auf das Window, von dem das Handle abgefragt werden soll.

Rückgabewert

HWND	Das Handle vom übergebenen Fenster oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

MyWindow aMyWin;

HMENU hMenu = GetSystemMenu( Sysdepen::GethWnd(aMyWin), 1 );

_______________


Sysdepen::GethMenu( const Menu& rMenu )
Sysdepen::GethMenu()

static HMENU Sysdepen::GethMenu( const Menu& rMenu );

Beschreibung

Über diese Methode kann das Menu-Handle zu einem StarView-Menu abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß das Menu zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf das Menu nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const Menu& rMenu	Referenz auf das Menu, von dem das Handle abgefragt werden soll.

Rückgabewert

HMENU	Das Handle vom übergebenen Menu oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

PopupMenu aMenu;

HMENU hMenu = Sysdepen::GethMenu( aMenu );

_______________


Sysdepen::GethBitmap( const Bitmap& rBitmap )
Sysdepen::GethBitmap()

static HBITMAP Sysdepen::GethBitmap( const Bitmap& rBitmap );

Beschreibung

Über diese Methode kann das Bitmap-Handle zu einer StarView-Bitmap abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß die Bitmap zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf die Bitmap nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const Bitmap& rBitmap	Referenz auf die Bitmap, von der das Handle abgefragt werden soll.

Rückgabewert

HBITMAP	Das Handle von der übergebenen Bitmap oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

Bitmap aBmp;

HBITMAP hBitmap = Sysdepen::GethBitmap( aBmp );

_______________


Sysdepen::IsDIB( const Bitmap& rBitmap )
Sysdepen::IsDIB()

static int Sysdepen::IsDIB( const Bitmap& rBitmap );

Beschreibung

Die Methode ermittelt, ob es sich bei der übergebenen Bitmap um eine DIB (device independent bitmap) handelt.

Parameter

const Bitmap& rBitmap	Referenz auf die zu überprüfende Bitmap.

Rückgabewert

int	1

Es handelt sich um eine device-unabhängige Bitmap.

0

Es handelt sich nicht um eine device-unabhängige Bitmap.

_______________


Sysdepen::GethIcon( const Icon& rIcon )
Sysdepen::GethIcon()

static HICON Sysdepen::GethIcon( const Icon& rIcon );

Beschreibung

Über diese Methode kann das Icon-Handle zu einem StarView-Icon abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß das Icon zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf das Icon nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const Icon& rIcon	Referenz auf das Icon, von dem das Handle abgefragt werden soll.

Rückgabewert

HICON	Das Handle vom übergebenen Icon oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

Icon aIcon;

HICON hIcon = Sysdepen::GethIcon( aIcon );

_______________


Sysdepen::GethCursor( const Pointer& rPtr )
Sysdepen::GethCursor()

static HCURSOR Sysdepen::GethCursor( const Pointer& rPtr );

Beschreibung

Über diese Methode kann das Cursor-Handle zu einem StarView-Mauszeiger abgefragt werden. Das Handle muß vor jeder Benutzung neu abgefragt werden, wenn es gebraucht wird. Es kann auch sein, daß der Mauszeiger zum Zeitpunkt der Abfrage kein Handle besitzt, in diesem Fall wird 0 zurückgegeben.

Über das Handle darf der Mauszeiger nicht geändert werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const Pointer& rPtr	Referenz auf den Mauszeiger, von dem das Handle abgefragt werden soll.

Rückgabewert

HCURSOR	Das Handle vom übergebenen Mauszeiger oder 0, wenn die StarView-Instanz zum Zeitpunkt der Abfrage kein Handle besitzt.

Beispiel

Pointer aPtr( POINTER_WAIT );

HCURSOR hCursor = Sysdepen::GethCursor( aPtr );

_______________


Sysdepen::SethBitmap( Bitmap& rBitmap, HBITMAP hBitmap, int bDIB = 0 )
Sysdepen::SethBitmap()

static void Sysdepen::SethBitmap( Bitmap& rBitmap, HBITMAP hBitmap, int bDIB = 0 );

Beschreibung

Über diese Methode kann das Bitmap-Handle von einer StarView-Bitmap geändert bzw. gesetzt werden.

Bei dem Handle muß es sich um ein gültiges Bitmap-Handle handeln. Wenn das Handle gesetzt wurde, liegt die Verwaltung der Bitmap bei StarView. Über das Handle darf dann die Bitmap nicht mehr geändert werden. Werden mit diesem Handle danach noch Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen. Die Bitmap wird von StarView gelöscht, wenn der Destruktor der Klasse aufgerufen wird.

Parameter

Bitmap& rBitmap	Referenz auf die Bitmap, von der das Handle gesetzt werden soll.

HBITMAP hBitmap	Das gültige Bitmap-Handle, das in die Bitmap gesetzt wird und danach durch StarView verwaltet wird.

int bDIB	Bei Übergabe von 1 handelt es sich um eine device-unabhängige Bitmap.

Bei Übergabe von 0 handelt es sich nicht um eine device-unabhängige Bitmap.

Beispiel

// Vordefinierte Bitmap in eine Bitmap-Instanz setzen

// und auf einem Window ausgeben

Bitmap aBmp;

Sysdepen::SethBitmap( aBmp, LoadBitmap( NULL, OBM_CLOSE ) );

MyWindow.DrawBitmap( Point( 10, 10 ), aBmp );

_______________


Sysdepen::SethIcon( Icon& rIcon, HICON hIcon, int bDestroy = FALSE )
Sysdepen::SethIcon()

static void Sysdepen::SethIcon( Icon& rIcon, HICON hIcon, int bDestroy = FALSE );

Beschreibung

Über diese Methode kann das Icon-Handle von einem StarView-Icon geändert bzw. gesetzt werden.

Bei dem Handle muß es sich um ein gültiges Icon-Handle handeln. Wenn das Handle gesetzt wurde, liegt die Verwaltung des Icons bei StarView. Über das Handle darf dann das Icon nicht mehr geändert werden. Werden mit diesem Handle danach noch Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen. Das Icon wird von StarView gelöscht, wenn der Destruktor der Klasse aufgerufen wird.

Parameter

Icon& rIcon	Referenz auf das Icon, von dem das Handle gesetzt werden soll.

HICON hIcon	Das gültige Icon-Handle, das in das Icon gesetzt und danach durch StarView verwaltet wird.

int bDestroy	TRUE (1)

Wenn das Icon mit der Windows-Funktion CreateIcon() erzeugt wurde, muß TRUE übergeben werden, damit im Destruktor das Icon mit der Windows-Funktion DestroyIcon() zerstört wird.

FALSE (0)

Wenn das Icon aus der Resource gelesen wurde oder ein vordefiniertes Icon ist, muß FALSE übergeben werden, damit das Icon nicht im Destruktor mit der Windows-Funktion DestroyIcon() zerstört wird.

Beispiel

// Eigenes Icon in ein StarView-Icon setzen und in ein

// Window selektieren

Icon aIcon;

Sysdepen::SethIcon( aIcon, hMyIcon );

MyWorkWindow.ChangeIcon( aIcon );

_______________


Sysdepen::SethCursor( Pointer& rPointer HCURSOR hCursor, int bDestroy = FALSE )
Sysdepen::SethCursor()

static void Sysdepen::SethCursor( Pointer& rPointer HCURSOR hCursor, int bDestroy = FALSE );

Beschreibung

Über diese Methode kann das Cursor-Handle von einem StarView-Pointer geändert bzw. gesetzt werden.

Bei dem Handle muß es sich um ein gültiges Cursor-Handle handeln. Wenn das Handle gesetzt wurde, liegt die Verwaltung des Pointers bei StarView. Über das Handle darf dann der Pointer nicht mehr geändert werden. Werden mit diesem Handle danach noch Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen. Der Pointer wird von StarView gelöscht, wenn der Destruktor der Klasse aufgerufen wird.

Parameter

Pointer& rPointer	Referenz auf den Pointer, von dem das Handle gesetzt werden soll.

HCURSOR hCursor	Das gültige Cursor-Handle, das in den Pointer gesetzt wird und danach durch StarView verwaltet wird.

int bDestroy	TRUE (1)

Wenn der Cursor mit der Windows-Funktion CreateCursor() erzeugt wurde, muß TRUE übergeben werden, damit im Destruktor der Cursor mit der Windows-Funktion DestroyCursor() zerstört wird.

FALSE (0)

Wenn der Cursor aus der Resource gelesen wurde oder ein vordefinierter Cursor ist, muß FALSE übergeben werden, damit der Cursor nicht im Destruktor mit der Windows-Funktion DestroyCursor() zerstört wird.

Beispiel

// Vordefinierten Cursor in eine Pointer-Instanz setzen

// und in ein Window selektieren

Pointer aPointer;

Sysdepen::SethCursor( aPointer, LoadCursor( NULL, IDC_SIZE );

MyWindow.ChangePointer( aPointer );

_______________


Sysdepen::GethInst()

static HINSTANCE Sysdepen::GethInst();

Beschreibung

Über diese Methode kann das Instanz-Handle der Applikation abgefragt werden.

Über das Handle dürfen keine Änderungen vorgenommen werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Rückgabewert

HINSTANCE	Instanz-Handle der Applikation.

Beispiel

HINSTANCE hInst = Sysdepen::GethInst();

_______________


Sysdepen::GethPrevInst()

static HINSTANCE Sysdepen::GethPrevInst();

Beschreibung

Wurde die Applikation schon einmal gestartet, kann über diese Methode das Instanz-Handle der zuletzt gestarteten Instanz abgefragt werden.

Über das Handle dürfen keine Änderungen vorgenommen werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Rückgabewert

HINSTANCE	Instanz-Handle der zuletzt gestarteten Instanz oder 0, wenn es sich um die erste Instanz handelt.

Beispiel

void MyApp::Main( int, char*[] )

{

if ( Sysdepen::GethPrevInst() )

{

InfoBox( NULL, "Applikation kann nur einmal gestartet "

"werden" ).Execute();

return;

}

...

}

_______________


Sysdepen::GethMDIClient()

static HWND Sysdepen::GethMDIClient();

Beschreibung

Über diese Methode kann das Handle von dem MDI-Client abgefragt werden, der von StarView bei MDI-Applikationen verwaltet wird.

Über das Handle dürfen keine Änderungen vorgenommen werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Rückgabewert

HWND	Das Handle vom MDI-Client, der von StarView verwaltet wird. Handelt es sich um keine MDI-Applikation oder existiert zur Zeit kein MDI-Client-Handle, wird 0 zurückgegeben.

Beispiel

HWND hMDIClient = Sysdepen::GethMDIClient();

_______________


Sysdepen::GethMetaFile( const GDIMetaFile& rGDIMetaFile, int nWinMapMode )
Sysdepen::GethMetaFile()

static HMETAFILE Sysdepen::GethMetaFile( const GDIMetaFile& rGDIMetaFile, int nWinMapMode );

Beschreibung

Über diese Methode kann das Handle von einem StarView-MetaFile abgefragt werden.

Über das Handle dürfen keine Änderungen vorgenommen werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

const GDIMetaFile& rGDIMetafFile	Referenz auf das MetaFile, von dem das Handle gesetzt werden soll.

int nWinMapMode	TRUE (1)

FALSE (0)

Rückgabewert

HMETAFILE	Das Handle vom StarView-MetaFile.

Beispiel

...

_______________


Sysdepen::GetGDIMetaFile( HMETAFILE hMTF, const Size& rWinSize, int nWinMapMode, GDIMetaFile& rGDIMetaFile )
Sysdepen::GetGDIMetaFile()

static void Sysdepen::GetGDIMetaFile( HMETAFILE hMTF, const Size& rWinSize, int nWinMapMode, GDIMetaFile& rGDIMetaFile );

Beschreibung

Über diese Methode kann das Handle von einem StarView-GDIMetaFile abgefragt werden.

Über das Handle dürfen keine Änderungen vorgenommen werden, das Handle darf nur für Abfragen benutzt werden. Werden mit diesem Handle Änderungen durchgeführt, kann dies zu einem inkonsistenten Zustand von StarView führen.

Parameter

HMETAFILE hMTF

const Soue& rWinSize

int nWinMapMode	TRUE (1)

FALSE (0)

GDIMetaFile& rGDIMetaFile

_______________


typedef int (*SVHOOK)( HWND  hWnd, UINT  wMsg, WPARAM  wParam, LPARAM lParam, LRESULT& rRet )
typedef SVHOOK

typedef int (*SVHOOK)( HWND  hWnd, UINT  wMsg, WPARAM  wParam, LPARAM lParam, LRESULT& rRet );

Beschreibung

Bei diesem Typ handelt es sich um einen C-Funktionspointer für einen StarView-Hook.

Parameter

HWND hWnd	Das Handle vom Fenster, an das die Message geht.

UINT wMsg	Original Windows-Message. Siehe dazu die Windows-Referenz.

WPARAM wParam	Original wParam zur Windows-Message. Siehe dazu die Windows-Referenz.

LPARAM lParam	Original lParam zur Windows-Message. Siehe dazu die Windows-Referenz.

LRESULT& rRet	Referenz auf den Rückgabewert, der an Windows zurückgegeben wird, wenn die Message vom Hook verarbeitet wurde. Dieser Parameter hat als Default den Wert 0.

Rückgabewert

int	!= 0

Die Message wurde von der Hook-Funktion verarbeitet und soll nicht mehr durch StarView oder Windows verarbeitet werden. Der Wert von rRet wird an Windows zurückgegeben.

0

Die Message wurde nicht von der Hook-Funktion verarbeitet und soll noch durch StarView oder Windows verarbeitet werden.

Ausnahmen

Die Hook-Funktion sollte nur die Messages verarbeiten, die nicht von StarView als Handler angeboten werden. Das Abfangen von Messages kann zu einem inkonsistenten Stand führen, wenn wichtige Messages nicht mehr ankommen.

Die Hook-Funktion sollte nach Möglichkeit nur solange selektiert sein, wie sie gebraucht wird. Außerdem sollte die Hook-Funktion so schnell wie möglich ausgeführt werden, da sie bei jeder Messageverarbeitung aufgerufen wird und somit einen erheblichen Anteil an der Performance des Gesamtsystems hat.

Querverweise

Sysdepen::ChangeHook(), Sysdepen::GetHook()

_______________


Sysdepen::ChangeHook( SVHOOK pHook = NULL )
Sysdepen::ChangeHook()

static SVHOOK Sysdepen::ChangeHook( SVHOOK pHook = NULL );

Beschreibung

Über diese Methode kann ein Hook gesetzt werden, der jedesmal vor der Verarbeitung einer Windows-Message gerufen wird. Somit können z.B. Kommunikations-Messages zwischen verschiedenen Applikationen abgefangen werden.

Parameter

SVHOOK pHook	C-Funktionspointer auf den Hook, der von StarView vor Bearbeitung einer Windows-Message aufgerufen wird. Wird NULL übergeben, so wird kein Hook gerufen.

Rückgabewert

SVHOOK	Der Hook, der vorher gesetzt war, oder NULL, wenn kein Hook gesetzt war.

Beispiel

MyWin* pMyWin;

MyWin::MyWin() : WorkWindow( NULL, WinBits( WB_MOVEABLE ) )

{

Sysdepen::ChangeHook( MySVHook );

}

long MyWin::NCHitTest( LPARAM lParam )

{

...

return HTCLIENT;

}

int MySVHook( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam, LRESULT& rRet )

{

// Handelt es sich um mein Fenster?

if ( hWnd == Sysdepen::GethWnd( *pMyWin ) )

{

switch( wMsg )

{

// Hittest Auswerten

case WM_NCHITTEST:

    rRet = aMyWin.NCHitTest( lParam );

    return TRUE;

// Weitere Messages bearbeiten

    ...

}

}

// Message soll von StarView weiterverarbeitet werden

return FALSE;

}

Querverweise

SVHOOK

_______________


Sysdepen::GetHook()

static SVHOOK Sysdepen::GetHook();

Beschreibung

Mit dieser Methode kann der Hook abgefragt werden, der von StarView vor der Verarbeitung einer Windows-Message gerufen wird.

Rückgabewert

SVHOOK	Der Hook, der gesetzt ist, oder NULL, wenn kein Hook gesetzt ist.

Querverweise

SVHOOK

_______________


Sysdepen Unix
Sysdepen

typedef BOOL (* TTProc )( void * pThis, void * pTt_message );

class Sysdepen

{

public:

enum EXPOSETYPE { EXPOSE_TOPARENT, EXPOSE_NONE, EXPOSE_NORMAL };

static Widget GetBottomWidget ( const Window * );

static Widget GetTopWidget ( const Window * );

static Window *GetChild ( Window &, USHORT nListPos );

static void SetPopupMenu ( Window & rWin, PopupMenu * pPopupMenu );

static BOOL DisableAllEvents ( Window & );

static BOOL SetExposeType ( Window & rWin, EXPOSETYPE );

static void Refresh ( Window & rWin );

static Display*GetSVDisplay ();

static Screen*GetSVScreen ();

static void ToolTalkInit ();

static void ToolTalkInsertFunction ( TTProc pProc, void * pThis );

static void ToolTalkRemoveFunction ( TTProc pProc, void * pThis );

static String GetOLEDataBaseFile ();

static int IsSysMetaFile (const GDIMetaFile &rGDIMetaFile);

static void ConvertToSVMetaFile ( GDIMetaFile &rGDIMetaFile );

static void ConvertToSysMetaFile  ( GDIMetaFile &rGDIMetaFile);

};


Beschreibung

Diese Klasse bietet die Möglichkeit, interne StarView-Informationen systemabhängig abzufragen. Diese Klasse gibt es für alle Systeme, aber jeweils mit anderen systemabhängigen Methoden, und somit ist die Benutzung dieser Klasse nicht portabel.

Diese Klasse befindet sich nicht in sv.hxx, sondern in dem Headerfile sysdep.hxx. Um Namenskonflikte zu vermeiden, müssen zusätzlich prext.h und postx.h included werden. Somit ergibt sich folgende Reihenfolge:

   #include <prex.h>

   #include <postx.h>

   #include <sysdep.hxx>

   #include <sv.hxx>

   ...

Anmerkungen

Diese Klasse sollte nur in Ausnahmefällen eingesetzt werden, wenn die entsprechende Funktionalität nicht in StarView enthalten ist. Die StarView-Funktionen sollten immer den Systemfunktionen vorgezogen werden, da sonst die Portabilität aufgegeben wird.

Die Systemfunktionen dürfen die StarView-Instanzen weder direkt noch indirekt ändern. Außerdem müssen die abgefragten Informationen immer jeweils neu abgefragt werden, wenn sie benötigt werden, da nicht sichergestellt ist, daß sie während des ganzen Programmablaufs unverändert gültig sind.

Die Methoden dieser Klasse unterscheiden sich auf allen Betriebssystemen. Die Benutzung dieser Klasse ist nicht portabel. Es gibt keine Garantie dafür, daß diese Funktionen in jeder StarView-Version vorhanden sind oder die gleichen Ergebnisse liefern, da diese Klasse von internen Umstellungen immer betroffen sein wird.

_______________


Sysdepen::GetBottomWidget( const Widget *)
Sysdepen::GetBottomWidget()

static Widget GetBottomWidget( const Window * );

Beschreibung

StarView Fenster bestehen aus ein bis drei, in Ausnahmen auch noch mehr Widgets. In den meisten Fällen sind für den Entwickler nur zwei interessant: Das Bottom- und das Topwidget.

Das Bottomwidget ist entweder mit dem Topwidget identisch oder ein Shell bzw. Managerwidget. Das Topwidget ist entweder ein Manager oder ein Primitiv. Wenn das Bottomwidget nicht identisch dem Topwidget ist, ist es entweder dessen Parent oder Parent des Parents.

Namen und Klassen der Widget gehen direkt in das File starview.xres ein.

Parameter

const Window& rWindow	Referenz auf das StarView Window, dessen unteres Widget angefordert wird.

Rückgabewert

Widget	Motif, OpenLook oder X Widget.

Beispiel

Window aWindow;

Widget aWidget = Sysdepen::GetBottomWidget( aWidget );

_______________


Sysdepen::GetTopWidget( const Window * )
Sysdepen::GetTopWidget()

static Widget Sysdepen::GetTopWidget( const Window * );

Beschreibung

StarView Fenster bestehen aus ein bis drei, in Ausnahmen auch noch mehr Widgets. In den meisten Fällen sind für den Entwickler nur zwei interessant: Das Bottom- und das Topwidget.

Das Bottomwidget ist entweder mit dem Topwidget identisch oder ein Shell bzw. Managerwidget. Das Topwidget ist entweder ein Manager oder ein Primitiv. Wenn das Bottomwidget nicht identisch dem Topwidget ist, ist es entweder dessen Parent oder Parent des Parents.

Namen und Klassen der Widget gehen direkt in das File starview.xres ein.

Parameter

const Window& rWindow	Referenz auf das StarView Window, dessen oberes Widget angefordert wird.

Rückgabewert

Widget	Motif, OpenLook oder X Widget.

Beispiel

Window aWindow;

Widget aWidget = Sysdepen::GetTopWidget( aWidget );

_______________


Sysdepen::GetChild( Window&, USHORT nListPos)
Sysdepen::GetChild()

static Window* Sysdepen::GetChild( Window &, USHORT nListPos );

Beschreibung

Über diese Methode können die Childs eines Windows bestimmt werden. Das 0. Child wird als erstes gemalt und gegebenenfalls von seinen Brüdern überlagert.

Parameter

Window& rWindow	Referenz auf das Window, dessen n. Child bestimmt werden soll.

USHORT nListPos	Index im Bereich 0..Anzahl_Childs-1

Rückgabewert

Window	n. Child Window des Parent rWindow. NULL wenn das nListPos größer oder gleich der Anzahl der Childs des Windows ist.


Beispiel

Window aWindow;

USHORT n = 0;

Window *pChild = Sysdepen::GetChild( aWindow, n++ );

while( pChild ) {

    pChild->Show();

    pChild = Sysdepen::GetChild( aWindow, n++ );

}

pChild = Sysdepen::GetChild( aWindow, 0 );

while( pChild ) {

    delete pChild; // Das delete verändert die Liste der Childs

    pChild = Sysdepen::GetChild( aWindow, 0 );

}

______________


Sysdepen::SetPopupMenu( Window& rWin, PopupMenu* pPopupMenu)
Sysdepen::SetPopupMenu()

void Sysdepen::SetPopupMenu( Window& rWin, PopupMenu* pPopupMenu);

Beschreibung

Mit dieser Methode wird unter Open Windows einem Fenster ein PopupMenu zu, welche durch Drücken der rechten Maustaste automatisch geöffnet wird.

Parameter

Window& rWindow	Fenster, dem das Menu zugeordnet wird

PopupMenu*pPopupMenu	PopupMenu, das geöffnet wird

___________


Sysdepen::DisableAllEvents( Window&)
Sysdepen::DisableAllEvents()

static BOOL Sysdepen::DisableAllEvents(Window &);

Beschreibung

Interne Funktion nur für den StarView DesignEditor. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit des DesignEditors zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::SetExposeType( Window& rWin, EXPOSETYPE)
Sysdepen::SetExposeType()

static BOOL Sysdepen::SetExposeType(Window & rWin, EXPOSTYPE);

Beschreibung

Interne Funktion nur für den StarView DesignEditor. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit des DesignEditors zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::Refresh( Window& rWin)
Sysdepen::Refresh()

static void Sysdepen::Refresh(Window & rWin);

Beschreibung

Refresh dient dazu, ein gesamtes Fenster neu zeichnen zu lassen.

Parameter

Window& rWindow	Referenz auf das Window, das neu gezeichnet werden soll.

Beispiel

Window aWindow;

Sysdepen::Refresh( aWindow );


Sysdepen::GetSVDisplay()

static Display* Sysdepen::GetSVDisplay();

Beschreibung

Gibt das X-Display zurück. StarView unterstützt mehr-Display Umgebungen nur unvollständig, daher gibt es aus dieser Sicht auch immer nur ein Display.

Rückgabewert

Display	Erstes aber besser einziges X-Display, auf dem die StarView Anwendung angezeigt wird.

Beispiel

Display aDisplay = Sysdepen::GetSVDisplay();


Sysdepen::GetSVScreen()

static Screen* Sysdepen::GetSVScreen();

Beschreibung

Gibt den X-Screen zurück. StarView unterstützt mehr-Screen Umgebungen nur unvollständig, daher gibt es aus dieser Sicht auch immer nur ein Screen.

Rückgabewert

Screen	Erster aber besser einziger X-Screen, auf dem die StarView Anwendung angezeigt wird.

Beispiel

Screen aScreen = Sysdepen::GetSVScreen();


Sysdepen::ToolTalkInit()

static void Sysdepen::ToolTalkInit();

Beschreibung

Interne Funktion nur für die StarObject Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der StarObjects zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::ToolTalkInsertFunction()

static void Sysdepen::ToolTalkInsertFunction(TTProc pProc, void* pThis);

Beschreibung

Interne Funktion nur für die StarObject Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der StarObjects zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::ToolTalkRemoveFunction()

static void Sysdepen::ToolTalkRemoveFunction(TTProc pProc, void* pThis);

Beschreibung

Interne Funktion nur für die StarObject Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der StarObjects zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::GetOLEDataBaseFile()

static Sting Sysdepen::GetOLEDataBaseFile();

Beschreibung

Interne Funktion nur für die StarObject Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der StarObjects zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.


Sysdepen::IsSysMetaFile()

static int Sysdepen::IsSysMetaFile (const GDIMetaFile &rGDIMetaFile);

Beschreibung

Die Funktion bestimmt, ob ein StarView Metafile einzig und allein aus einem systemabhängigen Metafile besteht. Da es keine systemabhängigen Metafiles unter Motif und OpenLook Umgebungen gibt, die StarView unterstützen könnte, gibt die Funktion immer 0 zurück. Diese Funktion existiert nur zur Kompatibilität zu den anderen Plattformen.

Interne Funktion nur für die StarViewTools Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der Grafikfunktionen in der Library zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.

Parameter

const GDIMetaFile &rGDIMetaFile

zu überprüfendes StarView Metafile.

Rückgabewert

int	immer 0


Sysdepen::ConvertToSVMetaFile()

static void Sysdepen::ConvertToSVMetaFile (GDIMetaFile &rGDIMetaFile);

Beschreibung

Die Funktion erzeugt aus einem systemabhängigen Metafile ein StarView Metafile. Da es keine systemabhängigen Metafiles unter Motif und OpenLook Umgebungen gibt, die StarView unterstützen könnte, macht die Funktion nichts. Diese Funktion existiert nur zur Kompatibilität zu den anderen Plattformen.

Interne Funktion nur für die StarViewTools Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der Grafikfunktionen in der Library zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.

Parameter

const GDIMetaFile &rGDIMetaFile

zu wandelndes StarView Metafile.


Sysdepen::ConvertToSysMetaFile()

static void Sysdepen::ConvertToSysMetaFile (GDIMetaFile &rGDIMetaFile);

Beschreibung

Die Funktion erzeugt aus einem systemunabhängigen Metafile ein systemabhängiges Metafile. Da es keine systemabhängigen Metafiles unter Motif und OpenLook Umgebungen gibt, die StarView unterstützen könnte, macht die Funktion nichts. Diese Funktion existiert nur zur Kompatibilität zu den anderen Plattformen.

Interne Funktion nur für die StarViewTools Library. Die Funktion dient einzig und allein dazu, die Funktionsfähigkeit der Grafikfunktionen in der Library zu gewährleisten. Ob die Funktion in nächsten Versionen von StarView noch existiert und was die Funktion dann macht ist fraglich.

Parameter

const GDIMetaFile &rGDIMetaFile

zu wandelndes StarView Metafile.


SystemDialog

class SystemDialog : public ModalDialog

{

public:

virtual	~SystemDialog();

};

Beschreibung

Die Klasse SystemDialog ist die Basisklasse für alle Standard-Dialoge. Bei Standard-Dialogen handelt es sich um Dialoge, die vom System oder von StarView zur Verfügung gestellt werden und eine komplette Dialogfunktionalität bieten.

Diese Dialoge können im gewissen Umfang erweitert werden. Wenn PushButtons oder CheckBoxen erzeugt werden, die als Parent einen Standard-Dialog haben, werden diese im Dialog automatisch positioniert und angezeigt, falls Sie mit Show() sichtbar gemacht wurden. Diese Controls verhalten sich wie ganz normale PushButtons und CheckBoxen. Es ist darauf zu achten, daß das Verfahren einigen Einschränkungen unterliegt. Somit dürfen die Texte nicht zu lang sein und mehr als 2 oder 3 Controls finden in den meisten Dialogen keinen Platz. So dürfen zum Beispiel im Click-Handler der Controls keine Modeless-Dialoge geöffnet werden. Beim FileDialog ist es aber immerhin möglich, den zur Zeit ausgewählten Dateinamen während der Dialogboxbearbeitung abzufragen.

Ausnahmen

Instanzen dürfen nur von den abgeleiteten Klassen (wie FileDialog) angelegt werden, da die Klasse SystemDialog nur Implementierungszwecken dient.

Basisklassen

ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

FileDialog, FontDialog, PrintDialog, PrinterSetupDialog, ColorDialog, MessBox, ModalDialog

_______________


SystemDialog::~SystemDialog()

virtual SystemDialog::~SystemDialog();

Beschreibung

Destruktor der Klasse SystemDialog.

_______________


System

enum SystemType	{ SYSTEM_DONTKNOW, SYSTEM_PC, SYSTEM_MAC, SYSTEM_SUN };

enum CPUType	{ CPU_DONTKNOW, CPU_I286, CPU_I386, CPU_I486, CPU_M68000, CPU_M68010, CPU_M68020, CPU_M68030, CPU_M68040, CPU_SPARC };

enum GUIType	{ GUI_DONTKNOW, GUI_WINDOWS, GUI_PM, GUI_MAC, GUI_MOTIF, GUI_OPENWINDOWS };

class System

{

public:

static SystemType	GetSystemType();

static CPUType	GetCPUType();

static GUIType	GetGUIType();

static String	GetGUIVersion();

static Size	GetScreenSizePixel();

static USHORT	GetMenuBarHeightPixel();

static BOOL	HasMouse();

static USHORT	GetMouseButtonCount();

static Font	GetSystemFont();

static CharSet	GetCharSet();

static LanguageType	GetLanguage();

static CountryType	GetCountry();

static USHORT	GetPrinterCount();

static String	GetPrinterName( USHORT nPrinter );

static String	GetDefaultPrinterName();

static String	GetUserName();

};

Beschreibung

Die Klasse System dient als globale Auskunftsinstanz für systemspezifische Informationen.

_______________


enum SystemType

enum SystemType	{ SYSTEM_DONTKNOW, SYSTEM_PC, SYSTEM_MAC, SYSTEM_SUN };

Beschreibung

Die Werte des enum SystemType geben den Typ des Systems an, auf dem die Applikation läuft.

SYSTEM_DONTKNOW	Der Systemtyp ist nicht bekannt.

SYSTEM_PC	Das System ist ein PC (AT, AT386 oder kompatibel).

SYSTEM_MAC	Das System ist ein Apple Macintosh.

SYSTEM_SUN	Das System ist eine Sun Workstation.

_______________


enum CPUType

enum CPUType	{ CPU_DONTKNOW, CPU_I286, CPU_I386, CPU_I486, CPU_M68000, CPU_M68010, CPU_M68020, CPU_M68030, CPU_M68040, CPU_SPARC };

Beschreibung

Die Werte des enum CPUType geben den Typ der CPU des Systems an, auf dem die Applikation läuft.

CPU_DONTKNOW	Der Typ der CPU ist unbekannt.

CPU_I286	Die CPU ist ein Intel 80286.

CPU_I386	Die CPU ist ein Intel 80386.

CPU_I486	Die CPU ist ein Intel 80486.

CPU_M68000	Die CPU ist ein Motorola 68000.

CPU_M68010	Die CPU ist ein Motorola 68010.

CPU_M68020	Die CPU ist ein Motorola 68020.

CPU_M68030	Die CPU ist ein Motorola 68030.

CPU_M68040	Die CPU ist ein Motorola 68040.

CPU_SPARC	Die CPU ist ein SPARC-Prozessor.

_______________


enum GUIType

enum GUIType	{ GUI_DONTKNOW, GUI_WINDOWS, GUI_PM, GUI_MAC, GUI_MOTIF, GUI_OPENWINDOWS };

Beschreibung

Die Werte des enum GUIType geben den Typ des Fenstersystems an, auf dem die Applikation läuft.

GUI_DONTKNOW	Das Fenstersystem ist unbekannt.

GUI_WINDOWS	Das Fenstersystem ist MS-Windows.

GUI_PM	Das Fenstersystem ist OS/2 Presentation Manager.

GUI_MAC	Das Fenstersystem ist das Fenstersystem des Apple Macintosh.

GUI_MOTIF	Das Fenstersystem ist OSF Motif.

GUI_OPENWINDOWS	Das Fenstersystem ist Open Windows.

_______________


SystemType System::GetSystemType()
System::GetSystemType()

static SystemType System::GetSystemType();

Beschreibung

Diese Methode gibt den Rechnertyp zurück, auf dem die Applikation läuft.

Rückgabewert

SystemType	Der Rechnertyp, auf dem die Applikation läuft. Der Rückgabewert ist einer der im enum SystemType definierten Werte.

Querverweise

SystemType

_______________


CPUType System::GetCPUType()
System::GetCPUType()

static CPUType System::GetCPUType();

Beschreibung

Die Methode liefert den Typ des Prozessors zurück, auf dem die Applikation läuft.

Rückgabewert

CPUType	Der Typ des Prozessors, auf dem die Applikation läuft. Der Rückgabewert ist ein Wert aus dem enum CPUType.

Querverweise

CPUType

_______________


GUIType System::GetGUIType()
System::GetGUIType()

static GUIType System::GetGUIType();

Beschreibung

Die Methode gibt den Typ der grafischen Benutzeroberfläche zurück, unter der die Applikation läuft.

Rückgabewert

GUIType	Der Typ der grafischen Benutzeroberfläche, unter der die Applikation läuft. Der Rückgabewert ist ein Wert aus dem enum GUIType.

Querverweise

GUIType

_______________


System::GetGUIVersion()

static String System::GetGUIVersion();

Beschreibung

Die Methode gibt die Version der grafischen Benutzeroberfläche zurück, unter der die Applikation läuft.

Rückgabewert

String	Die Versionsnummer der grafischen Benutzeroberfläche, unter der die Applikation läuft. Konnte die Versionsnummer nicht ermittelt werden, so wird 0 zurückgeliefert.

_______________


System::GetScreenSizePixel()

static Size System::GetScreenSizePixel();

Beschreibung

Die Methode liefert die Größe des angeschlossenen Bildschirms in Pixeln zurück.

Rückgabewert

Size	Die Bildschirmgröße in Pixeln.

_______________


System::GetMenuBarHeightPixel()

static USHORT System::GetMenuBarHeightPixel();

Beschreibung

Die Methode liefert die Höhe des MenuBars zurück.

Rückgabewert

USHORT	Die Höhe des MenuBars in Pixeln. Auf Systemen, bei denen der MenuBar auch mehrzeilig sein kann, wird die Höhe einer MenuBar-Zeile zurückgegeben.

_______________


System::HasMouse()

static BOOL System::HasMouse();

Beschreibung

Die Methode liefert zurück, ob eine Maus installiert ist oder nicht.

Rückgabewert

BOOL	TRUE

Eine Maus ist installiert.

FALSE

Es ist keine Maus installiert.

_______________


System::GetMouseButtonCount()

static USHORT System::GetMouseButtonCount();

Beschreibung

Die Methode liefert die Anzahl der Tasten der angeschlossenen Maus zurück.

Rückgabewert

USHORT	Die Anzahl der Maustasten. Konnte die Anzahl nicht ermittelt werden, wird 0 zurückgegeben.

Ausnahmen

Unter MS-Windows wird immer der Wert 2 zurückgegeben, unter Motif immer der Wert 3 und beim MAC immer der Wert 1.

_______________


System::GetSystemFont()

static Font System::GetSystemFont();

Beschreibung

Diese Methode ermittelt den Systemfont und gibt ihn als Rückgabewert zurück.

Rückgabewert

Font	Der Systemfont.

Querverweise

Application::ChangeAppFont(), Application::GetAppFont()

_______________


System::GetCharSet()

static CharSet System::GetCharSet();

Beschreibung

Diese Methode ermittelt den gültigen Zeichensatz und gibt ihn als Rückgabewert zurück.

Rückgabewert

CharSet	Der gültige Zeichensatz.

Querverweise

CharSet

_______________


System::GetLanguage()

static LanguageType System::GetLanguage();

Beschreibung

Diese Methode ermittelt den LanguageType und gibt ihn als Rückgabewert zurück.

Rückgabewert

LanguageType	Der LanguageType.

Querverweise

LanguageType

_______________


System::GetCountry()

static CountryType System::GetCountry();

Beschreibung

Diese Methode ermittelt den CountryType und gibt ihn als Rückgabewert zurück.

Rückgabewert

CountryType	Der CountryType.

Querverweise

CountryType

_______________


System::GetPrinterCount()

static USHORT System::GetPrinterCount();

Beschreibung

Diese Methode gibt die Anzahl der im System installierten Drucker zurück.

Rückgabewert

USHORT	Die Anzahl der im System installierten Drucker.

Querverweise

System::GetPrinterName()

_______________


System::GetPrinterName( USHORT nPrinter )
System::GetPrinterName()

static String System::GetPrinterName( USHORT nPrinter );

Beschreibung

Es wird der Name eines Systemdruckers zurückgegeben. Dieser Name kann in einer Dialogbox zur Druckerauswahl verwendet werden.

Parameter

USHORT nPrinter	Die Position des Systemdruckers, für den der Name erfragt werden soll.

Rückgabewert

String	Der Name des angegebenen Systemdruckers.

Querverweise

System::GetPrinterCount()

_______________


System::GetDefaultPrinterName()

static String System::GetDefaultPrinterName();

Beschreibung

Es wird der Name des als Default-Drucker eingestellten Systemdruckers zurückgegeben.

Rückgabewert

String	Der Name des Default-Druckers.

Querverweise

System::GetPrinterCount()

_______________


System::GetUserName()

static String System::GetUserName();

Beschreibung

Es wird der Netzwerkname des Benutzers zurückgegeben.

Rückgabewert

String	Der Netzwerkname des Benutzers.

_______________


SystemWindow

class SystemWindow : public Window

{

protected:

virtual void	Activate();

virtual void	Deactivate();

public:

virtual	~SystemWindow();

virtual BOOL	Close();

BOOL	IsActive() const;

void	AnimatePalette( USHORT nStart, const Palette& rPal );

Palette	ChangePalette( const Palette& rPal );

Palette	GetPalette() const;

};

Beschreibung

Diese Klasse ist die Basisklasse für die Klassen Dialog und WorkWindow. Sie enthält die gemeinsamen Methoden der beiden abgeleiteten Klassen. Von dieser Klasse werden keine Instanzen erzeugt.

Ausnahmen

Von dieser Klasse können keine Instanzen erzeugt werden.

Basisklassen

Window : OutputDevice : Resource : LinkHdl

Querverweise

Dialog, WorkWindow

_______________


SystemWindow::Activate()

virtual void SystemWindow::Activate();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn ein Fenster aktiv wird. Dies ist dann der Fall, wenn das Fenster oder ein Childfenster den Focus bekommen. Vom höchsten Parent, der nicht aktiv ist, wird zuerst der Activate-Handler gerufen.

Querverweise

SystemWindow::IsActive(), MDIWindow::IsMDIActivate()

_______________


SystemWindow::Deactivate()

virtual void SystemWindow::Deactivate();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn ein Fenster deaktiv wird. Dies ist dann der Fall, wenn das Fenster selbst und keines seiner Childfenster mehr den Focus besitzen. Vom höchsten Parent, der deaktiv wird, wird zuletzt der Deactivate-Handler gerufen.

Querverweise

SystemWindow::IsActive(), MDIWindow::IsMDIActivate()

_______________


SystemWindow::~SystemWindow()

virtual SystemWindow::~SystemWindow();

Beschreibung

Destruktor der Klasse SystemWindow.

_______________


SystemWindow::Close()

virtual BOOL SystemWindow::Close();

Beschreibung

Dieser Handler wird von StarView gerufen, bevor das Fenster geschlossen wird. Die Defaultbehandlung in dieser Klasse schließt das Fenster und liefert als Ergebnis den Wert TRUE; dabei wird die Instanz nicht zerstört. Eine abgeleitete Klasse kann diesen Handler überladen und beispielsweise eine Messagebox öffnen, in der der Benutzer gefragt wird, ob er Daten sichern will. Wenn das Fenster nicht geschlossen wurde, muß als Ergebnis der Wert FALSE zurückgeliefert werden. In dem Handler kann z.B. auch bei nichtmodalen Dialogboxen und bei MDI-Fenstern das Fenster mit delete this zerstört werden, wenn das Fenster mit new angelegt wurde.

Folgende Defaultbehandlungen werden in diesem Handler durchgeführt:

Applikationsfenster	Hide() und pApp->Quit()

Modale Dialogboxen	EndDialog( FALSE )

alle anderen Fenster	Hide()

Rückgabewert

BOOL	TRUE

Das Fenster ist geschlossen worden.

FALSE

Das Fenster ist nicht geschlossen worden.

Anmerkungen

Der Rückgabewert hat z. Zt. nur für MDI-Fenster eine Bedeutung, weil dadurch beim Schließen mehrerer Fenster erkannt wird, wann das Schließen aller Fenster abgebrochen werden kann (genau dann, wenn ein Fenster FALSE zurückliefert).

_______________


SystemWindow::IsActive()

BOOL SystemWindow::IsActive() const;

Beschreibung

Über diese Methode kann abgefragt werden, ob das Fenster aktiv ist.

Rückgabewert

BOOL	TRUE

Das Fenster ist aktiv.

FALSE

Das Fenster ist nicht aktiv.

Querverweise

SystemWindow::Activate(), SystemWindow::Deactivate()

_______________


SystemWindow::AnimatePalette( USHORT nStart, const Palette& rPal )
SystemWindow::AnimatePalette()

void SystemWindow::AnimatePalette( USHORT nStart, const Palette& rPal );

Beschreibung

Mit Hilfe dieser Methode ist es möglich einen Bereich der gesetzten Palette zu ändern. Die geänderten Paletteneinträge werden sofort in die Systempalette übernommen. Ein Neuzeichnen des Fensterinhalts erfolgt nicht.

Parameter

USHORT nStart	Der Index des ersten Eintrags der gesetzten Palette, der geändert werden soll.

const Palette& rPal	Ein Objekt der Klasse mit den neuen Einträgen. Die Einträge dieser Palette ersetzen die entsprechenden Einträge der gesetzten Palette.

Querverweise

Palette, SystemWindow::ChangePalette()

_______________


SystemWindow::ChangePalette( const Palette& rPal )
SystemWindow::ChangePalette()

Palette SystemWindow::ChangePalette( const Palette& rPal );

Beschreibung

Diese Methode setzt eine neue Palette für das SystemWindow. Nach dem Setzen einer neuen Palette wird automatisch ein Neuzeichnen des Fensterinhaltes ausgelöst, um den Inhalt mit der neuen Palette auszugeben.

Parameter

const Palette& rPal	Die neue Palette, die im SystemWindow gesetzt werden soll.

Rückgabewert

Palette	Die bisher im SystemWindow gesetzte Palette.

Querverweise

Palette, SystemWindow::GetPalette(), SystemWindow::AnimatePalette()

_______________


SystemWindow::GetPalette()

Palette SystemWindow::GetPalette() const;

Beschreibung

Diese Methode ermittelt die im SystemWindow gesetzte Palette.

Rückgabewert

Palette	Die gesetzte Palette.

Querverweise

Palette, SystemWindow::ChangePalette(), SystemWindow::AnimatePalette()

_______________


Table

#define TABLE_ENTRY_NOTFOUND  CONTAINER_ENTRY_NOTFOUND

class Table : private Container

{

public:

Table( USHORT nInitSize = 16, USHORT nReSize = 16 );

Table( const Table& rTable );

~Table();

BOOL	Insert( ULONG nKey, void* p );

void*	Remove( ULONG nKey );

void*	Replace( ULONG nKey, void* p );

void*	Get( ULONG nKey ) const;

void	Clear();

ULONG	Count() const;

void*	GetCurObject() const;

ULONG	GetCurKey() const;

ULONG	GetKey( const void* p ) const;

BOOL	IsKeyValid( ULONG nKey ) const;

void*	Seek( ULONG nKey );

void*	Seek( void* p );

void*	First();

void*	Last();

void*	Next();

void*	Prev();

Table&	operator =( const Table& rTable );

BOOL	operator ==( const Table& rTable ) const;

BOOL	operator !=( const Table& rTable ) const;

};

Beschreibung

Die Klasse Table speichert Zeiger. Zu jedem Zeiger wird ein eindeutiger Schlüssel verwaltet. Die Speicherung von Zeigern anstelle von Objekten hat den Vorteil, daß z.B. beliebige Objekte verwaltet werden können. Üblicherweise sind nur Zeiger eines bestimmten Typs in der Table-Instanz erwünscht; diese Typenprüfung kann mit Hilfe des DECLARE-Makros sichergestellt werden.

Die Klasse Table arbeitet nur mit den Zeigern und deren Schlüsseln, die Objekte, auf die die Zeiger verweisen, werden weder kopiert noch manipuliert.

Die Tabelle wird nach den Schlüsseln sortiert, damit über den eindeutigen Schlüssel schnell auf die Zeiger zugegriffen werden kann. Um den Zugriff auch ohne Schlüssel zu ermöglichen, gibt es verschiedene Methoden für das Durchsuchen der Tabelle.

Anmerkungen

Die Methoden der Klasse Table zeigen z.T. durch einen NULL-Zeiger als Rückgabewert an, daß kein gültiger Zeiger gefunden wurde (die Operation wurde ohne gültiges Ergebnis beendet.

Aus diesem Grunde ist es nicht sinnvoll, NULL-Zeiger in einer Tabelle zu speichern.

Basisklassen

Container

_______________


DECLARE_TABLE( ClassName, Type )
DECLARE_TABLE()

DECLARE_TABLE( ClassName, Type )

Beschreibung

Die Klasse Table speichert ausschließlich typenlose Zeiger (void*). Soll eine Tabelle erzeugt werden, die nur Zeiger eines bestimmten Typs verwaltet, so muß eine Ableitung der Klasse Table erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht; die Größe der Datenstruktur darf den Wert von sizeof(void*) nicht überschreiten. Das Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den die Klasse verwalten soll.

Beispiel

// Mit Hilfe des Makros DECLARE_TABLE() wird eine Ableitung

// der Klasse Table erzeugt; diese verarbeitet ausschließlich Zeiger

// auf Instanzen der Klasse MyStruct.

struct MyStruct

{

...

};

DECLARE_TABLE( MyTable, MyStruct* );

...

MyTable aTable( 100, 0 );

aTable.Insert( 0, new MyStruct(...) );

...

_______________


Table::Table( USHORT nInitSize = 16, USHORT nReSize = 16 )
Table::Table()

Table::Table( USHORT nInitSize = 16, USHORT nReSize = 16 );

Beschreibung

Konstruktor der Klasse Table. Mit diesem Konstruktor können die Initialgröße und die Reallokierungsgröße eingestellt werden. Der Konstruktor wird auch als Default-Konstruktor verwendet.

Parameter

USHORT nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen der Table gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Tabelle vorgegeben.

USHORT nReSize	Die Anzahl der Zeiger, um die die Tabelle erweitert wird, wenn neuer Speicherplatz angelegt werden muß. Ist der Parameter 0, so wird der Wert von der Tabelle vorgegeben.

_______________


Table::Table( const Table& rTable )
Table::Table()

Table::Table( const Table& rTable );

Beschreibung

Copy-Konstruktor der Klasse Table. Dieser Konstruktor übernimmt alle gespeicherten Zeiger sowie die eingestellten Werte der übergebenen Tabelle. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const Table& rTable	Die Tabelle, von der die Zeiger und die eingestellten Werte übernommen werden sollen.

_______________


Table::~Table()

Table::~Table();

Beschreibung

Destruktor der Klasse Table. Es werden alle von der Tabelle angelegten Daten freigegeben, jedoch nicht die Daten, auf die die gespeicherten Zeiger zeigen.

_______________


Table::Insert( ULONG nKey, void* p )
Table::Insert()

BOOL Table::Insert( ULONG nKey, void* p );

Beschreibung

Der übergebene Zeiger wird der Tabelle hinzugefügt. Da es sich bei nKey um einen eindeutigen Schlüssel handeln muß, so wird FALSE zurückgeliefert, wenn die Tabelle den Schlüssel bereits kennt.

Parameter

ULONG nKey	Der eindeutige Schlüssel auf die Daten.

void* p	Der Zeiger, der hinzugefügt wird.

Rückgabewert

BOOL	TRUE

Der Zeiger konnte eingefügt werden.

FALSE

Der Zeiger konnte nicht in die Tabelle eingefügt werden, weil der Schlüssel bereits existiert.

_______________


Table::Remove( ULONG nKey )
Table::Remove()

void* Table::Remove( ULONG nKey );

Beschreibung

Der Schlüssel nKey und der zum Schlüssel gehörende Zeiger werden entfernt. Der entfernte Zeiger wird zurückgegeben. Kennt die Tabelle den Schlüssel nicht, so hat der Aufruf keine Wirkung.

Parameter

ULONG nKey	Der Schlüssel, der zusammen mit seinem Zeiger entfernt werden soll.

Rückgabewert

void*	Der Zeiger, der entfernt wurde. Kannte die Tabelle den Schlüssel nicht, so wird NULL zurückgegeben.

_______________


Table::Replace( ULONG nKey, void* p )
Table::Replace()

void* Table::Replace( ULONG nKey, void* p );

Beschreibung

Der Zeiger, der zum Schlüssel nKey gehört, so wird durch den übergebenen Zeiger ersetzt. Kennt die Tabelle den Schlüssel nicht, so hat der Aufruf keine Wirkung.

Parameter

ULONG nKey	Der Schlüssel auf die Daten.

void* p	Der Zeiger, der den zum Schlüssel gehörenden Zeiger ersetzt.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Kannte die Tabelle den Schlüssel nicht, so wird NULL zurückgegeben.

_______________


Table::Get( ULONG nKey )
Table::Get()

void* Table::Get( ULONG nKey ) const;

Beschreibung

Der Zeiger, auf den der Schlüssel nKey verweist, wird zurückgegeben.

Parameter

ULONG nKey	Der Schlüssel auf die Daten.

Rückgabewert

void*	Der Zeiger, der zum Schlüssel gehört. Kannte die Tabelle den Schlüssel nicht, so wird NULL zurückgegeben.

_______________


Table::Clear()

void Table::Clear();

Beschreibung

Alle gespeicherten Zeiger und Schlüssel werden gelöscht. Dabei werden jedoch nicht die Daten gelöscht, auf die die Zeiger zeigen. Die Tabelle ist nach dem Aufruf dieser Methode leer.

_______________


Table::Count()

ULONG Table::Count() const;

Beschreibung

Die Anzahl der Zeiger, die von der Tabelle verwaltet werden, so wird zurückgegeben.

Rückgabewert

ULONG	Die Anzahl der in der Tabelle gespeicherten Zeiger.

_______________


Table::GetCurObject()

void* Table::GetCurObject() const;

Beschreibung

Es wird der Zeiger zurückgegeben, auf den der interne Positionszeiger zeigt. Dieser Zeiger wird bei den Methoden Seek(), First(), Last(), Next() und Prev() gesetzt.

Rückgabewert

void*	Der Zeiger, auf den der Positionszeiger zeigt, oder NULL, wenn die Tabelle leer ist.

_______________


Table::GetCurKey()

ULONG Table::GetCurKey() const;

Beschreibung

Es wird der Schlüssel zurückgegeben, auf den der interne Positionszeiger zeigt. Dieser Zeiger wird bei den Methoden Seek(), First(), Last(), Next() und Prev() gesetzt.

Rückgabewert

ULONG	Der Schlüssel, auf den der Positionszeiger zeigt, oder

TABLE_ENTRY_NOTFOUND, wenn die Tabelle leer ist.

_______________


Table::GetKey( const void* p )
Table::GetKey()

ULONG Table::GetKey( const void* p ) const;

Beschreibung

Der zum übergebenen Zeiger gehörende Schlüssel wird zurückgegeben. Ist der Zeiger mehr als einmal enthalten, so wird der Schlüssel mit dem kleinsten Wert zurückgegeben.

Parameter

const void* p	Der Zeiger, dessen Schlüssel zurückgegeben werden soll.

Rückgabewert

ULONG	Der Schlüssel mit dem kleinsten Wert, der zum übergebenen Zeiger gehört. Befindet sich der Zeiger nicht in der Tabelle, so wird TABLE_ENTRY_NOTFOUND zurückgegeben.

_______________


Table::IsKeyValid( ULONG nKey )
Table::IsKeyValid()

BOOL Table::IsKeyValid( ULONG nKey ) const;

Beschreibung

Es wird geprüft, ob die Tabelle den übergebenen Schlüssel kennt.

Parameter

ULONG nKey	Der Schlüssel, für den geprüft werden soll, ob die Tabelle ihn kennt.

Rückgabewert

BOOL	TRUE

Die Tabelle kennt den Schlüssel.

FALSE

Die Tabelle kennt den Schlüssel nicht.

_______________


Table::Seek( ULONG nKey )
Table::Seek()

void* Table::Seek( ULONG nKey );

Beschreibung

Der interne Positionszeiger wird auf den ersten Tabelleneintrag gesetzt, zu dem der übergebene Schlüssel paßt. Der Positionszeiger wird bei Next() und Prev() weitergeschaltet. Es muß beachtet werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt werden muß. Kennt die Tabelle den Key nicht, so hat der Aufruf keine Wirkung.

Parameter

ULONG nKey	Der Schlüssel, auf den der Positionszeiger zeigen soll.

Rückgabewert

void*	Der Zeiger, der zum übergebenen Schlüssel gehört. Ist der Schlüssel nicht in der Tabelle enthalten, so wird NULL zurückgegeben.

_______________


Table::Seek( void* p )
Table::Seek()

void* Table::Seek( void* p );

Beschreibung

Ein interner Positionszeiger wird auf den ersten Tabelleneintrag gesetzt, der den übergebenen Zeiger beinhaltet. Dieser Zeiger wird bei Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach dem Hinzufügen oder Entfernen der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird. Ist der Zeiger nicht enthalten, so hat der Aufruf keine Wirkung.

Parameter

void* p	Der Zeiger, auf den der interne Positionszeiger zeigen soll.

Rückgabewert

void*	Der übergebene Zeiger; wenn der Zeiger nicht in der Tabelle enthalten ist, so wird NULL zurückgegeben.

_______________


Table::First()

void* Table::First();

Beschreibung

Der interne Positionszeiger wird auf den ersten Tabelleneintrag gesetzt. Dieser Zeiger wird bei Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach dem Hinzufügen oder Entfernen der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der erste Zeiger, der in der Tabelle steht; ist die Tabelle leer, so wird NULL zurückgegeben.

_______________


Table::Last()

void* Table::Last();

Beschreibung

Der interne Positionszeiger wird auf den letzten Tabelleneintrag gesetzt. Dieser Zeiger wird bei Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach dem Hinzufügen oder Entfernen der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der letzte Zeiger, der in der Tabelle steht. Ist die Tabelle leer, so wird NULL zurückgegeben.

_______________


Table::Next()

void* Table::Next();

Beschreibung

Der interne Positionszeiger wird auf den nächsten Eintrag weitergeschaltet. Steht der Positionszeiger auf dem Tabellenende, so hat der Aufruf keine Wirkung. Es muß dafür gesorgt werden, daß nach dem Hinzufügen oder Entfernen der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der Zeiger, auf den der interne Positionszeiger zeigt. Ist die Tabelle leer oder steht der Positionszeiger auf dem Tabellenende, so wird NULL zurückgegeben.

_______________


Table::Prev()

void* Table::Prev();

Beschreibung

Der interne Positionszeiger wird auf den vorherigen Eintrag weitergeschaltet. Steht der Positionszeiger auf dem Tabellenanfang, so hat der Aufruf keine Wirkung. Es muß dafür gesorgt werden, daß nach dem Hinzufügen oder Entfernen der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der Zeiger, auf den der interne Positionszeiger zeigt. Ist die Tabelle leer oder steht der Positionszeiger auf dem Tabellenanfang, so wird NULL zurückgegeben.

_______________


Table::operator =( const Table& rTable )
Table::operator =()

Table& Table::operator =( const Table& rTable );

Beschreibung

Zuweisungsoperator der Klasse Table. Dieser Operator löscht alle angelegten Daten und übernimmt alle gespeicherten Zeiger, Schlüssel sowie die eingestellten Werte der übergebenen Tabelle. Die Daten, auf die die Zeiger zeigen, werden nicht gelöscht oder kopiert.

Parameter

const Table& rTable	Die zu kopierende Tabelle.

Rückgabewert

Table&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


Table::operator ==( const Table& rTable )
Table::operator ==()
Table::operator !=()

BOOL Table::operator ==( const Table& rTable ) const;

BOOL Table::operator !=( const Table& rTable ) const;

Beschreibung

Vergleichsoperatoren der Klasse Table. Diese Operatoren prüfen, ob beide Tabellen die gleichen Schlüssel enthalten und ob die dazugehörenden Zeiger auf dieselben Daten zeigen.

Parameter

const Table& rTable	Die Tabelle, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


Time

class Time

{

public:

Time();

Time( const ResId& rResId );

Time( long nTime );

Time( const Time& rTime );

Time( USHORT nHour, USHORT nMin = 0, USHORT nSec = 0, USHORT n100Sec = 0 );

long	ChangeTime( long nNewTime );

long	GetTime() const;

USHORT  	ChangeHour( USHORT nNewHour );

USHORT	ChangeMin( USHORT nNewMin );

USHORT	ChangeSec( USHORT nNewSec );

USHORT	Change100Sec( USHORT nNew100Sec );

USHORT	GetHour() const;

USHORT	GetMin() const;

USHORT	GetSec() const;

USHORT	Get100Sec() const;

BOOL	IsBetween( const Time& rFrom, const Time& rTo ) const;

friend BOOL	operator ==( const Time& rTime1, const Time& rTime2 ) const;

friend BOOL	operator !=( const Time& rTime1, Time& rTime2 ) const;

friend BOOL	operator >( const Time& rTime1, const Time& rTime2 ) const;

friend BOOL	operator <( const Time& rTime1, const Time& rTime2 ) const;

friend BOOL	operator >=( const Time& rTime1, const Time& rTime2 ) const;

friend BOOL	operator <=( const Time& rTime1, const Time& rTime2 ) const;

Time&	operator =( const Time& rTime );

Time	operator -();

Time&	operator +=( const Time& rTime );

Time&	operator -=( const Time& rTime );

friend Time	operator +( const Time& rTime1, const Time& rTime2 );

friend Time	operator -( const Time& rTime1, const Time& rTime2 );

};

Beschreibung

Die Klasse Time bietet Methoden zur Verwaltung einer Zeit. Es können verschiedene Operationen auf eine Zeit ausgeführt werden. So ist es z.B. möglich, 2 Zeiten miteinander zu vergleichen, zu addieren oder voneinander abzuziehen. Die Zeit kann auch negativ sein.

Beispiel

Time aTime1( 20, 10 );

Time aTime2( 44, 22, 27 );

Time aTime3 = aTime1 - aTime2;

// Wenn Zeit negativ, dann soll sie positiv werden

if ( aTime3 < 0 )

aTime3 = -aTime3;

_______________


Time::Time()

Time::Time();

Beschreibung

Konstruktor der Klasse Time. Als Zeit wird die aktuelle Zeit genommen.

_______________


Time::Time( const ResId & rResId )
Time::Time()

Time::Time( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse Time.

Parameter

const ResId & rResId	Der Resource-Identifier der Zeit.

_______________


Time::Time( long nTime )
Time::Time()

Time::Time( long nTime );

Beschreibung

Konstruktor der Klasse Time. Dieser Konstruktor ist dazu gedacht, eine Zeit mit einem Wert zu erzeugen, der mit GetTime() abgefragt wurde. Dies wird zum Beispiel gebraucht, wenn eine Zeit in einer Datei oder in einer Datenbank gespeichert werden soll.

Parameter

long nTime	Die Zeit, die mit GetTime() abgefragt wurde.

_______________


Time::Time( const Time& rTime )
Time::Time()

Time::Time( const Time& rTime );

Beschreibung

Copy-Konstruktor der Klasse Time. Als Wert wird der Wert der übergebenen Zeit übernommen.

Parameter

const Time& rTime	Die Zeit, deren Wert übernommen werden soll.

_______________


Time::Time()

Time::Time( USHORT nHour, USHORT nMin = 0, USHORT nSec = 0, USHORT n100Sec = 0 );

Beschreibung

Dieser Konstruktor erzeugt eine Zeit aus den übergebenen Werten für Stunde, Minute, Sekunde und Hundertstel-Sekunde. Werden bei den Parametern nMin, nSec oder n100Sec zu große Werte angegeben, so werden die entsprechenden Werte von nHour, nMin und nSec angepaßt.

Parameter

USHORT nHour	Der Stundenanteil der Zeit.

USHORT nMin	Der Minutenanteil der Zeit.

USHORT nSec	Der Sekundenanteil der Zeit.

USHORT n100Sec	Der Hundertstel-Sekundenanteil der Zeit.

_______________


Time::ChangeTime()

long Time::ChangeTime( long nNewTime );

Beschreibung

Diese Methode ändert die Zeit. Diese Methode ist dazu gedacht, eine Zeit, die mit GetTime() abgefragt wurde, wieder in eine Instanz der Klasse Time zu setzen. Dies wird zum Beispiel gebraucht, wenn eine Zeit in einer Datei oder in einer Datenbank gespeichert werden soll.

Parameter

long nNewTime	Die neue Zeit.

Rückgabewert

long	Die vorher gesetzte Zeit.

_______________


Time::GetTime()

long Time::GetTime() const;

Beschreibung

Diese Methode ermittelt die gesetzte Zeit. Dieser Wert kann dazu benutzt werden, die Zeit einfach in einer Datei oder in einer Datenbank zu speichern. Der Wert kann mit ChangeTime() in eine andere Zeitinstanz gesetzt werden.

Rückgabewert

long	Die gesetzte Zeit.

_______________


Time::ChangeHour( USHORT nNewHour )
Time::ChangeHour()

USHORT Time::ChangeHour( USHORT nNewHour );

Beschreibung

Diese Methode ändert den Stundenanteil der Zeit.

Parameter

USHORT nNewHour	Der neue Stundenanteil der Zeit (0-999).

Rückgabewert

USHORT	Der vorher gesetzte Stundenanteil (0-999).

_______________


Time::ChangeMin( USHORT nNewMin )
Time::ChangeMin()

USHORT Time::ChangeMin( USHORT nNewMin );

Beschreibung

Diese Methode ändert den Minutenanteil der Zeit.

Parameter

USHORT nNewMin	Der neue Minutenanteil der Zeit (0-59).

Rückgabewert

USHORT	Der vorher gesetzte Minutenanteil (0-59).

_______________


Time::ChangeSec( USHORT nNewSec )
Time::ChangeSec()

USHORT Time::ChangeSec( USHORT nNewSec );

Beschreibung

Diese Methode ändert den Sekundenanteil der Zeit.

Parameter

USHORT nNewSec	Der neue Sekundenanteil (0-59).

Rückgabewert

USHORT	Der vorher gesetzte Sekundenanteil (0-59).

_______________


Time::Change100Sec( USHORT nNew100Sec )
Time::Change100Sec()

USHORT Time::Change100Sec( USHORT nNew100Sec );

Beschreibung

Diese Methode ändert den Hundertstel-Sekundenanteil der Zeit.

Parameter

USHORT nNew100Sec	Der neue Hundertstel-Sekundenanteil.

Rückgabewert

USHORT	Der vorher gesetzte Hundertstel-Sekundenanteil (0-99).

_______________


Time::GetHour()

USHORT Time::GetHour() const;

Beschreibung

Die Methode liefert den Stundenanteil zurück.

Rückgabewert

USHORT	Der gesetzte Stundenanteil (0-999).

_______________


Time::GetMin()

USHORT Time::GetMin() const;

Beschreibung

Die Methode liefert den gesetzten Minutenanteil zurück.

Rückgabewert

USHORT	Der gesetzte Minutenanteil (0-59).

_______________


Time::GetSec()

USHORT Time::GetSec() const;

Beschreibung

Die Methode liefert den gesetzten Sekundenanteil zurück.

Rückgabewert

USHORT	Der gesetzte Sekundenanteil (0-59).

_______________


Time::Get100Sec()

USHORT Time::Get100Sec() const;

Beschreibung

Die Methode liefert den gesetzten Hundertstel-Sekundenanteil zurück.

Rückgabewert

USHORT	Der gesetzte Hundertstel-Sekundenanteil (0-99).

_______________


Time::IsBetween( const Time& rFrom, const Time& rTo )
Time::IsBetween()

BOOL Time::IsBetween( const Time& rFrom, const Time& rTo ) const;

Beschreibung

Die Methode ermittelt, ob sich die Zeit zwischen den übergebenen Zeiten befindet. Sie liefert TRUE zurück, wenn die Zeit größer oder gleich der Zeit rFrom und kleiner oder gleich der Zeit rTo ist.

Parameter

const Time& rFrom	Die Zeit, ab der geprüft werden soll.

const Time& rTo	Die Zeit, bis zu der geprüft werden soll.

Rückgabewert

BOOL	TRUE

Die Zeit ist größer oder gleich der Zeit rFrom und kleiner oder gleich der Zeit rTo.

FALSE

Die Zeit befindet sich außerhalb dieses Bereiches.

_______________


operator ==( const Time& rTime1, const Time& rTime2 )
Time::operator ==()

friend BOOL operator ==( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebenen Zeiten gleich sind.

Parameter

const Time& rTime1	Die erste Zeit, die verglichen werden soll.

const Time& rTime2	Die zweite Zeit, die verglichen werden soll.

Rückgabewert

BOOL	TRUE

Die Zeiten sind gleich.

FALSE

Die Zeiten sind unterschiedlich.

_______________


operator !=( const Time& rTime1, const Time& rTime2 )
Time::operator !=()

friend BOOL operator !=( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebenen Zeiten unterschiedlich sind.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu vergleichenden Zeiten.

Rückgabewert

BOOL	TRUE

Die Zeiten sind unterschiedlich.

FALSE

Die Zeiten sind gleich.

_______________


Time::operator >( const Time& rTime1, const Time& rTime2 )
Time::operator >()

BOOL Time::operator >( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebene Zeit rTime1 größer als die übergebene Zeit rTime2 ist.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu vergleichenden Zeiten.

Rückgabewert

BOOL	TRUE

Die Zeit rTime1 ist größer als die Zeit rTime2.

FALSE

Die Zeit rTime1 ist nicht größer als die Zeit rTime2.

_______________


Time::operator <( const Time& rTime1, const Time& rTime2 )
Time::operator <()

BOOL Time::operator <( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebene Zeit rTime1 kleiner als die übergebene Zeit rTime2 ist.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu vergleichenden Zeiten.

Rückgabewert

BOOL	TRUE

Die Zeit rTime1 ist kleiner als die Zeit rTime2.

FALSE

Die Zeit rTime1 ist nicht kleiner als die Zeit rTime2.

_______________


Time::operator >=( const Time& rTime1, const Time& rTime2 )
Time::operator >=()

BOOL Time::operator >=( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebene Zeit rTime1 größer oder gleich der übergebenen Zeit rTime2 ist.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu vergleichenden Zeiten.

Rückgabewert

BOOL	TRUE

Die Zeit rTime1 ist größer oder gleich der Zeit rTime2.

FALSE

Die Zeit rTime1 ist kleiner als die Zeit rTime2.

_______________


Time::operator <=( const Time& rTime1, const Time& rTime2 )
Time::operator <=()

BOOL Time::operator <=( const Time& rTime1, const Time& rTime2 ) const;

Beschreibung

Dieser Operator prüft, ob die übergebene Zeit rTime1 kleiner oder gleich der übergebenen Zeit rTime2 ist.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu vergleichenden Zeiten.

Rückgabewert

BOOL	TRUE

Die Zeit rTime1 ist kleiner oder gleich der Zeit rTime2.

FALSE

Die Zeit rTime1 ist größer als die Zeit rTime2.

_______________


Time::operator =( const Time& rTime )
Time::operator =()

Time& Time::operator =( const Time& rTime );

Beschreibung

Zuweisungsoperator der Klasse Time. Als Wert wird der Wert der übergebenen Zeit gesetzt.

Parameter

const Time& rTime	Die Zeit, deren Wert übernommen werden soll.

Rückgabewert

Time&	Referenz auf die eigene Instanz.

_______________


Time::operator -()

Time Time::operator -();

Beschreibung

Dieser Operator liefert die Zeit negiert zurück.

Rückgabewert

Time	Die negierte Zeit.

_______________


Time::operator +=( const Time& rTime )
Time::operator +=()

Time& Time::operator +=( const Time& rTime );

Beschreibung

Dieser Operator zählt zu dieser Zeit die übergebene Zeit dazu.

Parameter

const Time& rTime	Die Zeit, die zu dieser Zeit dazugezählt werden soll.

Rückgabewert

Time&	Referenz auf die eigene Instanz.

_______________


Time::operator -=( const Time& rTime )
Time::operator -=()

Time& Time::operator -=( const Time& rTime );

Beschreibung

Dieser Operator zieht von dieser Zeit die übergebene Zeit ab.

Parameter

const Time& rTime	Die Zeit, die von dieser Zeit abgezogen werden soll.

Rückgabewert

Time&	Referenz auf die eigene Instanz.

_______________


Time operator +( const Time& rTime1, const Time& rTime2 )
Time::operator +()

friend Time operator +( const Time& rTime1, const Time& rTime2 );

Beschreibung

Dieser Operator addiert die beiden übergebenen Zeiten und gibt die neue Zeit zurück.

Parameter

const Time& rTime1,

const Time& rTime2	Die beiden zu addierenden Zeiten.

Rückgabewert

Time	Das Ergebnis der Berechnung.

_______________


Time operator -( const Time& rTime1, const Time& rTime2 )
Time::operator -()

friend Time operator -( const Time& rTime1, const Time& rTime2 );

Beschreibung

Dieser Operator subtrahiert die beiden übergebenen Zeiten und gibt die neue Zeit zurück.

Parameter

const Time& rTime1	Die Ausgangszeit.

const Time& rTime2	Die zu subtrahierende Zeit.

Rückgabewert

Time	Das Ergebnis der Berechnung.

_______________


TimeBox

class TimeBox : public ComboBox, public TimeFormatter

{

public:

TimeBox( Window* pParent, WinBits nWinStyle );

TimeBox( Window* pParent, const ResId& rResId );

void	InsertTime( const Time& rTime, USHORT nPos = COMBOBOX_APPEND );

void	RemoveTime( const Time& rTime );

Time	GetTime( USHORT nPos ) const;

USHORT	GetTimePos( const Time& rTime ) const;

};

Beschreibung

Eine TimeBox ist eine ComboBox für formatierte Uhrzeit- und Zeitdauereinträge. Die Formatierung der Eingaben und der Listeneinträge erfolgt durch die Klasse TimeFormatter.

Basisklassen

ComboBox : Edit : Control : Window : OutputDevice : Resource : LinkHdl;

TimeFormatter

Querverweise

TimeField, TimeFormatter

_______________


TimeBox::TimeBox( Window* pParent, WinBits nWinStyle = 0 )
TimeBox::TimeBox()

TimeBox::TimeBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse TimeBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_SORT

Die Einträge in der TimeBox werden aufsteigend sortiert.

_______________


TimeBox::TimeBox( Window* pParent, const ResId& rResId )
TimeBox::TimeBox()

TimeBox::TimeBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für die Klasse TimeBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die ID der TimeBox in der Resource.

Querverweise

Resource

_______________


TimeBox::InsertTime( const Time& rTime, USHORT nPos = COMBOBOX_APPEND )
TimeBox::InsertTime()

void TimeBox::InsertTime( const Time& rTime, USHORT nPos = COMBOBOX_APPEND );

Beschreibung

Die Methode fügt den übergebenen Zeitwert an der angegebenen Position in der TimeBox ein.

Parameter

const Time& rTime	Der einzufügende Zeitwert.

USHORT nPos	Die Position, an der der Zeitwert eingefügt werden soll. Falls nichts angegeben wird, wird der Zeitwert hinter dem bisher letzten Eintrag eingefügt.

Querverweise

ComboBox, TimeFormatter

_______________


TimeBox::RemoveTime( const Time& rTime )
TimeBox::RemoveTime()

void TimeBox::RemoveTime( const Time& rTime );

Beschreibung

Die Methode entfernt den übergebenen Zeitwert aus der TimeBox.

Parameter

const Time& rTime	Der Zeitwert, der entfernt werden soll.

Querverweise

ComboBox, TimeFormatter

_______________


TimeBox::GetTime( USHORT nPos )
TimeBox::GetTime()

Time TimeBox::GetTime( USHORT nPos ) const;

Beschreibung

Die Methode liefert den Zeitwert zurück, der sich an der angegebenen Position innerhalb der TimeBox befindet.

Parameter

USHORT nPos	Die Position des Zeitwertes, der ermittelt werden soll.

Rückgabewert

Time	Der Zeitwert, der sich an der Position nPos befindet.

Querverweise

ComboBox, TimeFormatter

_______________


TimeBox::GetTimePos( const Time& rTime )
TimeBox::GetTimePos()

USHORT TimeBox::GetTimePos( const Time& rTime ) const;

Beschreibung

Die Methode ermittelt die Position des übergebenen Zeitwerts innerhalb der TimeBox.

Parameter

const Time& rTime	Der Zeitwert, dessen Position ermittelt werden soll.

Rückgabewert

USHORT	Die Position des Zeitwerts.

Querverweise

ComboBox, TimeFormatter

_______________


TimeField

class TimeField : public SpinField, public TimeFormatter

{

public:

TimeField( Window* pParent, WinBits nWinStyle );

TimeField(Window* pParent, const ResId& rResId);

Time	ChangeFirst( const Time& rNewFirst );

Time	GetFirst() const;

Time	ChangeLast( const Time& r );

Time	GetLast() const;

};

Beschreibung

Das TimeField ist ein Eingabefeld zur formatierten Eingabe von Uhzeit- und Zeitdauerangaben. Die Formatierung der Eingaben und der Anzeige erfolgt durch die Basisklasse TimeFormatter.

Basisklassen

Edit: Control : Window : OutputDevice : Resource : LinkHdl

TimeFormatter

Querverweise

SpinButton, TimeFormatter, TimeBox

_______________


TimeField::TimeField(Window* pParent,WinBits nWinStyle = 0)
TimeField::TimeField()

TimeField::TimeField(Window* pParent,WinBits nWinStyle = 0);

Beschreibung

Konstruktor der Klasse TimeField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Stylebits mit folgender Bedeutung (es darf nur eine Textausrichtung gewählt werden):

WB_BORDER

Das TimeField hat einen Rahmen.

WB_LEFT

Der Text wird linksbündig ausgegeben.

WB_CENTER

Der Text wird zentriert ausgegeben.

WB_RIGHT

Der Text wird rechtsbündig ausgegeben.

WB_SPIN

Das TimeField erhält einen SpinButton.

WB_REPEAT

Bei längerer Betätigung des SpinButtons soll die Aktion fortlaufend ausgeführt werden.

Querverweise

Edit, Window

_______________


TimeField::TimeField( Window* pParent, const ResId& rResId)
TimeField::TimeField()

TimeField::TimeField( Window* pParent, const ResId& rResId);

Beschreibung

Resource-Konstruktor der Klasse TimeField.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des TimeFields.

Querverweise

Resource

_______________


TimeField::ChangeFirst( long nNewFirst )
TimeField::ChangeFirst()

long TimeField::ChangeFirst( long nNewFirst );

Beschreibung

Mit Hilfe dieser Methode ist der Wert einstellbar, der durch Betätigen der Taste <PGDN> gesetzt wird.

Parameter

long nNewFirst	Der neue Wert, der durch Betätigen der Taste <PGDN> gesetzt wird.

Querverweise

TimeField::GetFirst()

_______________


TimeField::GetFirst()

long TimeField::GetFirst() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGDN> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGDN> gesetzt wird.

_______________


TimeField::ChangeLast( long nNewLast )
TimeField::ChangeLast()

long TimeField::ChangeLast( long nNewLast );

Beschreibung

Mit Hilfe dieser Methode ist der Wert einstellbar, der durch Betätigen der Taste <PGUP> gesetzt wird.

Parameter

long nNewLast	Der neue Wert, der durch der Taste <PGUP> gesetzt wird.

Querverweise

TimeField::GetLast()

_______________


TimeField::GetLast()

long TimeField::GetLast() const;

Beschreibung

Die Methode liefert den Wert zurück, der durch Betätigen der Taste <PGUP> gesetzt wird.

Rückgabewert

long	Der Wert, der durch Betätigen der Taste <PGUP> gesetzt wird.

_______________


TimeFormatter

enum TimeFieldFormat { TIMEF_NONE, TIMEF_SEC, TIMEF_100TH_SEC };

class TimeFormatter

{

TimeFormatter();

TimeFormatter( const ResId & rResId );

public:

Time	ChangeMin( const Time& rNewMin );

Time	GetMin() const;

Time	ChangeMax( const Time& rNewMax );

Time	GetMax() const;

TimeFieldFormat	ChangeFormat( TimeFieldFormat eNewFormat );

TimeFieldFormat	GetFormat() const;

BOOL	ChangeDuration( BOOL bDuration );

BOOL	IsDuration() const;

BOOL	ChangeStrictFormat( BOOL bStrict );

BOOL	GetStrictFormat() const;

International	ChangeInternational(const International& rInter);

International	GetInternational() const;

void	SetTime( const Time& rNewTime );

Time	GetTime() const;

BOOL	IsTimeModified() const;

virtual void	Reformat();

};

Beschreibung

Die Klasse TimeFormatter sorgt für die Eingabeüberprüfung, die Formatierung und Anzeige von Uhrzeit- und Zeitdauerangaben in den abgeleiteten Klassen TimeBox und TimeField.

Querverweise

TimeField, TimeBox, Time, International

_______________


enum TimeFieldFormat

enum TimeFieldFormat	{ TIMEF_NONE, TIMEF_SEC, TIMEF_100TH_SEC };

Beschreibung

Die Werte des enum TimeFieldFormat geben an, ob die Zeitangabe mit oder ohne Sekunden und Hundertstel-Sekunden dargestellt werden soll.

TIMEF_NONE	Die Zeiteingabe wird ohne Sekunden und Hundertstel-Sekunden dargestellt.

TIMEF_SEC	Die Zeiteingabe wird mit Sekunden dargestellt.

TIMEF_100TH_SEC	Die Zeiteingabe wird mit Sekunden und Hundertstel-Sekunden dargestellt.

_______________


TimeFormatter::TimeFormatter( const ResId & rResId )
TimeFormatter::TimeFormatter()

TimeFormatter::TimeFormatter();

Beschreibung

Konstruktor der Klasse TimeFormatter. Es können keine Instanzen dieser Klasse direkt erzeugt werden, da es sich um eine Basisklasse für die Klassen TimeField und TimeBox handelt.

Querverweise

TimeField, TimeBox

_______________


TimeFormatter::TimeFormatter( const ResId & rResId )
TimeFormatter::TimeFormatter()

TimeFormatter::TimeFormatter( const ResId & rResId );

Beschreibung

Resource-Konstruktor der Klasse TimeFormatter.

Parameter

const ResId& rResId	Der Resource-Identifier des TimeFormatter.

Querverweise

Resource, TimeField, TimeBox

_______________


TimeFormatter::ChangeMin( const Time& rNewMin )
TimeFormatter::ChangeMin()

Time TimeFormatter::ChangeMin( const Time& rNewMin );

Beschreibung

Die Methode setzt einen neuen Minimalwert für die Zeiteingabe im TimeField oder der TimeBox. Gibt der Benutzer einen kleineren Wert ein, dann wird dieser auf den angegebenen Minimalwert geändert.

Parameter

const Time& rMin	Der neue Minimalwert für die Zeiteingabe.

Rückgabewert

Time	Der zuvor gesetzte Minimalwert für die Zeiteingabe.

Querverweise

TimeFormatter::GetMin(), TimeFormatter::ChangeMax()

_______________


TimeFormatter::GetMin()

Time TimeFormatter::GetMin() const;

Beschreibung

Die Methode ermittelt den für die Zeiteingabe im TimeField oder der TimeBox gesetzten Minimalwert.

Rückgabewert

Time	Der gesetzte Minimalwert für die Zeiteingabe.

Querverweise

TimeFormatter::ChangeMin()

_______________


TimeFormatter::ChangeMax( const Time& rNewMax )
TimeFormatter::ChangeMax()

Time TimeFormatter::ChangeMax( const Time& rNewMax );

Beschreibung

Die Methode setzt einen neuen Maximalwert für die Zeiteingabe im TimeField oder der TimeBox. Gibt der Benutzer einen größeren Wert ein, wird dieser auf den angegebenen Maximalwert geändert.

Parameter

const Time& rMax	Der neue Maximalwert für die Zeiteingabe.

Rückgabewert

Time	Der zuvor gesetzte Maximalwert für die Zeiteingabe.

Querverweise

TimeFormatter::GetMax(), TimeFormatter::ChangeMin()

_______________


TimeFormatter::GetMax()

Time TimeFormatter::GetMax() const;

Beschreibung

Die Methode ermittelt den für die Zeiteingabe im TimeField oder der TimeBox gesetzten Maximalwert.

Rückgabewert

Time	Der gesetzte Maximalwert für die Zeiteingabe.

Querverweise

TimeFormatter::GetMax(), TimeFormatter::ChangeMin()

_______________


TimeFormatter::ChangeFormat( TimeFieldFormat eNewFormat )
TimeFormatter::ChangeFormat()

TimeFieldFormat TimeFormatter::ChangeFormat( TimeFieldFormat eNewFormat );

Beschreibung

Die Methode legt fest, ob die Zeit im TimeField und in der TimeBox mit oder ohne Sekunden und Hundertstel-Sekunden dargestellt werden soll.

Parameter

TimeFieldFormat eNewFormat	Das neue Zeitformat.

Rückgabewert

TimeFieldFormat	Das bisher gültige Zeitformat.

Querverweise

enum TimeFieldFormat, TimeFormatter::GetFormat()

_______________


TimeFormatter::GetFormat()

TimeFieldFormat TimeFormatter::GetFormat() const;

Beschreibung

Die Methode ermittelt, ob die Zeit im TimeField und in der TimeBox mit oder ohne Sekunden und Hundertstel-Sekunden dargestellt wird.

Rückgabewert

TimeFieldFormat eFormat	Das gesetzte Zeitformat.

Querverweise

TimeFormatter::ChangeFormat()

_______________


TimeFormatter::ChangeDuration( BOOL bDuration )
TimeFormatter::ChangeDuration()

BOOL TimeFormatter::ChangeDuration( BOOL bDuration );

Beschreibung

Die Methode legt fest, ob die Zeitangabe im TimeField und in der TimeBox eineUhrzeit oder Zeitdauer darstellt.

Parameter

BOOL bDuration	TRUE

Die Zeitangabe stellt eine Zeitdauer dar.

FALSE

Die Zeitangabe stellt eine Uhrzeit dar.

Rückgabewert

BOOL	TRUE

Die Zeitangabe stellte bisher eine Zeitdauer dar.

FALSE

Die Zeitangabe stellte bisher eine Uhrzeit dar.

Querverweise

TimeFormatter::IsDuration()

_______________


TimeFormatter::IsDuration()

BOOL TimeFormatter::IsDuration() const;

Beschreibung

Die Methode ermittelt, ob die Zeitangabe im TimeField und in der TimeBox eine Zeitdauer oder eine Uhrzeit darstellt.

Rückgabewert

BOOL	TRUE

Die Zeitangabe stellt eine Zeitdauer dar.

FALSE

Die Zeitangabe stellt eine Uhrzeit dar.

Querverweise

TimeFormatter::ChangeDuration()

_______________


TimeFormatter::ChangeStrictFormat( BOOL bStrict )
TimeFormatter::ChangeStrictFormat()

BOOL TimeFormatter::ChangeStrictFormat( BOOL bStrict );

Beschreibung

Die Methode legt fest, ob im TimeField oder der TimeBox Eingaben sofort auf korrektes Format geprüft werden sollen. Wird die strikte Überprüfung abgeschaltet, erfolgt eine Untersuchung der Eingaben erst bei Verlust des Eingabefocus oder bei Aufruf der Methode Reformat(). Nach Erzeugung eines Objektes der Klassen TimeField oder TimeBox ist die strikte Überprüfung ausgeschaltet.

Parameter

BOOL bStrict	TRUE

Die strikte Überprüfung wird eingeschaltet.

FALSE

Die strikte Überprüfung wird ausgeschaltet.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfungwar eingeschaltet.

FALSE

Die strikte Überprüfung war ausgeschaltet.

Querverweise

TimeFormatter::GetStrictFormat(), TimeFormatter:Reformat()

_______________


TimeFormatter::GetStrictFormat()

BOOL TimeFormatter::GetStrictFormat() const;

Beschreibung

Die Methode ermittelt, ob im TimeField oder der TimeBox die strikte Überprüfung der Eingaben eingeschaltet ist.

Rückgabewert

BOOL	TRUE

Die strikte Überprüfung ist eingeschaltet.

FALSE

Die strikte Überprüfung ist ausgeschaltet.

Querverweise

TimeFormatter::ChangeStrictFormat(), TimeFormatter::Reformat()

_______________


TimeFormatter::ChangeInternational( const International& rInter )
TimeFormatter::ChangeInternational()

International TimeFormatter::ChangeInternational( const International& rInter );

Beschreibung

Die Methode setzt eine neue Instanz der Klasse International, deren Einstellungen die Grundlage für die Formatierung der Zeitangaben bilden.

Parameter

const International& rInter	Die neue Instanz der Klasse International.

Rückgabewert

International	Die bisher gesetzte Instanz der Klasse International.

Querverweise

TimeFormatter::GetInternational(), International

_______________


TimeFormatter::GetInternational()

International TimeFormatter::GetInternational() const;

Beschreibung

Die Methode ermittelt die Instanz der Klasse International, deren Einstellungen die Grundlage für die Formatierung der Zeitangaben bilden.

Rückgabewert

International	Die gesetzte Instanz der Klasse International.

Querverweise

TimeFormatter:ChangeInternational(), International

_______________


TimeFormatter::SetTime( const Time& rNewTime )
TimeFormatter::SetTime()

void TimeFormatter::SetTime( const Time& rNewTime );

Beschreibung

Die Methode setzt eine neue Zeitangaben für das TimeField bzw. die TimeBox.

Parameter

const Time& rNewTime	Die neue Zeitangabe.

Querverweise

TimeFormatter::GetTime(), Time

_______________


TimeFormatter::GetTime()

Time TimeFormatter::GetTime() const;

Beschreibung

Die Methode ermittelt die aktuelle Zeitangabe in einem TimeField bzw. einer TimeBox. Vor der Rückgabe des Wertes wird eine Eingabeüberprüfung vorgenommen.

Rückgabewert

Time	Die aktuelle Zeitangabe.

Querverweise

TimeFormatter::SetTime(), TimeFormatter::Reformat(), Time

_______________


TimeFormatter::IsTimeModified()

BOOL TimeFormatter::IsTimeModified() const;

Beschreibung

Die Methode ermittelt, ob die Zeitangabe seit dem letzten Aufruf der Methode SetTime() geändert wurde.

Rückgabewert

BOOL	TRUE

Die Zeitangabe wurde seit dem letzten Aufruf von SetTime() geändert.

FALSE

Die Zeitangabe wurde seit dem letzten Aufruf von SetTime() nicht geändert.

Querverweise

TimeFormatter::SetTime(), TimeFormat::Reformat()

_______________


TimeFormatter::Reformat()

virtual void TimeFormatter::Reformat();

Beschreibung

Diese Methode dient der Überprüfung und Neuformatierung der Eingaben in einem TimeField oder einer TimeBox. Diese Methode wird auch intern bei  Verlust des Eingabefocus zur Neuformatierung aufgerufen.

_______________


Timer

class Timer

{

protected:

virtual void	Timeout();

public:

Timer();

Timer( const Timer& rTimer );

~Timer();

ULONG	ChangeTimeout( ULONG nTimeout );

ULONG	GetTimeout() const;

BOOL	IsActive() const;

void	Start();

void	Stop();

Link	ChangeTimeoutHdl( const Link& rLink );

Link	GetTimeoutHdl() const;

Timer&	operator =( const Timer& rTimer );

}

Beschreibung

Die Klasse Timer dient dem automatischen Aufruf von Methoden nach Ablauf einer eingestellten Zeit. Eine Instanz der Klasse Timer wird mit der Methode ChangeTimeout() auf eine bestimmte Laufzeit initialisiert. Mit der Methode ChangeTimeoutHdl() wird der Handler eingestellt, der bei Ablauf des Timers gerufen wird. Mit der Methode Start() wird der Timer gestartet und mit der Methode Stop() gestoppt. Ist der Timer aktiv, kann er mit der Methode Start() nachgetriggert werden. Es wird dann noch einmal die gesamte Laufzeit benötigt, bis der Timer abgelaufen ist. Ist der Timer abgelaufen, wird die virtuelle Methode Timeout() aufgerufen. Von dieser Methode wird der über einen Link installierte Timeout-Handler aufgerufen. Der Timeout-Handler erhält als Parameter einen Zeiger auf die Timer-Instanz.

Anmerkungen

Die Laufzeit des Timers ist immer nur eine minimale Laufzeit. Die tatsächliche Laufzeit des Timers hängt vom Basisfenstersystem ab (Beispiel Windows: immer ein Vielfaches von 55 ms, keine garantierte Antwortzeit).

Beispiel

Im folgenden Beispiel gibt es die Klasse TimerWindow, die als Member einen Timer hat. In der Methode TimerWindow::StartTimer() wird der Timer initialisiert und gestartet. Als Handler wird die Methode TimerWindow::Time() gesetzt. Ist der Timer abgelaufen, wird der Handler aufgerufen.

class TimerWindow : public WorkWindow

{

protected:

Timer	aTimer;

public:

TimerWindow();

void	Time( Timer* pTimer );

void	StartTimer();

};

void TimerWindow::Time( Timer* pTimer )

{

Flash();

}

void TimerWindow::StartTimer()

{

aTimer.ChangeTimeout( 100 );

aTimer.ChangeTimeoutHdl( LINK( this, TimerWindow::Time ) );

aTimer.Start();

}

Querverweise

AutoTimer

_______________


Timer::Timeout()

virtual void Timer::Timeout();

Beschreibung

Dieser Handler wird gerufen, wenn die Laufzeit eines Timers beendet ist. Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ChangeTimeoutHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ChangeTimeoutHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Anmerkungen

Durch Ableiten der Klasse Timer und Überladen dieses Handlers kann das Verhalten des Timers geändert werden.

Querverweise

Timer::ChangeTimeoutHdl()

_______________


Timer::Timer()

Timer::Timer();

Beschreibung

Konstruktor der Klasse Timer. Die Timeout-Zeit wird mit der kleinsten auf dem Basissystem möglichen Laufzeit initialisiert.

_______________


Timer::Timer( const Timer& rTimer )
Timer::Timer()

Timer::Timer( const Timer& rTimer );

Beschreibung

Copy-Konstruktor der Klasse Timer.

Parameter

const Timer& rTimer	Die Timer-Instanz, deren Einstellungen übernommen werden sollen.

_______________


Timer::~Timer()

Timer::~Timer();

Beschreibung

Destruktor der Klasse Timer. Die Methode ist virtuell, damit auch abgeleitete Klassen mit einem Zeiger auf die Basisklasse zerstört werden können.

Anmerkungen

Ist noch ein Timer aktiv, wenn der Destruktor gerufen wird, so wird der Timer zunächst gestoppt und anschließend zerstört.

_______________


Timer::ChangeTimeout( ULONG nTimeout )
Timer::ChangeTimeout()

ULONG Timer::ChangeTimeout( ULONG nTimeout );

Beschreibung

Mit dieser Methode wird die Laufzeit eines Timers gesetzt. Die Einheit für die Timeout-Zeit ist Millisekunden. Der Rückgabewert gibt die alte Laufzeit an. Ist der Timer gerade aktiv, so wird die neue Laufzeit entsprechend berücksichtigt, d.h. eine Verkürzung der Laufzeit kann zum sofortigen Aufruf des Timeout-Handlers führen.

Parameter

ULONG nTimeout	Die Laufzeit des Timers in Millisekunden.

Rückgabewert

ULONG	Die alte Laufzeit in Millisekunden.

_______________


Timer::GetTimeout()

ULONG Timer::GetTimeout() const;

Beschreibung

Mit dieser Methode wird die Laufzeit eines Timers abgefragt. Die Einheit ist Millisekunden.

Rückgabewert

ULONG	Die Laufzeit in Millisekunden.

_______________


Timer::IsActive()

BOOL Timer::IsActive() const;

Beschreibung

Mit dieser Methode wird geprüft, ob ein Timer aktiv ist.

Rückgabewert

BOOL	TRUE

Der Timer ist aktiv.

FALSE

Der Timer ist nicht aktiv.

_______________


Timer::ChangeTimeoutHdl( const Link& rLink )
Timer::ChangeTimeoutHdl()

Link Timer::ChangeTimeoutHdl( const Link& rLink );

Beschreibung

Mit dieser Methode wird ein Handler in den Timer eingetragen. Der Handler wird aufgerufen, wenn der Timer abgelaufen ist.

Parameter

const Link& rLink	Ein Link auf den Handler, der nach Ablauf des Timers aufgerufen wird. Als Parameter bekommt der Handler einen Zeiger auf den Timer.

Prototyp des Handlers:

void MyClass::Timeout( Timer* pTimer );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Ein Link auf den alten Handler.

Querverweise

Link, Timer::Timeout()

_______________


Timer::GetTimeoutHdl()

Link Timer::GetTimeoutHdl() const;

Beschreibung

Diese Methode liefert einen Link mit dem Handler zurück, der aufgerufen wird, wenn der Timer abgelaufen ist.

Rückgabewert

Link	Ein Link auf den Handler.

_______________


Timer::Start()

void Timer::Start();

Beschreibung

Mit dieser Methode wird ein Timer gestartet bzw. ein bereits aktiver Timer neu gestartet.

_______________


Timer::Stop()

void Timer::Stop();

Beschreibung

Mit dieser Methode wird ein laufender Timer gestoppt. Ist der Timer bereits gestoppt, so hat diese Methode keine Wirkung.

_______________


Timer::operator =( const Timer& rTimer )
Timer::operator =()

Timer& Timer::operator =( const Timer& rTimer );

Beschreibung

Zuweisungsoperator der Klasse Timer.

Parameter

const Timer& rTimer	Die Timer-Instanz, deren Einstellungen übernommen werden sollen.

Rückgabewert

Timer&	Eine Referenz auf die Timer-Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


ToolBox

enum ButtonType	{ BUTTON_SYMBOL, BUTTON_TEXT, BUTTON_SYMBOLTEXT };

enum ToolBoxItemType	{ TOOLBOXITEM_DONTKNOW, TOOLBOXITEM_BUTTON,TOOLBOXITEM_SPACE, TOOLBOXITEM_SEPARATOR,TOOLBOXITEM_BREAK };

enum ToolBoxAlign	{ BOXALIGN_LEFT, BOXALIGN_TOP, BOXALIGN_RIGHT,BOXALIGN_BOTTOM };

#define TOOLBOX_APPEND          ((USHORT)0xFFFF)

#define TOOLBOX_ITEM_NOTFOUND   ((USHORT)0xFFFF)

class ToolBox : public Control

{

protected:

virtual void	Activate();

virtual void	Click();

virtual void	DoubleClick();

virtual void	Highlight();

virtual void	Select();

virtual void	Deactivate();

public:

ToolBox( Window* pParent, WinBits nWinBits = 0);

ToolBox( Window* pParent, const ResId& rResId );

~ToolBox();

BOOL	InsertItem( const ResId& rResId, USHORT nPos = TOOLBOX_APPEND );

BOOL	InsertItem(USHORT nItemId,const Bitmap& rBitmap,USHORT nPos = TOOLBOX_APPEND );

BOOL	InsertItem(USHORT nItemId,const Bitmap& rBitmap, const Bitmap& rDisableBitmap, USHORT nPos = TOOLBOX_APPEND );

BOOL	InsertItem(USHORT nItemId,const Bitmap& rBitmap, const String& rText, USHORT nPos = TOOLBOX_APPEND );

BOOL	InsertItem(USHORT nItemId,const Bitmap& rBitmap,const Bitmap& rDisableBitmap,const String& rText,USHORT nPos = TOOLBOX_APPEND );

BOOL	InsertItem(USHORT nItemId, const String& rText,USHORT nPos = TOOLBOX_APPEND );

void	InsertSpace( USHORT nPos = TOOLBOX_APPEND );

void	InsertSeparator( USHORT nPos = TOOLBOX_APPEND );

void	InsertBreak( USHORT nPos = TOOLBOX_APPEND );

void	RemoveItem( USHORT nPos );

ButtonType	ChangeButtonType( ButtonType eNewType = BUTTON_SYMBOL );

ButtonType	GetButtonType() const;

ToolBoxAlign	ChangeAlign( ToolBoxAlign eNewAlign = BOXALIGN_TOP );

ToolBoxAlign	GetAlign() const;

USHORT	ChangeLineCount( USHORT nNewLines );

USHORT	GetLineCount() const;

void	CopyItems( const ToolBox& rToolBox );

void	Clear();

USHORT	GetItemCount() const;

USHORT	GetItemId( USHORT nPos ) const;

USHORT	GetItemPos( USHORT nItemId ) const;

ToolBoxItemType GetItemType( USHORT nPos ) const;

Rectangle	GetItemRect( USHORT nItemId ) const;

USHORT	GetCurItemId() const;

void	CheckItem( USHORT nItemId, BOOL bCheck = TRUE );

BOOL	IsItemChecked( USHORT nItemId ) const;

void	EnableItem( USHORT nItemId,BOOL bEnable = TRUE);

BOOL	IsItemEnabled( USHORT nItemId ) const;

void	SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap );

Bitmap	GetItemBitmap( USHORT nItemId ) const;

void	SetItemDisableBitmap( USHORT nItemId, const Bitmap& rBitmap );

Bitmap	GetItemDisableBitmap( USHORT nItemId ) const;

void	SetItemText(USHORT nItemId,const String& rText);

String	GetItemText( USHORT nItemId ) const;

void	SetHelpText( USHORT nItemId, const String& rString );

String	GetHelpText( USHORT nItemId ) const;

ULONG	ChangeHelpId( USHORT nItemId, ULONG nHelpId );

ULONG	GetHelpId( USHORT nItemId ) const;

void	Enable();

void	Disable();

Size	CalcWindowSizePixel() const;

Link	ChangeActivateHdl( const Link& rLink );

Link	GetActivateHdl() const;

Link	ChangeClickHdl( const Link& rLink );

Link	GetClickHdl() const;

Link	ChangeDoubleClickHdl( const Link& rLink );

Link	GetDoubleClickHdl() const;

Link	ChangeHighlightHdl( const Link& rLink );

Link	GetHighlightHdl() const;

Link	ChangeSelectHdl( const Link& rLink );

Link	GetSelectHdl() const;

Link	ChangeDeactivateHdl( const Link& rLink );

Link	GetDeactivateHdl() const;

};

Beschreibung

Eine Instanz der Klasse ToolBox kann oben, unten, links oder rechts auf dem Bildschirm erscheinen und Buttons in ein oder mehreren Reihen/Spalten zur Auslösung unterschiedlichster Funktionalität enthalten. Die Buttons können Text, eine Bitmap oder auch beides enthalten.

Bei der Bedienung der ToolBox werden die folgenden Handler in der folgenden Reihenfolge gerufen:

Activate()	Bei der erstmaligen Aktivierung der ToolBox.

Click()	Wenn die Maustaste über einem der Buttons der ToolBox heruntergedrückt wird.

Highlight()	Nach Aufruf des Click-Handlers, also bei über einem Button gedrückter Maustaste.

Select()	Wenn über einem der Buttons die Maustaste losgelassen wird.

Deactivate()	Wenn die Maustaste über einem freien Bereich der ToolBox oder außerhalb der ToolBox wieder losgelassen wird.

Basisklassen

Control : Window : OutputDevice : Resource : LinkHdl

_______________


enum ButtonType

enum ButtonType	{ BUTTON_SYMBOL, BUTTON_TEXT, BUTTON_SYMBOLTEXT };

Beschreibung

Die Werte des enum ButtonType bestimmen das Aussehen der Buttons innerhalb der ToolBox.

BUTTON_SYMBOL	Die Buttons zeigen die Bitmap an.

BUTTON_TEXT	Die Buttons zeigen den Text an.

BUTTON_SYMBOLTEXT	Die Button zeigen die Bitmap und den Text an.

_______________


enum ToolBoxItemType

enum ToolBoxItemType	{ TOOLBOXITEM_DONTKNOW, TOOLBOXITEM_BUTTON,TOOLBOXITEM_SPACE, TOOLBOXITEM_SEPARATOR,TOOLBOXITEM_BREAK };

Beschreibung

Die Werte des enum ToolBoxItemType bestimmen den Typ eines ToolBox-Items.

TOOLBOXITEM_DONTKNOW	Der Typ des Items ist nicht bekannt.

TOOLBOXITEM_BUTTON	Das Item ist ein Button..

TOOLBOXITEM_SPACE	Das Item ist ein Leerraum.

TOOLBOXITEM_SEPARATOR	Das Item ist ein Trenner.

TOOLBOXITEM_BREAK	Das Item ist ein Zeilenumbruch.

_______________


enum ToolBoxAlign
ToolBoxAlign

enum ToolBoxAlign	{ BOXALIGN_LEFT, BOXALIGN_TOP, BOXALIGN_RIGHT, BOXALIGN_BOTTOM };

Beschreibung

Die Werte des enum ToolBoxAlign bestimmen die Position der ToolBox.

BOX_ALIGN_LEFT	Die ToolBox befindet sich am linken Rand.

BOXALIGN_TOP	Die ToolBox befindet sich am oberen Rand.

BOXALIGN_RIGHT	Die ToolBox befindet sich am rechten Rand.

BOXALIGN_BOTTOM	Die ToolBox befindet sich am unteren Rand.

_______________


ToolBox::Activate()

virtual void ToolBox::Activate();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer erstmalig die ToolBox aktiviert.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeActivateHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeActivateHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeActivateHdl()

_______________


ToolBox::Click()

virtual void ToolBox::Click();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer über einem der ToolBox-Buttons die Maustaste herunterdrückt.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeClickHdl()

_______________


ToolBox::DoubleClick()

virtual void ToolBox::DoubleClick();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer über einem Buttons der ToolBox einen Doppelklick mit der Maus ausführt.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeDoubleClickHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeDoubleClickHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeDoubleClickHdl()

_______________


ToolBox::Highlight()

virtual void ToolBox::Highlight();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer die Maustaste über einem ToolBox-Button gedrückt hält.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeHighlightHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeHighlightHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeHighlightHdl()

_______________


ToolBox::Select()

virtual void ToolBox::Select();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer die Maustaste über einem ToolBox-Button losläßt.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeSelectHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeSelectHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeSelectHdl()

_______________


ToolBox::Deactivate()

virtual void ToolBox::Deactivate();

Beschreibung

Dieser Handler wird immer dann gerufen, wenn der Benutzer die Maustaste über einem freien Bereich der ToolBox oder außerhalb der ToolBox wieder löst.

Falls der Handler nicht überladen wurde, wird in dieser Methode der Handler gerufen, der mit der Methode ToolBox::ChangeDeactivateHdl() installiert wurde. Wird im überladenen Handler diese Defaultbearbeitung gewünscht, so muß der Basisklassen-Handler explizit aufgerufen werden. Wurde mit der Methode ToolBox::ChangeDeactivateHdl() kein Handler installiert, so wird keine Aktion ausgelöst.

Querverweise

ToolBox::ChangeDeactivateHdl()

_______________


ToolBox::ToolBox( Window* pParent, WinBits nWinBits = 0)
ToolBox::ToolBox()

ToolBox::ToolBox( Window* pParent, WinBits nWinBits = 0 );

Beschreibung

Konstruktor der Klasse ToolBox. Es wird eine ToolBox mit dem Parent pParent erzeugt.

Parameter

Window* pParent	Der Parent der ToolBox.

WinBits nWinBits	Window-Style mit folgenden Stylebits:

WB_BORDER

Die ToolBox verfügt über einen Rahmen.

WB_SCROLL

Die ToolBox ist scrollbar.

WB_SVLOOK

Die ToolBox erscheint im StarView-Look. Wird das Flag nicht übergeben, so wird es durch den Parent gesetzt, wenn dieser das Flag WB_SVLOOK übergeben bekommen hat.

_______________


ToolBox::ToolBox( Window* pParent, const ResId& rResId )
ToolBox::ToolBox()

ToolBox::ToolBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse ToolBox.

Parameter

Window* pParent	Der Parent der ToolBox.

const ResId& rResId	Resource-Identifier der ToolBox.

Querverweise

Resource

_______________


ToolBox::~ToolBox()

ToolBox::~ToolBox();

Beschreibung

Destruktor der Klasse ToolBox.

_______________


ToolBox::InsertItem( const ResId& rResId, USHORT nPos = TOOLBOX_APPEND )
ToolBox::InsertItem()

BOOL ToolBox::InsertItem( const ResId& rResId, USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt ein neues Item aus der Resource in die ToolBox ein.

Parameter

const ResId& rResId	Der Resource-Identifier des neuen Items.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertItem()

BOOL ToolBox::InsertItem( USHORT nItemId, const Bitmap& rBitmap, USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen neuen-Button in die ToolBox ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

const Bitmap& rBitmap	Die Bitmap, die der Button darstellen soll.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertItem()

BOOL ToolBox::InsertItem( USHORT nItemId, const Bitmap& rBitmap,const Bitmap& rDisableBitmap,USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen neuen Button in die ToolBox ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

const Bitmap& rBitmap	Die Bitmap, die der Button darstellen soll.

const Bitmap& rDisableBitmap	Die Bitmap, die dann in dem Button gezeigt werden soll, wenn der Button disabled ist.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertItem()

BOOL ToolBox::InsertItem( USHORT nItemId,const Bitmap& rBitmap, const String& rText, USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen neuen Button in die ToolBox ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

const Bitmap& rBitmap	Die Bitmap für den SymbolText-Button.

const String& rText	Der Text für den SymbolText-Button.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertItem()

BOOL ToolBox::InsertItem( USHORT nItemId,const Bitmap& rBitmap, const Bitmap& rDisableBitmap,const String& rText,USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen neuen Button in die ToolBox ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

const Bitmap& rBitmap	Die Bitmap für den SymbolText-Button.

const Bitmap& rDisableBitmap	Die Bitmap, die dann in dem Button gezeigt werden soll, wenn der Button disabled ist.

const String& rText	Der Text für den SymbolText-Button.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertItem()

BOOL ToolBox::InsertItem( USHORT nItemId, const String& rText,USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen neuen Button in die ToolBox ein.

Parameter

USHORT nItemId	Der Identifier des neuen Items.

const String& rText	Der Text für den Text-Button.

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

Rückgabewert

BOOL	TRUE

Das Item konnte erfolgreich eingefügt werden.

FALSE

Das Item konnte nicht eingefügt werden.

_______________


ToolBox::InsertSpace( USHORT nPos = TOOLBOX_APPEND )
ToolBox::InsertSpace()

void ToolBox::InsertSpace( USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt ein leeres Item in die ToolBox ein. Dieses Item ist so groß wie ein Button und kann zur Ausrichtung einer mehrzeiligen ToolBox verwendet werden.

Parameter

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

_______________


ToolBox::InsertSeparator( USHORT nPos = TOOLBOX_APPEND )
ToolBox::InsertSeparator()

void ToolBox::InsertSeparator( USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen Separator als neues Item in die ToolBox ein.

Parameter

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

_______________


ToolBox::InsertBreak( USHORT nPos = TOOLBOX_APPEND )
ToolBox::InsertBreak()

void ToolBox::InsertBreak( USHORT nPos = TOOLBOX_APPEND );

Beschreibung

Die Methode fügt einen Zeilenumbruch als neues Item in die ToolBox ein. Dies wird für eine mehrzeilige ToolBox gebraucht, um eine neue Zeile bzw. Spalte anzufangen. Besitzt die ToolBox das Flag WB_SCROLL, wird durch diese Methode ein harter Zeilenumbruch eingefügt.

Parameter

USHORT nPos	Die Position des neuen Items innerhalb der ToolBox. Wird hier keine Angabe gemacht, so wird das neue Item hinter dem bisher letzten Item der ToolBox angehängt.

_______________


ToolBox::RemoveItem( USHORT nPos )
ToolBox::RemoveItem()

void ToolBox::RemoveItem( USHORT nPos );

Beschreibung

Die Methode entfernt das Item mit der angegebenen Position aus der ToolBox.

Parameter

USHORT nPos	Die Position des zu entfernenden Items innerhalb der ToolBox.

_______________


ToolBox::ChangeButtonType( ButtonType eNewType = BUTTON_SYMBOL )
ToolBox::ChangeButtonType()

ButtonType ToolBox::ChangeButtonType( ButtonType eNewType = BUTTON_SYMBOL );

Beschreibung

Die Methode ändert den Typ der Buttons.

Parameter

ButtonType eNewType	Der neue Button-Typ. Wird hier keine Angabe gemacht, so zeigen die Buttons eine Bitmap.

Rückgabewert

ButtonType	Der bisher gültige Button-Typ.

Querverweise

ButtonType

_______________


ToolBox::GetButtonType()

ButtonType ToolBox::GetButtonType() const;

Beschreibung

Die Methode ermittelt den Typ der Buttons.

Rückgabewert

ButtonType	Der gültige Button-Typ.

Querverweise

ButtonType

_______________


ToolBox::ChangeAlign( ToolBoxAlign eNewAlign = BOXALIGN_TOP )
ToolBox::ChangeAlign()

ToolBoxAlign ToolBox::ChangeAlign( ToolBoxAlign eNewAlign = BOXALIGN_TOP );

Beschreibung

Die Methode ändert die Positionierung der ToolBox.

Parameter

ToolBoxAlign eNewAlign	Die neue ToolBox-Positionierung. Wird hier keine Angabe gemacht, so wird die ToolBox am oberen Rand angezeigt.

Rückgabewert

ToolBoxAlign	Die bisher gültige Positionierung.

Querverweise

ToolBoxAlign

_______________


ToolBox::GetAlign()

ToolBoxAlign ToolBox::GetAlign() const;

Beschreibung

Die Methode ermittelt die Positionierung der ToolBox.

Rückgabewert

ToolBoxAlign	Die gültige Positionierung.

Querverweise

ToolBoxAlign

_______________


ToolBox::ChangeLineCount( USHORT nNewLines )
ToolBox::ChangeLineCount()

USHORT ToolBox::ChangeLineCount( USHORT nNewLines );

Beschreibung

Die Methode ändert die Anzahl der Zeilen der ToolBox.

Parameter

USHORT nNewLines	Die neue Anzahl der Zeilen der ToolBox.

Rückgabewert

USHORT	Die bisher gültige Zeilenanzahl.

_______________


ToolBox::GetLineCount()

USHORT ToolBox::GetLineCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der Zeilen der ToolBox.

Rückgabewert

USHORT	Die gültige Zeilenanzahl.

_______________


ToolBox::CopyItems( const ToolBox& rToolBox )
ToolBox::CopyItems()

void ToolBox::CopyItems( const ToolBox& rToolBox );

Beschreibung

Die Methode kopiert alle Items der angegebenen ToolBox und fügt sie in die aktuelle ToolBox ein. Diese Methode kann für umschaltbare ToolBoxen verwendet werden, um einfach alle Items einer ToolBox in eine andere zu kopieren.

Parameter

const ToolBox& rToolBox	Die ToolBox, aus der die Items kopiert werden sollen.

_______________


ToolBox::Clear();
ToolBox::Clear()

void ToolBox::Clear();

Beschreibung

Die Methode entfernt alle Items aus der ToolBox.

_______________


ToolBox::GetItemCount()

USHORT ToolBox::GetItemCount() const;

Beschreibung

Die Methode ermittelt die Anzahl der Items in der ToolBox.

Rückgabewert

USHORT	Die Anzahl der Items in der ToolBox.

_______________


ToolBox::GetItemId( USHORT nPos )
ToolBox::GetItemId()

USHORT ToolBox::GetItemId( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt die ID des Items, das sich innerhalb der ToolBox an der angegebenen Position befindet.

Parameter

USHORT nPos	An dieser Position innerhalb der ToolBox befindet sich das zu ermittelnde Item. Der größtmögliche Wert für nPos ist GetItemCount() - 1.

Rückgabewert

USHORT	Die ID des Items.

_______________


ToolBox::GetItemPos( USHORT nItemId )
ToolBox::GetItemPos()

USHORT ToolBox::GetItemPos( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt die Position des Items mit der angegebenen ID.

Parameter

USHORT nItemId	Die ID des zu ermittelnden Items.

Rückgabewert

USHORT	Die Position des Items innerhalb der ToolBox.

_______________


ToolBox::GetItemType( USHORT nPos )
ToolBox::GetItemType()

ToolBoxItemType ToolBox::GetItemType( USHORT nPos ) const;

Beschreibung

Die Methode ermittelt den Typ des Items an der angegebenen Position innerhalb der ToolBox.

Parameter

USHORT nPos	Die Position des zu ermittelnden Items.

Rückgabewert

ToolBoxItemType	Der Typ des Items.

Querverweise

ToolBoxItemType

_______________


ToolBox::GetItemRect( USHORT nItemId )
ToolBox::GetItemRect()

Rectangle ToolBox::GetItemRect( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt das Rechteck, das das angegebene Item umschließt.

Parameter

USHORT nItemId	Die ID des zu ermittelnden Items.

Rückgabewert

Rectangle	Das Rechteck, das das angegebene Item umschließt.

_______________


ToolBox::GetCurItemId()

USHORT ToolBox::GetCurItemId() const;

Beschreibung

Die Methode ermittelt die ID des aktuellen Items der ToolBox.

Rückgabewert

USHORT	Die ID des aktuellen Items.

_______________


ToolBox::CheckItem( USHORT nItemId, BOOL bCheck = TRUE )
ToolBox::CheckItem()

void ToolBox::CheckItem( USHORT nItemId, BOOL bCheck = TRUE );

Beschreibung

Die Methode markiert das Item mit der angegebenen ID als eingeschaltet bzw. schaltet die bestehende Markierung aus.

Parameter

USHORT nItemId	Die ID des Items.

BOOL bCheck	TRUE

Das Item soll markiert werden.

FALSE

Die Markierung soll entfernt werden.

_______________


ToolBox::IsItemChecked( USHORT nItemId )
ToolBox::IsItemChecked()

BOOL ToolBox::IsItemChecked( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt, ob das Item mit der angegebenen ID als eingeschaltet markiert ist.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

BOOL	TRUE

Das Item ist markiert.

FALSE

Das Item ist nicht markiert.

_______________


ToolBox::EnableItem( USHORT nItemId,BOOL bEnable = TRUE)
ToolBox::EnableItem()

void ToolBox::EnableItem( USHORT nItemId,BOOL bEnable = TRUE);

Beschreibung

Die Methode schaltet das Item mit der angegebenen ID aktivierbar bzw. nicht aktivierbar.

Parameter

USHORT nItemId	Die ID des Items.

BOOL bEnable	TRUE

Das Item soll aktivierbar geschaltet werden.

FALSE

Das Item soll nicht aktivierbar geschaltet werden.

_______________


ToolBox::IsItemEnabled( USHORT nItemId )
ToolBox::IsItemEnabled()

BOOL ToolBox::IsItemEnabled( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt, ob das Item mit der angegebenen ID aktivierbar geschaltet ist.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

BOOL	TRUE

Das Item ist aktivierbar.

FALSE

Das Item ist nicht aktivierbar.

_______________


ToolBox::SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap)
ToolBox::SetItemBitmap()

void ToolBox::SetItemBitmap( USHORT nItemId, const Bitmap& rBitmap);

Beschreibung

Die Methode setzt eine neue Bitmap in das angegebene Item.

Parameter

USHORT nItemId	Die ID des Items.

const Bitmap& rBitmap	Die neue Bitmap für das Item.

_______________


ToolBox::GetItemBitmap( USHORT nItemId )
ToolBox::GetItemBitmap()

Bitmap ToolBox::GetItemBitmap( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt die Bitmap des angegebene Items.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

Bitmap	Die für das Item gültige Bitmap.

_______________


ToolBox::SetItemDisableBitmap( USHORT nItemId,const Bitmap& rBitmap )
ToolBox::SetItemDisableBitmap()

void ToolBox::SetItemDisableBitmap( USHORT nItemId,const Bitmap& rBitmap );

Beschreibung

Die Methode setzt eine neue Bitmap in das angegebene Item, die dann angezeigt werden soll, wenn der Button disabled ist.

Parameter

USHORT nItemId	Die ID des Items.

const Bitmap& rBitmap	Die neue Bitmap für das nicht aktivierbare Item.

_______________


ToolBox::GetItemDisableBitmap( USHORT nItemId )
ToolBox::GetItemDisableBitmap()

Bitmap ToolBox::GetItemDisableBitmap( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt die Bitmap, die in dem angegebenen Item dann angezeigt wird, wenn dieser Button disabled ist.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

Bitmap	Die Bitmap, die in dem angegebenen Item dann angezeigt wird, wenn dieser Button disabled ist.

_______________


ToolBox::SetItemText(USHORT nItemId,const String& rText )
ToolBox::SetItemText()

void ToolBox::SetItemText(USHORT nItemId,const String& rText );

Beschreibung

Die Methode setzt einen neuen Text in das angegebene Item.

Parameter

USHORT nItemId	Die ID des Items.

const String& rText	Der neue Text für das Item.

_______________


ToolBox::GetItemText( USHORT nItemId )
ToolBox::GetItemText()

String ToolBox::GetItemText( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt den gesetzten Text des angegebenen Items.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

String	Der gültige Text des Items.

_______________


ToolBox::SetHelpText( USHORT nItemId, const String& rString )
ToolBox::SetHelpText()

void ToolBox::SetHelpText( USHORT nItemId, const String& rString );

Beschreibung

Die Methode setzt einen neuen Hilfetext für das angegebene Item.

Parameter

USHORT nItemId	Die ID des Items.

const String& rString	Der neue Hilfetext für das Item.

_______________


ToolBox::GetHelpText( USHORT nItemId )
ToolBox::GetHelpText()

String ToolBox::GetHelpText( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt den gültigen Hilfetext für das angegebene Item.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

String	Der gültige Hilfetext für das Item.

_______________


Toolbox::Enable()

void Toolbox::Enable();

Beschreibung

Rückgabe

Querverweise

_______________


Toolbox::Disable()

void Toolbox::Disable();

Beschreibung

_______________


ToolBox::ChangeHelpId( USHORT nItemId, ULONG nHelpId )
ToolBox::ChangeHelpId()

ULONG ToolBox::ChangeHelpId( USHORT nItemId, ULONG nHelpId );

Beschreibung

Die Methode setzt eine neue Hilfe-ID für das angegebene Item. Mit dieser Hilfe-ID wird die Hilfe gestartet, wenn für dieses Item die kontextsensitive Hilfe angefordert wird.

Parameter

USHORT nItemId	Die ID des Items.

ULONG nHelpId	Die neue Hilfe-ID für das Item.

_______________


ToolBox::GetHelpId( USHORT nItemId )
ToolBox::GetHelpId()

ULONG ToolBox::GetHelpId( USHORT nItemId ) const;

Beschreibung

Die Methode ermittelt die für das angegebene Item gesetzte Hilfe-ID.

Parameter

USHORT nItemId	Die ID des zu überprüfenden Items.

Rückgabewert

ULONG	Die für das Item gültige Hilfe-ID.

_______________


ToolBox::CalcWindowSizePixel()

Size ToolBox::CalcWindowSizePixel() const;

Beschreibung

Die Methode berechnet die auf Grund der aktuellen Einstellungen benötigte Größe der ToolBox.

Rückgabewert

Size	Die benötigte ToolBox-Größe.

_______________


ToolBox::ChangeActivateHdl( const Link& rLink )
ToolBox::ChangeActivateHdl()

Link ToolBox::ChangeActivateHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer erstmalig die ToolBox aktiviert.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer erstmalig die ToolBox aktiviert. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::Activate( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::Activate()

_______________


ToolBox::GetActivateHdl()

Link ToolBox::GetActivateHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer erstmalig die ToolBox aktiviert.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


ToolBox::ChangeClickHdl( const Link& rLink )
ToolBox::ChangeClickHdl()

Link ToolBox::ChangeClickHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox die Maustaste herunterdrückt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox die Maustaste herunterdrückt. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::Click( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::Click()

_______________


ToolBox::GetClickHdl()

Link ToolBox::GetClickHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox die Maustaste herunterdrückt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


ToolBox::ChangeDoubleClickHdl( const Link& rLink )
ToolBox::ChangeDoubleClickHdl()

Link ToolBox::ChangeDoubleClickHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox einen Doppelklick mit der Maus ausführt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox einen Doppelklick mit der Maus ausführt. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::DoubleClick( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::DoubleClick()

_______________


ToolBox::GetDoubleClickHdl()

Link ToolBox::GetDoubleClickHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer über einem Button in der ToolBox einen Doppelklick mit der Maus ausführt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


ToolBox::ChangeHighlightHdl( const Link& rLink )
ToolBox::ChangeHighlightHdl()

Link ToolBox::ChangeHighlightHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer die Maustaste über einem Button der ToolBox gedrückt hält.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer die Maustaste über einem Button der ToolBox gedrückt hält. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::Highlight( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::Highlight()

_______________


ToolBox::GetHighlightHdl()

Link ToolBox::GetHighlightHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer die Maustaste über einem Button der ToolBox gedrückt hält.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


ToolBox::ChangeSelectHdl( const Link& rLink )
ToolBox::ChangeSelectHdl()

Link ToolBox::ChangeSelectHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer einen Button der ToolBox durch Loslassen der Maustaste über diesem Button auswählt.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer einen Button der ToolBox durch Loslassen der Maustaste über diesem Button auswählt. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::Select( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::Select()

_______________


ToolBox::GetSelectHdl()

Link ToolBox::GetSelectHdl() const;

Beschreibung

Diese Methode ermittelt den Handler, der gerufen wird, wenn der Benutzer einen Button der ToolBox durch Loslassen der Maustaste über diesem Button auswählt.

Rückgabewert

Link	Der Link zeigt auf den Handler.

_______________


ToolBox::ChangeDeactivateHdl( const Link& rLink )
ToolBox::ChangeDeactivateHdl()

Link ToolBox::ChangeDeactivateHdl( const Link& rLink );

Beschreibung

Diese Methode setzt den Handler, der gerufen wird, wenn der Benutzer die Maustaste über einem freien Bereich der ToolBox oder außerhalb der ToolBox wieder löst.

Parameter

const Link& rLink	Der Link zeigt auf den Handler, der gerufen wird, wenn der Benutzer die Maustaste über einem freien Bereich der ToolBox oder außerhalb der ToolBox wieder löst. Als Parameter erhält der Handler einen Zeiger auf die ToolBox.

Prototyp des Handlers:

void MyClass::Deactivate( ToolBox* pToolBox );

Die Klasse MyClass muß von LinkHdl abgeleitet sein.

Rückgabewert

Link	Der Link enthält den alten Handler.

Querverweise

Link, ToolBox::Deactivate()

_______________


ToolBox::GetDeactivateHdl()

Link ToolBox::GetDeactivateHdl() const;

Beschreibung

Diese Methode liefert den Handler zurück, der gerufen wird, wenn der Benutzer die Maustaste über einem freien Bereich der ToolBox oder außerhalb der ToolBox wieder löst.

Rückgabewert

Link	Der Link zeigt auf den Handler.

Querverweise

Link

_______________


TriStateBox

enum TriState	{ STATE_NOCHECK, STATE_CHECK, STATE_DONTKNOW };

class TriStateBox : public Button

{

public:

TriStateBox( Window* pParent, WinBits nWinStyle = 0 );

TriStateBox( Window* pParent, const ResId& rResId );

TriState	ChangeState( TriState eState );

TriState	GetState() const;

void	EnableTriState( BOOL bTriState = TRUE );

BOOL	IsTriStateEnabled() const;

};

Beschreibung

Die Klasse TriStateBox wird eingesetzt, wenn ein Status über ein Control angezeigt werden soll. Wenn die TriStateBox betätigt wird, wird der Click-Handler der Klasse Button gerufen. Der Status kann mit der Methode ChangeState() gesetzt und mit der Methode GetState() abgefragt werden. Die TriStateBox kennt die Status STATE_NOCHECK und STATE_CHECK. Soll die TriStateBox den Status STATE_DONTKNOW einnehmen, muß sie im TriState-Modus sein, der diesen Zustand gestattet. Als Voreinstellung kann der Status STATE_DONTKNOW ausgewählt werden.

Der Status wird automatisch umgeschaltet und kann mit der Methode GetState() abgefragt werden. Wenn der Click-Handler gerufen wird, ist der neue Status bereits gesetzt.

Basisklassen

Button : Control : Window : OutputDevice : Resource : LinkHdl

_______________


enum TriState

enum TriState	{ STATE_NOCHECK, STATE_CHECK, STATE_DONTKNOW };

STATE_NOCHECK	Die Markierung wird ausgeschaltet.

STATE_CHECK	Die Markierung wird angeschaltet.

STATE_DONTKNOW	Die TriStateBox wird in den dritten Zustand (Don't Know) gebracht.

_______________


TriStateBox::TriStateBox( Window* pParent, WinBits nWinStyle = 0 )
TriStateBox::TriStateBox()

TriStateBox::TriStateBox( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse TriStateBox. Der TriState-Modus wird eingeschaltet.

Parameter

Window* pParent	Der Parent der TriStateBox.

WinBits nWinStyle	Stylebits mit folgender Bedeutung:

WB_TABSTOP

Die Weiterschaltung des Focus mit Hilfe der

Tabulatortaste ist möglich.

WB_GROUP

Beginn bzw. Ende einer Gruppe.

_______________


TriStateBox::TriStateBox( Window* pParent, const ResId& rResId )
TriStateBox::TriStateBox()

TriStateBox::TriStateBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse TriStateBox.

Parameter

Window* pParent	Der Parent der TriStateBox.

const ResId& rResId	Die ID der TriStateBox in der Resource.

Querverweise

Resource

_______________


TriStateBox::ChangeState( TriState eState )
TriStateBox::ChangeState()

TriState TriStateBox::ChangeState( TriState eState );

Beschreibung

Durch Aufruf dieser Methode wird die Markierung der TriStateBox an-, aus- oder in den Zustand STATE_DONTKNOW geschaltet.

Parameter

TriState eState	Der Status, der gesetzt werden soll.

Rückgabewert

TriState	Der alte Zustand der TriStateBox.

Ausnahmen

Ist die TriStateBox nicht im TriState-Modus und wird die Methode ChangeState() mit dem Wert STATE_DONTKNOW aufgerufen, ändert sich der Status der TriStateBox nicht. Als Rückgabewert wird der alte Status geliefert.

_______________


TriStateBox::GetState()

TriState TriStateBox::GetState() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, in welchem Zustand sich die TriStateBox befindet.

Rückgabewert

TriState	Der Zustand der TriStateBox.

_______________


TriStateBox::EnableTriState( BOOL bTriState = TRUE )
TriStateBox::EnableTriState()

void TriStateBox::EnableTriState( BOOL bTriState = TRUE );

Beschreibung

Mit dieser Methode wird die TriStateBox in den Modus gebracht, der auch den Status STATE_DONTKNOW akzeptiert. Der aktuelle Status der TriStateBox bleibt beim Aufruf dieser Methode erhalten.

Parameter

BOOL bTriState	TRUE

Der TriState-Modus wird eingeschaltet.

FALSE

Der TriState-Modus wird ausgeschaltet.

Ausnahmen

Ist die TriStateBox im Status  STATE_DONTKNOW, und der TriState-Modus wird ausgeschaltet, befindet sich die TriStateBox anschließend im Status

STATE_NOCHECK.

_______________


TriStateBox::IsTriStateEnabled()

BOOL TriStateBox::IsTriStateEnabled();

Beschreibung

Mit dieser Methode wird geprüft, ob sich die TriStateBox im TriState-Modus befindet. Nur dieser Modus gestattet es, daß die TriStateBox in den Status

STATE_DONTKNOW gebracht werden kann.

Rückgabewert

BOOL	TRUE

Die TriStateBox befindet sich im TriState-Modus, d.h. der Status STATE_DONTKNOW kann gesetzt werden.

FALSE

Die TriStateBox befindet sich nicht im TriState-Modus, d.h. der Status STATE_DONTKNOW kann nicht gesetzt werden.

_______________


UniqueIndex

#define UNIQUEINDEX_ENTRY_NOTFOUND  CONTAINER_ENTRY_NOTFOUND

class UniqueIndex : private Container

{

public:

UniqueIndex( ULONG nStartIndex= 0, ULONG nInitSize= 16,ULONG nReSize= 16);

UniqueIndex( const UniqueIndex& rIdx );

~UniqueIndex();

ULONG	Insert( void* p );

void*	Remove( ULONG nIndex );

void*	Replace( ULONG nIndex, void* p );

void*	Get( ULONG nIndex ) const;

void	Clear();

ULONG	Count() const;

void*	GetCurObject() const;

ULONG	GetCurIndex() const;

ULONG	GetIndex( const void* p ) const;

BOOL	IsIndexValid( ULONG nIndex ) const;

void*	Seek( ULONG nIndex );

void*	Seek( void* p );

void*	First();

void*	Last();

void*	Next();

void*	Prev();

UniqueIndex&	operator =( const UniqueIndex& rIdx );

BOOL	operator ==( const UniqueIndex& rIdx ) const;

BOOL	operator !=( const UniqueIndex& rIdx ) const;

};

Beschreibung

Die Klasse UniqueIndex speichert Zeiger. Zu jedem Zeiger wird ein eindeutiger Index verwaltet. Die Speicherung von Zeigern anstelle von Objekten hat den Vorteil, daß z.B. beliebige Objekte verwaltet werden können. Üblicherweise sind nur Zeiger eines bestimmten Typs in der UniqueIndex-Instanz erwünscht; diese Typenprüfung kann mit Hilfe des DECLARE-Makros sichergestellt werden.

Die Klasse UniqueIndex arbeitet nur mit den Zeigern und deren Index, die Objekte, auf die die Zeiger verweisen, werden weder kopiert noch manipuliert.

Die Index-Tabelle ist so organisiert, daß mit dem Index direkt und damit sehr schnell auf den Zeiger zugegriffen werden kann. Um den Zugriff auch ohne Index zu ermöglichen, gibt es verschiedene Methoden für das Durchsuchen der Index-Tabelle.

Ausnahmen

Es dürfen keine NULL-Zeiger übergeben oder gespeichert werden.

Basisklassen

Container

_______________


DECLARE_UNIQUEINDEX( ClassName, Type )
DECLARE_UNIQUEINDEX()

DECLARE_UNIQUEINDEX( ClassName, Type )

Beschreibung

Die Klasse UniqueIndex speichert ausschließlich typenlose Zeiger (void*). Soll eine Index-Tabelle erzeugt werden, die nur Zeiger eines bestimmten Typs verarbeitet, so muß eine Ableitung der Klasse UniqueIndex erzeugt werden, die mit dem entsprechenden Zeigertyp arbeitet. Die Ableitung wird mit Hilfe dieses Makros vereinfacht; die Größe der Datenstruktur darf den Wert von sizeof(void*) nicht überschreiten. Das Makro sorgt nicht dafür, daß die Daten, auf die die Zeiger zeigen, angelegt oder gelöscht werden.

Parameter

ClassName	Der Name der abgeleiteten Klasse.

Type	Der Datentyp, den die Index-Tabelle verwalten soll.

Beispiel

// Mit Hilfe des Makros DECLARE_UNIQUEINDEX() wird eine Ableitung

// der Klasse UniqueIndex erzeugt; diese verarbeitet ausschließlich

// Zeiger auf Instanzen der Klasse MyStruct.

struct MyStruct

{

...

};

DECLARE_UNIQUEINDEX( MyIndex, MyStruct* );

...

MyIndex aIndex( 0, 100, 0 );

aIndex.Insert( new MyStruct(...) );

...

_______________


UniqueIndex::UniqueIndex( ULONG nStartIndex = 0, ULONG nInitSize = 16, ULONG nReSize = 16)
UniqueIndex::UniqueIndex()

UniqueIndex::UniqueIndex( ULONG nStartIndex = 0, ULONG nInitSize = 16, ULONG nReSize = 16);

Beschreibung

Konstruktor der Klasse UniqueIndex. Bei diesem Konstruktor können der Start-Index, die Initialgröße und die Reallokierungsgröße eingestellt werden. Dieser Konstruktor wird auch als Default-Konstruktor verwendet.

Mit dem Start-Index ist es möglich, die unterste Indexgrenze vorzugeben; mit den anderen beiden Werten kann die Speicherverwaltung der Klasse beeinflußt werden.

Parameter

ULONG nStartIndex	Die unterste Indexgrenze; alle Indexwerte sind größer oder gleich dem übergebenen Wert.

ULONG nInitSize	Die Anzahl der Zeiger, die nach dem Erzeugen der Index-Tabelle gespeichert werden können, ohne neuen Speicherplatz anzulegen. Die Initialgröße sollte ein Vielfaches der Reallokierungsgröße sein. Ist der Parameter 0, so wird der Wert von der Index-Tabelle vorgegeben.

ULONG nReSize	Die Anzahl der Zeiger, um die die Index-Tabelle erweitert wird, wenn neuer Speicherplatz angelegt werden muß. Ist der Parameter 0, so wird der Wert von der Index-Tabelle vorgegeben.

_______________


UniqueIndex::UniqueIndex( const UniqueIndex& rIdx )
UniqueIndex::UniqueIndex()

UniqueIndex::UniqueIndex( const UniqueIndex& rIdx );

Beschreibung

Copy-Konstruktor der Klasse UniqueIndex. Dieser Konstruktor kopiert alle gespeicherten Zeiger sowie die internen Werte der übergebenen Index-Tabelle. Die Daten, auf die die Zeiger zeigen, werden nicht kopiert.

Parameter

const UniqueIndex& rIdx	Die Index-Tabelle, von der die Zeiger und die internen Werte kopiert werden sollen.

_______________


UniqueIndex::~UniqueIndex()

UniqueIndex::~UniqueIndex();

Beschreibung

Destruktor der Klasse UniqueIndex. Alle von der Index-Tabelle angelegten Daten werden freigegeben, jedoch nicht die Daten, auf die die verwalteten Zeiger zeigen.

_______________


UniqueIndex::Insert( void* p )
UniqueIndex::Insert()

ULONG UniqueIndex::Insert( void* p );

Beschreibung

Der übergebene Zeiger wird in der Index-Tabelle gespeichert; zurückgegeben wird der eindeutige Index, über den auf den Zeiger zugegriffen werden kann. Wird ein NULL-Zeiger übergeben, so hat der Aufruf keine Wirkung.

Parameter

void* p	Der Zeiger, der in der Index-Tabelle gespeichert wird.

Rückgabewert

ULONG	Der eindeutige Index, über den auf den übergebenen Zeiger zugegriffen werden kann. Wurde ein NULL-Zeiger übergeben, so wird

UNIQUEINDEX_ENTRY_NOTFOUND zurückgegeben.

_______________


UniqueIndex::Remove( ULONG nIndex )
UniqueIndex::Remove()

void* UniqueIndex::Remove( ULONG nIndex );

Beschreibung

Der übergebene Index und der zum Index gehörende Zeiger werden aus der Index-Tabelle entfernt. Nach diesem Aufruf kann nicht mehr über den Index auf den Zeiger zugegriffen werden. Der Index kann nach Aufruf von Insert() wieder neu verwaltet werden.

Parameter

ULONG nIndex	Der Index, der entfernt werden soll. Ist der Index nicht gespeichert, so wird kein Zeiger entfernt.

Rückgabewert

void*	Der entfernte Zeiger. Ist der Index nicht gespeichert, so wird NULL zurückgegeben.

_______________


UniqueIndex::Replace( ULONG nIndex, void* p )
UniqueIndex::Replace()

void* UniqueIndex::Replace( ULONG nIndex, void* p );

Beschreibung

Der zum übergebenen Index gespeicherte Zeiger wird durch den übergebenen Zeiger ersetzt. Wird ein NULL-Zeiger übergeben, so hat der Aufruf keine Wirkung.

Parameter

ULONG nIndex	Der Index, dessen Zeiger ersetzt werden soll. Ist der Index nicht gespeichert, so wird kein Zeiger ersetzt.

void* p	Der Zeiger, der zum übergebenen Index gespeichert werden soll.

Rückgabewert

void*	Der Zeiger, der ersetzt wurde. Ist der Index nicht gespeichert oder wurde ein NULL-Zeiger übergeben, so wird NULL zurückgegeben.

_______________


UniqueIndex::Get( ULONG nIndex )
UniqueIndex::Get()

void* UniqueIndex::Get( ULONG nIndex ) const;

Beschreibung

Der zum Index nIndex gehörende Zeiger wird zurückgegeben.

Parameter

ULONG nIndex	Der Index, dessen dazugehöriger Zeiger zurückgegeben werden soll.

Rückgabewert

void*	Der Zeiger, der zum übergebenen Index gehört. Ist der Index nicht gespeichert, so wird NULL zurückgegeben.

_______________


UniqueIndex::Clear()

void UniqueIndex::Clear();

Beschreibung

Alle gespeicherten Zeiger und Indizes werden gelöscht. Die Daten, auf die die Zeiger zeigen, werden nicht gelöscht. Die Index-Tabelle ist nach Aufruf dieser Methode leer.

_______________


UniqueIndex::Count()

ULONG UniqueIndex::Count() const;

Beschreibung

Die Anzahl der Zeiger in der Tabelle wird zurückgegeben, Der Index mit dem größten Wert kann größer als Start-Index+Count() sein.

Rückgabewert

ULONG	Die Anzahl der in der Index-Tabelle gespeicherten Zeiger.

_______________


UniqueIndex::GetCurObject()

void* UniqueIndex::GetCurObject() const;

Beschreibung

Der Zeiger, auf den der interne Positionszeiger zeigt, wird zurückgegeben. Dieser Zeiger wird mit den Methoden Seek(), First(), Last(), Next() und Prev() gesetzt.

Rückgabewert

void*	Der Zeiger, auf den der interne Positionszeiger zeigt, oder NULL, wenn die Index-Tabelle leer ist.

_______________


UniqueIndex::GetCurIndex()

ULONG UniqueIndex::GetCurIndex() const;

Beschreibung

Der Index, auf den der Positionszeiger zeigt, wird zurückgegeben. Dieser Zeiger wird mit den Methoden Seek(), First(), Last(), Next() und Prev() gesetzt.

Rückgabewert

ULONG	Der Index, auf den der Positionszeiger zeigt, oder

UNIQUEINDEX_ENTRY_NOTFOUND, wenn die Index-Tabelle leer ist.

_______________


UniqueIndex::GetIndex( const void* p )
UniqueIndex::GetIndex()

ULONG UniqueIndex::GetIndex( const void* p ) const;

Beschreibung

Der zum übergebenen Zeiger gehörende Index wird zurückgegeben. Ist der Zeiger mehr als einmal enthalten, so wird der Index mit dem kleinsten Wert zurückgegeben.

Parameter

const void* p	Der Zeiger, dessen Index zurückgegeben werden soll.

Rückgabewert

ULONG	Der Index mit dem kleinsten Wert, der zum übergebenen Zeiger gehört. Befindet sich der Zeiger nicht in der Index-Tabelle, so wird

UNIQUEINDEX_ENTRY_NOTFOUND zurückgegeben.

_______________


UniqueIndex::IsIndexValid( ULONG nIndex )
UniqueIndex::IsIndexValid()

BOOL UniqueIndex::IsIndexValid( ULONG nIndex ) const;

Beschreibung

Es wird geprüft, ob der übergebene Index in der Index-Tabelle enthalten ist.

Parameter

ULONG nIndex	Der Index, dessen Vorhandensein geprüft werden soll.

Rückgabewert

BOOL	TRUE

Der Index ist in der Index-Tabelle enthalten.

FALSE

Der Index ist nicht in der Index-Tabelle enthalten.

_______________


UniqueIndex::Seek( ULONG nIndex )
UniqueIndex::Seek()

void* UniqueIndex::Seek( ULONG nIndex );

Beschreibung

Ein interner Positionszeiger wird auf den übergebenen Index-Eintrag gesetzt. Dieser Zeiger wird mit Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird. Ist der Index nicht enthalten, so hat der Aufruf keine Wirkung.

Parameter

ULONG nIndex	Der Index, auf den der interne Positionszeiger zeigen soll.

Rückgabewert

void*	Der Zeiger, der zum übergebenen Index gehört. Ist der Index nicht in der Index-Tabelle enthalten, so wird NULL zurückgegeben.

_______________


UniqueIndex::Seek( void* p )
UniqueIndex::Seek()

void* UniqueIndex::Seek( void* p );

Beschreibung

Ein interner Positionszeiger wird auf den ersten gefundenen Index-Eintrag gesetzt, der den übergebenen Zeiger beinhaltet. Dieser Zeiger wird bei Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird. Ist der Zeiger nicht enthalten, hat der Aufruf keine Wirkung.

Parameter

void* p	Der Zeiger, auf den der interne Positionszeiger zeigen soll.

Rückgabewert

void*	Der übergebene Zeiger. Ist der Zeiger nicht in der Index-Tabelle enthalten, so wird NULL zurückgegeben.

_______________


UniqueIndex::First()

void* UniqueIndex::First();

Beschreibung

Ein interner Positionszeiger wird auf den ersten Index-Eintrag gesetzt. Dieser Zeiger wird mit Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der erste Zeiger, der in der Index-Tabelle steht. Ist die Index-Tabelle leer, so wird NULL zurückgegeben.

_______________


UniqueIndex::Last()

void* UniqueIndex::Last();

Beschreibung

Es wird intern ein Positionszeiger auf den letzten Index-Eintrag gesetzt. Dieser wird bei Next() und Prev() weitergeschaltet. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der letzte Zeiger, der in der Index-Tabelle steht. Ist die Index-Tabelle leer, so wird NULL zurückgegeben.

_______________


UniqueIndex::Next()

void* UniqueIndex::Next();

Beschreibung

Der Positionszeiger wird auf den nächsten Zeiger weitergeschaltet. Steht der Positionszeiger auf dem Tabellenende, hat der Aufruf keine Wirkung. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der Zeiger, auf den der interne Positionszeiger zeigt. Ist die Index-Tabelle leer oder steht der Positionszeiger auf dem Tabellenende, so wird NULL zurückgegeben.

_______________


UniqueIndex::Prev()

void* UniqueIndex::Prev();

Beschreibung

Der Positionszeiger wird auf den vorherigen Zeiger weitergeschaltet. Steht der Positionszeiger auf dem Tabellenanfang, hat der Aufruf keine Wirkung. Es muß dafür gesorgt werden, daß nach einer Hinzufüge- oder Löschoperation der Positionszeiger mit First(), Last() oder Seek() neu gesetzt wird.

Rückgabewert

void*	Der Zeiger, auf den der interne Positionszeiger zeigt. Ist die Index-Tabelle leer oder steht der Positionszeiger auf dem Tabellenanfang, so wird NULL zurückgegeben.

_______________


UniqueIndex::operator =( const UniqueIndex& rIdx )
UniqueIndex::operator =()

UniqueIndex& UniqueIndex::operator =( const UniqueIndex& rIdx );

Beschreibung

Zuweisungsoperator der Klasse UniqueIndex. Dieser Operator löscht alle Daten und kopiert alle gespeicherten Zeiger sowie die internen Werte der übergebenen Index-Tabelle. Die Daten, auf die die Zeiger zeigen, werden nicht gelöscht und nicht kopiert.

Parameter

const UniqueIndex& rIdx	Die Index-Tabelle, von der die Zeiger und die internen Werte übernommen werden sollen.

Rückgabewert

UniqueIndex&	Referenz auf die eigene Instanz; damit sind Mehrfachzuweisungen möglich.

_______________


UniqueIndex::operator ==( const UniqueIndex& rIdx ) const
UniqueIndex::operator ==()
UniqueIndex::operator !=()

BOOL UniqueIndex::operator ==( const UniqueIndex& rIdx ) const;

BOOL UniqueIndex::operator !=( const UniqueIndex& rIdx ) const;

Beschreibung

Vergleichsoperatoren der Klasse UniqueIndex. Diese Operatoren prüfen, ob beide Index-Tabellen die gleichen Indizes enthalten und ob die dazugehörenden Zeiger auf dieselben Daten zeigen.

Parameter

const UniqueIndex& rIdx	Die Index-Tabelle, mit der verglichen wird.

Rückgabewert

BOOL	TRUE

Die Vergleichsbedingung ist erfüllt.

FALSE

Die Vergleichsbedingung ist nicht erfüllt.

_______________


VirtualDevice

class VirtualDevice : public OutputDevice

{

public:

 	VirtualDevice();

VirtualDevice( const OutputDevice& rCompDev );

virtual	~VirtualDevice();

BOOL	SetOutputSize( const Size& rSize, BOOL bErase= TRUE );

BOOL	SetOutputSizePixel( const Size& rSize, BOOL bErase = TRUE);

Size	GetOutputSizePixel() const;

};

Beschreibung

Ein virtuelles Device ist ein vollwertiges OutputDevice; die Ausgaben werden im RAM gehalten. Bei der Erzeugung eines virtuellen Devices wird ein Zeiger auf ein physikalisches Device (Printer, Window) übergeben. Das virtuelle Device erbt dabei die Eigenschaften des physikalischen Devices (Anzahl Planes, Bits per Pixel usw.).

Ein virtuelles Device wird in erster Linie dazu verwendet, unsichtbar im Hintergrund zu zeichnen und das Ergebnis anschließend in ein anderes Device zu kopieren.

Außerdem kann ein virtuelles Device dazu dienen, Bitmaps vorzubereiten; diese können anschließend auf einem anderen Device dargestellt werden.

Basisklassen

OutputDevice : Resource

Querverweise

Bitmap

_______________


VirtualDevice::VirtualDevice()

VirtualDevice::VirtualDevice();

-

Beschreibung

Default-Konstruktor der Klasse VirtualDevice. Das erzeugte Device ist bildschirmkompatibel.

_______________


VirtualDevice::VirtualDevice( const OutputDevice& rCompDev )
VirtualDevice::VirtualDevice()

VirtualDevice::VirtualDevice( const OutputDevice& rCompDev );

Beschreibung

Konstruktor der Klasse VirtualDevice. Nach dem Erzeugen des Devices erhält dieses die Größe 1x1 Pixel und ist mit der Default-Background-Brush initialisiert (weiß). Die Anzahl der möglichen Farben und deren Darstellung im Speicher (Planes und Bits per Pixel ) entsprechen den Eigenschaften des übergebenen OutputDevices.

Die Applikation sollte das OutputDevice übergeben, auf dem das Ergebnis der nachfolgenden Ausgabeoperationen dargestellt werden soll. Nur so können Qualitätsverluste bei der Darstellung auf dem Ziel-Device vermieden werden.

Parameter

const OutputDevice& rCompDev	Referenz auf das OutputDevice, von dem die Eigenschaften geerbt werden sollen.

Anmerkungen

Die vom OutputDevice übernommenen Eigenschaften beziehen sich nicht auf die Einstellungen (Ausgabewerkzeuge, MapMode usw.), die im OutputDevice aktiv sind. Nach dem Erzeugen des virtuellen Devices kann die im Parameter angegebene Referenz auf ein OutputDevice ungültig werden, da sie lediglich zur Initialisierung des virtuellen Devices dient.

Querverweise

OutputDevice

_______________


VirtualDevice::~VirtualDevice( const OutputDevice& rCompDev )
VirtualDevice::~VirtualDevice()

VirtualDevice::~VirtualDevice( const OutputDevice& rCompDev );

Beschreibung

Destruktor der Klasse VirtualDevice.

_______________


VirtualDevice::SetOutputSize( const Size& rSize, BOOL bErase = TRUE )
VirtualDevice::SetOutputSize()

BOOL VirtualDevice::SetOutputSize( const Size& rSize, BOOL bErase = TRUE );

Beschreibung

Der Aufruf von SetOutputSize() setzt eine neue Größe der Zeichenfläche für das virtuelle Device in logischen Einheiten.

Parameter

const Size& rSize	Die neue Größe der Zeichenfläche in logischen Einheiten.

BOOL bErase	TRUE

Nach dem Setzen der Größe wird das virtuelle Device gelöscht.

FALSE

Nach dem Setzen der Größe bleibt der Inhalt des virtuellen Devices erhalten. Ist das Device größer geworden, so wird die neue Fläche mit der eingestellten Background-Brush initialisiert. Ist das Device kleiner geworden, so wird der Inhalt abgeschnitten.

Rückgabewert

BOOL	TRUE

Erfolgreiche Durchführung.

FALSE

Ein Fehler ist aufgetreten. Die häufigste Fehlerquelle ist Speichermangel. Die Größe des virtuellen Devices ist anschließend 1x1 Pixel.

Querverweise

OutputDevice::GetOutputSize()

_______________


VirtualDevice::SetOutputSizePixel()

BOOL VirtualDevice::SetOutputSizePixel( const Size& rSize, BOOL bErase =TRUE);

Beschreibung

Der Aufruf von SetOutputSizePixel() setzt eine neue Größe der Zeichenfläche für das virtuelle Device in Pixeln.

Parameter

const Size& rSize	Die neue Größe der Zeichenfläche in Pixeln.

BOOL bErase	TRUE

Nach dem Setzen der Größe wird das virtuelle Device gelöscht.

FALSE

Nach dem Setzen der Größe bleibt der Inhalt des virtuellen Devices erhalten. Ist das Device größer geworden, so wird die neue Fläche mit der eingestellten Background-Brush initialisiert. Ist das Device kleiner geworden, so wird der Inhalt abgeschnitten.

Rückgabewert

BOOL	TRUE

Erfolgreiche Durchführung.

FALSE

Ein Fehler ist aufgetreten. Die häufigste Fehlerquelle ist Speichermangel. Die Größe des virtuellen Devices ist anschließend 1x1 Pixel.

_______________


VirtualDevice::GetOutputSizePixel()

Size VirtualDevice::GetOutputSizePixel() const;

Beschreibung

Die Methode liefert die Größe der Zeichenfläche des virtuellen Devices in Pixeln zurück.

Rückgabewert

Size	Die Größe der Zeichenfläche des virtuellen Devices in Pixeln.

_______________


WarningBox

class WarningBox : public MessBox

{

public:

WarningBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

WarningBox( Window* pParent, const ResId& rResId );

}

Beschreibung

Die Klasse WarningBox ist von der Klasse MessBox abgeleitet. Die WarningBox enthält je nach Basisfenstersystem ein bestimmtes Icon (z.B. ein "!") sowie einen frei definierbaren Text. Der Titel ist fest vorgegeben und enthält den Namen des Applikationsfensters. Die Eingabe-Buttons sind über Stylebits frei wählbar.

Basisklassen

MessBox : ModalDialog : Dialog : SystemWindow : Window : OutputDevice : Resource : LinkHdl

Querverweise

Icon

_______________


WarningBox::WarningBox()

WarningBox::WarningBox( Window* pParent, WinBits nWinStyle, const String& rMessage );

Beschreibung

Konstruktor für eine Instanz der Klasse WarningBox. Als Parameter werden ein Zeiger auf den Parent und der Ausgabetext übergeben. Durch den Konstruktor wird eine WarningBox erzeugt, aber noch nicht angezeigt. Dies geschieht erst durch die Methode MessBox::Execute().

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Folgende Stylebits sind möglich:

WB_SYSMODAL

Die WarningBox ist systemmodal.

WB_OK

Button OK.

WB_OK_CANCEL

Button OK und Cancel.

WB_YES_NO

Button Yes und No.

WB_YES_NO_CANCEL

Button Yes, No und Cancel.

WB_RETRY_CANCEL

Button Retry und Cancel.

(Es sind keine Kombinationen zulässig)

WB_DEF_OK

Der OK-Button ist der Default-Button.

WB_DEF_CANCEL

Der CANCEL-Button ist der Default-Button.

WB_DEF_YES

Der YES-Button ist der Default-Button.

WB_DEF_NO

Der NO-Button ist der Default-Button.

WB_DEF_RETRY

Der RETRY-Button ist der Default-Button.

(Es sind keine Default-Kombinationen zulässig)

const String& rMessage	Dieser Text wird in der WarningBox angezeigt.

Querverweise

MessBox, MessBox::Execute()

_______________


WarningBox::WarningBox( Window* pParent, const ResId& rResId )
WarningBox::WarningBox()

WarningBox::WarningBox( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor für eine Instanz der Klasse WarningBox.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource, MessBox::Execute()

_______________


Window

enum DropAction { DROP_MOVE, DROP_COPY };

class Window: public OutputDevice

{

protected:

virtual void	MouseMove( const MouseEvent& rMEvt );

virtual void	MouseButtonDown( const MouseEvent& rMEvt );

virtual void	MouseButtonUp( const MouseEvent& rMEvt);

virtual void	KeyInput( const KeyEvent& rKEvt );

virtual void	Resize();

virtual void	Move();

virtual void	GetFocus();

virtual void	LoseFocus();

virtual void	Paint( const Rectangle& rRect );

virtual void	RequestHelp( const HelpEvent& rHEvt );

virtual void	Drop( const DropEvent& rEvt );

virtual BOOL	QueryDrop( const DropEvent& rEvt );

public:

Window( Window* pParent, WinBits nWinStyle = 0 );

Window( Window* pParent, const ResId& rResId);

virtual	~Window();

Window*	ChangeParent( Window* pNewParent );

Window*	GetParent() const;

void	Show();

void	Hide();

BOOL	IsVisible() const;

void	Enable();

void	Disable();

BOOL	IsEnabled() const;

void	ToTop();

Point	ChangePosPixel( const Point& rNewPos );

Point	GetPosPixel() const;

Size	ChangeSizePixel( const Size& rNewSize );

Size	GetSizePixel() const;

void	SetPosSizePixel( const Point& rNewPos, Size& rNewSize );

void	SetPosSize( const Point& rNewPos, const Size& rNewSize );

Size	ChangeOutputSizePixel( const Size& rNewSize );

Size	GetOutputSizePixel() const;

Point	OutputToScreenPixel( const Point& rPt ) const;

Point	ScreenToOutputPixel( const Point& rPt ) const;

void	CaptureMouse();

void	ReleaseMouse();

void	GrabFocus();

BOOL	HasFocus() const;

void	Scroll( short nHorzScroll, short nVertScroll );

void	Scroll( short nHorzScroll, short nVertScroll, const Rectangle& rRect );

void	Invalidate();

void	Invalidate( const Rectangle& rRect );

void	InvalidateForeground();

void	InvalidateForeground( const Rectangle& rRect );

void	Update();

void	Flash();

BOOL	ChangeUpdateMode( BOOL bUpdate );

BOOL	GetUpdateMode() const;

void	SetText( const String& rString );

String	GetText() const;

Pointer	ChangePointer( const Pointer& rPointer);

Pointer	GetPointer() const;

Cursor*	ChangeCursor( Cursor* pCursor );

Cursor*	GetCursor() const;

void	SetHelpText( const String& rString );

String&	GetHelpText() const;

ULONG	ChangeHelpId( ULONG nHelpId );

ULONG	GetHelpId() const;

BOOL	IsSVLook() const;

void	EnableDrop( BOOL bDrop=TRUE );

BOOL	IsDropEnabled() const;

BOOL	ExecuteDrag( DropAction eAction, const Pointer& rDragPtr );

};

Beschreibung

Fenster haben die Aufgabe, die Daten der Applikation in ihrem Ausgabebereich zu präsentieren. Außerdem nehmen sie die Eingaben des Benutzers entgegen.

Die Klasse Window stellt zum einen die Handler für diese Eingaben zur Verfügung. Alle Eingaben in einem Fenster werden durch diese Handler bearbeitet und der Applikation - sofern diese es wünscht - zugänglich gemacht. Die Handler werden in der Regel von StarView gerufen. Die Applikation wird sich die für ihre Zwecke benötigten Handler ableiten und die applikationsspezifischen Aktionen für die jeweiligen Ereignisse in den abgeleiteten Handlern implementieren. Jede notwendige Defaultbearbeitung der Messages des zugrundeliegenden Fenstersystems geschieht innerhalb der Handler; lediglich die von StarView nicht ausgewerteten Messages werden an die Defaultbearbeitung des Fenstersystems weitergeleitet.

Zum anderen stellt die Klasse Window Methoden für die Gestaltung und Modifikation des Fensters sowie für die Steuerung der Ausgaben in das Fenster zur Verfügung. Die eigentlichen Ausgabemethoden befinden sich in der Basisklasse von Window, in der Klasse OutputDevice.

Anmerkungen

Die Event-Handler der Klasse Window dürfen ohne Auslösung eines Events nicht direkt aufgerufen werden; damit werden Fehlfunktionen nach möglichen Erweiterungen in StarView vermieden.

Basisklassen

OutputDevice : Resource : LinkHdl

_______________

Window::MouseMove()

virtual void Window::MouseMove( const MouseEvent& rMEvt );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn die Maus über dem Fenster bewegt wird.

Parameter

const MouseEvent& rMEvt	Der Parameter beschreibt die unterschiedlichen Eingabemodalitäten der Maus in einem systemunabhängigen Format. Die Positionsangabe erfolgt in Device-Koordinaten relativ zur oberen linken Ecke des Fensterausgabebereichs.

Querverweise

MouseEvent, Window::OutputToScreenPixel(), Window::ScreenToOutputPixel(), MapMode

_______________

Window::MouseButtonDown()

virtual void Window::MouseButtonDown( const MouseEvent& rMEvt );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Button der Maus innerhalb des Fensters gedrückt wurde.

Parameter

const MouseEvent& rMEvt 	Der Parameter beschreibt die unterschiedlichen Eingabemodalitäten der Maus in einem systemunabhängigen Format. Die Positionsangabe erfolgt in Device-Koordinaten relativ zur oberen linken Ecke des Fensterausgabebereichs.

Querverweise

MouseEvent, Window::OutputToScreenPixel(), Window::ScreenToOutputPixel(), MapMode

_______________

Window::MouseButtonUp()

virtual void Window::MouseButtonUp( const MouseEvent& rMEvt);

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Button der Maus innerhalb des Fensters losgelassen wurde.

Parameter

const MouseEvent& rMEvt	Der Parameter beschreibt die unterschiedlichen Eingabemodalitäten der Maus in einem systemunabhängigen Format. Die Positionsangabe erfolgt in Device-Koordinaten relativ zur oberen linken Ecke des Fensterausgabebereichs.

Querverweise

MouseEvent, Window::OutputToScreenPixel(), Window::ScreenToOutputPixel(), MapMode

_______________

Window::KeyInput()

virtual void Window::KeyInput( const KeyEvent& rKEvt );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn eine von StarView unterstützte Taste gedrückt wurde.

Parameter

const KeyEvent& rKEvt	Der Parameter enthält Informationen über die gedrückte Taste sowie über die Wiederholungsrate.

Querverweise

KeyEvent

_______________

Window::Resize()

virtual void Window::Resize();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn sich die Größe des Fensters verändert hat. Dies kann durch Aktionen des Benutzers geschehen oder durch Aufruf von ChangeSizePixel(), WorkWindow::Minimize(), WorkWindow::Maximize() oder WorkWindow::Restore().

Anmerkungen

Die neue Größe kann über die Methode GetSizePixel() ermittelt werden.

Querverweise

Window::ChangeSizePixel()

_______________

Window::Move()

virtual void Window::Move();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn sich die Position des Fensters verändert hat. Dies kann durch Aktionen des Benutzers geschehen oder durch Aufruf von ChangePosPixel(), WorkWindow::Minimize(), WorkWindow::Maximize() oder WorkWindow::Restore().

Anmerkungen

Die neue Position kann über die Methode GetPosPixel() ermittelt werden.

Querverweise

Window::ChangePosPixel()

_______________

Window::GetFocus()

virtual void Window::GetFocus();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn das Fenster den Focus bekommt. Dies geschieht durch Aktionen des Benutzers oder durch Aufruf der Methode GrabFocus().

Querverweise

Window::GrabFocus()

_______________

Window::LoseFocus()

virtual void Window::LoseFocus();

Beschreibung

Dieser Handler wird von StarView gerufen, wenn das Fenster den Focus verliert. Dies geschieht, wenn ein anderes Window den Focus bekommt.

Querverweise

Window::GrabFocus()

_______________

Window::Paint()

virtual void Window::Paint( const Rectangle& rRect );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn ein Neuzeichnen des Fensterinhaltes erforderlich wird. Dies kann z.B. dadurch hervorgerufen werden, daß ein zeitweilig durch ein anderes Window verdecktes Fenster wieder sichtbar gemacht wird. Der Handler kann auch von der Applikation durch Aufruf der Methoden Invalidate(), ToTop() usw. angestoßen werden.

Das Paint-Rechteck muß nur ausgewertet werden, wenn umfangreiche Berechnungen durchgeführt werden, da intern eine Clipping-Region auf die ungültig gewordenen Bereiche gesetzt wird.

Parameter

const Rectangle& rRect 	Der Parameter enthält das umschließende Rechteck der ungültig gewordenen Bereiche. Die Werte innerhalb von rRect sind in logischen Koordinaten angegeben. Wenn das gesamte Fenster neu gezeichnet werden muß, wird ein Rechteck auf den gesamten Fensterinhalt übergeben.

Querverweise

MapMode, Window::Invalidate(), Window::InvalidateForeground(), Window: Update()

_______________

Window::RequestHelp()

virtual void Window::RequestHelp( const HelpEvent& rHEvt );

Beschreibung

Dieser Handler wird von StarView gerufen, wenn der Benutzer Hilfe anfordert. Dies geschieht durch Betätigung der Hilfetaste des Systems. Es wird das Hilfesystem mit der aktuell im Window gesetzten Hilfe-ID gestartet. Ist keine Hilfe-ID gesetzt (ID=0), so wird der Help-Handler des Parents gerufen. Ist kein Parent vorhanden und keine Hilfe-ID gesetzt, so wird der Index der in der Applikation selektierten Hilfe gestartet. Wenn auch in der Applikation keine Hilfe selektiert ist, wird keine Hilfe gestartet. Falls die Defaultbearbeitung nicht gewünscht wird, kann der Handler überladen und z.B. die Hilfe mit einer anderen ID gestartet werden. Die Position der Maus muß nicht innerhalb des Fensters liegen. Dies gilt auch für den erweiterten Hilfemodus, da der RequestHelp-Handler auch gerufen wird, wenn der Anwender in den Rahmen des Fensters klickt oder wenn der Handler von einem Childfenster gerufen wurde.

Parameter

const HelpEvent& rHEvt	Referenz auf eine Instanz der Klasse HelpEvent.

Querverweise

HelpEvent, Help, Window::ChangeHelpId(), Window::GetHelpId(), Menu::RequestHelp(), Application::ChangeHelp(), Application::GetHelp()

_______________

Window::Drop()

virtual void Window::Drop( const DropEvent& rEvt );

Beschreibung

Dieser Handler wird von StarView nach dem Beenden eines Drag-Vorgangs an dem Fenster gerufen, über dem sich die Maus befindet. In diesem Handler können die übertragenen Daten an der Klasse DragServer ermittelt werden.

Es können, wie beim Clipboard, über das "Drag and Drop" auch Verweise auf Datenobjekte in den DragServer gestellt werden. Die Daten zu einem Verweis werden erst dann von der Klasse DragServer beim Absender angefordert, wenn ein Fenster im Handler Window::Drop() diese anfordert.

Parameter

const DropEvent& rEvt	Referenz auf eine Instanz der Klasse DropEvent. Diese gibt denTyp der Aktion ("Move" oder "Copy") sowie die Mausposition zum Zeitpunkt der Auslösung des Events an.

Querverweise

Window::ExecuteDrag(), DropEvent, DragServer

_______________

Window::QueryDrop()

virtual BOOL Window::QueryDrop( const DropEvent& rEvt );

Beschreibung

Dieser Handler wird von StarView während eines "Drag and Drop"-Vorgangs bei den Fenstern gerufen, die während des "Drags" mit der Maus überfahren werden. Innerhalb dieses Handlers kann an der Klasse DragServer erfragt werden, welche Datenobjekte in welchen Formaten zur Verfügung stehen. Anhand der vorgefundenen Daten und Formate kann entschieden werden, ob das Fenster die Daten nach einem "Drop"annehmen kann oder nicht. Innerhalb des Handlers QueryDrop() kann nur auf die vorhandenen Formate der Datenobjekte und nicht auf die Daten selbst zugegriffen werden.

Parameter

const DropEvent& rEvt	Referenz auf eine Instanz der Klasse DropEvent. Diese gibt denTyp der Aktion ("Move" oder "Copy") sowie die Mausposition zum Zeitpunkt der Auslösung des Events an.

Querverweise

Window::ExecuteDrag(), DropEvent, DragServer

_______________

Window::Window()

Window::Window( Window* pParent, WinBits nWinStyle = 0 );

Beschreibung

Konstruktor der Klasse Window. Es wird ein Objekt der Klasse Window mit dem Parent pParent und einem optionalen Rahmen erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_BORDER

Das Fenster verfügt über einen Rahmen.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_SVLOOK

Das Fenster und dessen Child-Fenster erscheinen im StarView-Look. Wird das Flag nicht übergeben, wird es durch den Parent gesetzt, wenn dieser das Flag WB_SVLOOK übergeben bekommen hat.

Querverweise

Application::EnableSVLook()

_______________

Window::Window()

Window::Window( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse Window. Es wird ein Objekt der Klasse Window mit dem Parent pParent erzeugt.

Parameter

Window* pParent	Der Zeiger auf das Parent-Window.

const ResId& rResId	Der Resource-Identifier des Windows.

Querverweise

Resource

_______________

Window::~Window()

virtual Window::~Window();

Beschreibung

Destruktor der Klasse Window. Das Fenster wird auch auf der Ebene des Fenstersystems gelöscht. Falls sich in dem Fenster noch Childfenster befinden, werden diese im Fenstersystem zerstört. Die StarView-Instanzen müssen vorher zerstört worden sein, damit es nicht zu Fehlfunktionen kommt.

_______________

Window::ChangeParent()

Window* Window::ChangeParent( Window* pNewParent );

Beschreibung

Die Methode trennt das Window von seinem Parent und weist dem Fenster den neuen Parent pNewParent zu.

Parameter

Window* pNewParent	Der neue Parent. Zur Angabe des Desktops als Parent muß NULL übergeben werden.

Rückgabewert

Window*	Der vorige Parent; falls kein Parent existiert, wird 0 zurückgeliefert (der Desktop).

_______________

Window::GetParent()

Window* Window::GetParent() const;

Beschreibung

Die Methode liefert den Parent eines Windows zurück.

Rückgabewert

Window*	Der Parent des Windows; falls kein Parent existiert, wird 0 zurückgeliefert (der Desktop).

_______________

Window::Show()

void Window::Show();

Beschreibung

Das Window wird auf dem Bildschirm dargestellt. Der Paint-Handler des Windows wird gerufen.

Die Anzeige des Fensters erfolgt nur, wenn der Parent des Fensters ebenfalls sichtbar ist. Ist dies nicht der Fall, wird ein Fenster erst dann angezeigt, wenn auch der Parent sichtbar wird.

_______________

Window::Hide()

void Window::Hide();

Beschreibung

Das Window ist nach Aufruf dieser Methode nicht mehr sichtbar, es existiert aber sowohl auf der StarView-Ebene als auch auf der Ebene des zugrundeliegenden Fenstersystems weiter.

Alle Childs des Windows werden automatisch unsichtbar. Bei einem Show() werden diese dann automatisch wieder angezeigt.

_______________

Window::IsVisible()

BOOL Window::IsVisible() const;

Beschreibung

Diese Methode zeigt im Rückgabewert an, ob ein Fenster sichtbar ist. Dabei spielt es keine Rolle, ob das Fenster auch tatsächlich auf dem Bildschirm sichtbar ist oder ob es von darüberliegenden Fenstern verdeckt wird.

Rückgabewert

BOOL	TRUE

Das Fenster ist sichtbar.

FALSE

Das Fenster ist nicht sichtbar.

Querverweise

Window::Show(), Window::Hide()

_______________

Window::Enable()

void Window::Enable();

Beschreibung

Nach Aufruf dieser Methode ist das Window aktivierbar, d.h. es kann z.B. durch einen Mausklick den Focus erhalten.

_______________

Window::Disable()

void Window::Disable();

Beschreibung

Nach Aufruf dieser Methode ist das Window nicht mehr aktivierbar. Es bekommt keinen Focus und erhält, ebenso wie seine Childs, auch keine Tastatureingaben mehr.

_______________

Window::IsEnabled()

BOOL Window::IsEnabled() const;

Beschreibung

Diese Methode zeigt im Rückgabewert an, ob ein Fenster aktivierbar ist.

Rückgabewert

BOOL	TRUE

Das Fenster ist aktivierbar.

FALSE

Das Fenster ist nicht aktivierbar.

Querverweise

Window::Enable(), Window::Disable()

_______________

Window::ToTop()

void Window::ToTop();

Beschreibung

Das Window wird auf dem Bildschirm als das oberste Window dargestellt.

_______________

Window::ChangePosPixel()

Point Window::ChangePosPixel( const Point& rNewPos );

Beschreibung

Die Methode setzt die Position des Fensters neu. Die Darstellung auf dem Bildschirm wird entsprechend angepaßt.

Die Position ist bei Childfenstern und Controls auf die linke obere Ecke des Parent-Ausgabebereichs bezogen. Für alle anderen Fenster wird die Position in Device-Koordinaten bezogen auf die linke obere Ecke des Bildschirms angegeben.

Parameter

const Point& rNewPos	Die neue Position des Fensters in Device-Koordinaten.

Rückgabewert

Point	Die vorherige Position des Fensters in Device-Koordinaten.

Querverweise

Window::GetPosPixel(), Window::Move()

_______________

Window::GetPosPixel()

Point Window::GetPosPixel() const;

Beschreibung

Die Methode liefert die aktuelle Position des Windows. Die Position eines Windows wird durch seine linke obere Ecke bestimmt.

Rückgabewert

Point	Die aktuelle Position des Fensters in Device-Koordinaten.

_______________

Window::ChangeSizePixel()

Size Window::ChangeSizePixel( const Size& rNewSize );

Beschreibung

Die Methode setzt die Größe des Fensters neu. Die Darstellung auf dem Bildschirm wird entsprechend angepaßt.

Parameter

const Size& rNewSize	Die neue Größe des Windows in Device-Koordinaten.

Rückgabewert

Size	Die vorherige Größe des Windows in Device-Koordinaten.

Querverweise

Window::ChangeOutputSizePixel(), Window::SetPosSizePixel(), Window::Resize()

_______________

Window::GetSizePixel()

Size Window::GetSizePixel() const;

Beschreibung

Die Methode liefert die aktuelle Größe des Windows. Die Angaben beziehen sich auf das Window einschließlich seines Rahmens.

Rückgabewert

Size	Die aktuelle Größe des Fensters in Device-Koordinaten.

_______________

Window::SetPosSizePixel()

void Window::SetPosSizePixel( const Point& rNewPos, const Size& rNewSize );

Beschreibung

Die Methode setzt die Position und Größe des Fensters neu. Die Darstellung auf dem Bildschirm wird entsprechend angepaßt.

Die Position ist bei Childfenstern und Controls auf die linke obere Ecke des Parent-Ausgabebereichs bezogen. Für alle anderen Fenster wird die Position in Bildschirmkoordinaten bezogen auf die linke obere Ecke angegeben.

Diese Methode sollte verwendet werden, wenn die Position und die Größe neu gesetzt werden müssen, da sie schneller als ChangePosPixel() und ChangeSizePixel() ist.

Parameter

const Point& rNewPos	Die neue Position des Fensters in Device-Koordinaten.

const Size& rNewSize	Die neue Größe des Fensters in Device-Koordinaten.

Querverweise

Window::ChangePosPixel(), Window::ChangeSizePixel(), Window::Resize()

_______________

Window::SetPosSize()

void Window::SetPosSize(const Point& rNewPos, const Size& rNewSize);

Beschreibung

Die Methode setzt die Position und Größe des Fensters neu. Die Darstellung auf dem Bildschirm wird entsprechend angepaßt.

Die Position ist bei Childfenstern und Controls auf die linke obere Ecke des Parent-Ausgabebereichs bezogen. Für alle anderen Fenster wird die Position in logischen Koordinaten bezogen auf die linke obere Ecke angegeben.

Parameter

const Point& rNewPos	Die neue Position des Fensters in logischen Koordinaten.

const Size& rNewSize	Die neue Größe des Fensters in logischen Koordinaten.

Querverweise

Window::SetPosSizePixel(), Window::ChangePosPixel(), Window::ChangeSizePixel(), Window::Resize()

_______________

Window::ChangeOutputSizePixel()

Size Window::ChangeOutputSizePixel( const Size& rNewSize );

Beschreibung

Die Methode setzt die Größe des Fensterausgabebereichs neu. Die Darstellung auf dem Bildschirm wird entsprechend angepaßt.

Parameter

const Size& rNewSize	Die neue Größe des Fensterausgabebereichs in Device-Koordinaten.

Rückgabewert

Size	Die vorherige Größe des Fensterausgabebereichs in Device-Koordinaten.

Querverweise

Window::SetPosSizePixel(), Window::Resize()

_______________

Window::GetOutputSizePixel()

Size Window::GetOutputSizePixel();

Beschreibung

Die Methode ermittelt die Größe des Fensterausgabebereichs.

Rückgabewert

Size	Die Größe des Fensterausgabebereichs in Device-Koordinaten.

_______________

Window::OutputToScreenPixel()

Point Window::OutputToScreenPixel( const Point& rPt ) const;

Beschreibung

Die Methode transformiert Device-Koordinaten relativ zum Ausgabebereich des Fensters in Device-Koordinaten relativ zum Bildschirm.

Parameter

const Point& rPt	Der zu transformierende Punkt in Device-Koordinaten relativ zum Ausgabebereich des Fensters.

Rückgabewert

Point	Der transformierte Punkt in Device-Koordinaten relativ zum Bildschirm.

Querverweise

Window::ScreenToOutputPixel()

_______________

Window::ScreenToOutputPixel()

Point Window::ScreenToOutputPixel( const Point& rPt ) const;

Beschreibung

Die Methode transformiert Device-Koordinaten relativ zum Bildschirm in Device-Koordinaten relativ zum Ausgabebereich des Fensters.

Parameter

const Point& rPt	Der Punkt, der transformiert werden soll, in Device-Koordinaten relativ zum Bildschirm.

Rückgabewert

Point	Der transformierte Punkt in Device-Koordinaten relativ zum Ausgabebereich.

Querverweise

Window::OutputToScreenPixel()

_______________

Window::CaptureMouse()

void Window::CaptureMouse();

Beschreibung

Alle Mauseingaben werden nach Aufruf der Methode in dieses Window geleitet.

Die Positionsangaben bei MouseEvents erfolgen relativ zur oberen linken Ecke des Fensters.

Querverweise

Window::ReleaseMouse(), Window::ScreenToOutputPixel(), Window::OutputToScreenPixel()

_______________

Window::ReleaseMouse()

void Window::ReleaseMouse();

Beschreibung

Die Methode gibt den Capture wieder frei, kein Fenster hat anschließend den Capture. Besitzt die Window-Instanz den Capture nicht, hat diese Methode keine Wirkung.

_______________

Window::GrabFocus()

void Window::GrabFocus();

Beschreibung

Durch Aufruf der Methode bekommt das Fenster den Focus. Es wird der LoseFocus-Handler des Fensters, das bisher den Focus hatte, gerufen. Anschließend wird der GetFocus-Handler des aktuellen Fensters gerufen.

_______________

Window::HasFocus()

BOOL Window::HasFocus() const;

Beschreibung

Diese Methode zeigt im Rückgabewert an, ob das Window den Eingabefocus besitzt.

Rückgabewert

BOOL	TRUE

Das Fenster hat den Focus.

FALSE

Das Fenster hat den Focus nicht.

Querverweise

Window::GrabFocus()

_______________

Window::Scroll()

void Window::Scroll( short nHorzScroll, short nVertScroll );

Beschreibung

Die Methode verschiebt den Inhalt des Windows aufwärts, abwärts, nach links oder rechts.

Mit dieser Methode wird der gesamte Fensterinhalt verschoben. Der Parameter nHorzScroll gibt an, wie weit der Inhalt des Fensters in horizontaler Richtung verschoben wird. Ein positiver Wert bedeutet eine Verschiebung nach rechts, ein negativer Wert eine Verschiebung nach links. Der Parameter nVertScroll gibt an, wie weit der Inhalt des Fensters in vertikaler Richtung verschoben wird. Ein positiver Wert bedeutet eine Verschiebung nach unten, ein negativer Wert eine Verschiebung nach oben. Die Interpretation der Positionsangaben wird durch den MapMode bestimmt. Anschließend wird durch das System eine Paint-Message generiert, die in ihrem Parameter den durch den Scrollvorgang ungültig gewordenen (den neu sichtbaren) Bereich enthält.

Parameter

short nHorzScroll	Der Wert für die horizontale Verschiebung in logischen Einheiten.

short nVertScroll	Der Wert für die vertikale Verschiebung in logischen Einheiten.

Anmerkungen

Befindet sich ein Textcursor im verschobenen Bereich, so wird dieser nicht mitgescrollt. Vor dem Verschieben wird der Textcursor unsichtbar und nach dem Verschieben an der alten Position wieder sichtbar geschaltet. Befinden sich andere Fenster über der zu verschiebenden Fläche, so wird deren Inhalt mit verschoben, die Position des Windows jedoch nicht verändert. Diese Situation kann zu unvorhersehbaren Ergebnissen führen und ist unbedingt zu vermeiden.

Da die Verschiebung in logischen Einheiten angegeben wird, kann es beim Scrollen zu Rundungsfehlern kommen. Deshalb sollte immer um ein Vielfaches von einem Pixel gescrollt werden.

Querverweise

Window::Paint(), MapMode

_______________

Window::Scroll()

void Window::Scroll( short nHorzScroll, short nVertScroll, const Rectangle& rRect );

Beschreibung

Die Methode verschiebt den Inhalt des Windows aufwärts, abwärts, nach links oder nach rechts.

Über den Parameter rRect kann der zu verschiebende Bereich festgelegt werden. Der gesetzte MapMode bestimmt die Interpretation der Angaben in rRect. Falls der Bereich größer ist als der zur Zeit sichtbare Bereich, so arbeitet die Methode lediglich auf dem im Window sichtbaren Bereich.

Der Parameter nHorzScroll gibt an, wie weit der Inhalt des Fensters in horizontaler Richtung verschoben wird. Ein positiver Wert bedeutet eine Verschiebung nach rechts, ein negativer Wert eine Verschiebung nach links. Der Parameter nVertScroll gibt an, wie weit der Inhalt des Fensters in vertikaler Richtung verschoben wird. Ein positiver Wert bedeutet eine Verschiebung nach unten, ein negativer Wert eine Verschiebung nach oben. Der gesetzte MapMode bestimmt die Interpretation der Angaben. Anschließend wird durch das System eine Paint-Message generiert, die in ihrem Parameter den durch den Scrollvorgang ungültig gewordenen (den neu sichtbaren) Bereich enthält.

Parameter

short nHorzScroll	Der Wert für die horizontale Verschiebung in logischen Einheiten.

short nVertScroll	Der Wert für die vertikale Verschiebung in logischen Einheiten.

const Rectangle& rRect	Die Größe des zu verschiebenden Rechtecks in logischen Einheiten.

Anmerkungen

Befindet sich ein Textcursor im verschobenen Bereich, so wird dieser nicht mitgescrollt. Vor dem Verschieben wird der Textcursor unsichtbar und nach dem Verschieben an der alten Position wieder sichtbar geschaltet. Befinden sich andere Fenster über der zu verschiebenden Fläche, so wird deren Inhalt mitverschoben, die Position des Windows jedoch nicht verändert. Diese Situation kann zu unvorhersehbaren Ergebnissen führen und ist unbedingt zu vermeiden.

Da die Verschiebung in logischen Einheiten angegeben wird, kann es beim Scrollen zu Rundungsfehlern kommen. Deshalb sollte immer um ein Vielfaches von einem Pixel gescrollt werden.

Querverweise

Window::Paint(), MapMode

_______________

Window::Invalidate()

void Window::Invalidate();

Beschreibung

Die Methode erklärt den gesamten Inhalt des Fensters für ungültig. Dadurch wird ein (asynchroner) Paint-Event generiert, der den Aufruf des Paint-Handlers zur Folge hat. Der Hintergrund wird gelöscht und muß neu ausgegeben werden.

Querverweise

Window::Paint(), Window::InvalidateForeground(), Window::Update()

_______________

Window::Invalidate()

void Window::Invalidate( const Rectangle& rRect );

Beschreibung

Die Methode erklärt einen Bereich des Fensters für ungültig. Dadurch wird ein (asynchroner) Paint-Event generiert, der den Aufruf des Paint-Handlers zur Folge hat. Der Hintergrund wird gelöscht und muß neu ausgegeben werden.

Parameter

const Rectangle& rRect 	Der Bereich des Fensters, der neu gezeichnet werden soll. Die Angabe erfolgt in logischen Koordinaten.

Querverweise

Window::Paint(), Window::InvalidateForeground(), Window::Update()

_______________

Window::InvalidateForeground()

void Window::InvalidateForeground();

Beschreibung

Die Methode erklärt den gesamten Inhalt des Fensters für ungültig. Dadurch wird ein (asynchroner) Paint-Event generiert, der den Aufruf des Paint-Handlers zur Folge hat. Im Unterschied zu Invalidate() wird der Hintergrund nicht gelöscht.

Anmerkungen

Diese Methode sollte nicht angewendet werden, wenn vorher bereits mit Invalidate() ein Bereich als ungültig markiert wurde.

Querverweise

Window::Paint(), Window::Invalidate(), Window::Update()

_______________

Window::InvalidateForeground()

void Window::InvalidateForeground( const Rectangle& rRect );

Beschreibung

Die Methode erklärt einen Bereich des Fensters für ungültig. Dadurch wird ein (asynchroner) Paint-Event generiert, der den Aufruf des Paint-Handlers zur Folge hat. Im Unterschied zu Invalidate() wird der Hintergrund nicht gelöscht.

Parameter

const Rectangle& rRect 	Der Bereich des Fensters, der neu gezeichnet werden soll. Die Angabe erfolgt in logischen Koordinaten.

Anmerkungen

Diese Methode sollte nicht angewendet werden, wenn vorher bereits mit Invalidate() ein Bereich als ungültig markiert wurde.

Querverweise

Window::Paint(), Window::Invalidate(), Window::Update()

_______________

Window::Update()

void Window::Update();

Beschreibung

Bei Aufruf dieser Methode werden der Paint-Handler des Fensters direkt gerufen und alle anstehenden Paint-Events ausgeführt. Diese Methode ist immer dann sinnvoll, wenn mit den Methoden Invalidate() oder InvalidateForeground() ein oder mehrere Paint-Events ausgelöst wurden und diese sofort ausgeführt werden sollen.

Querverweise

Window::Invalidate(), Window::InvalidateForeground()

_______________

Window::Flash()

void Window::Flash();

Beschreibung

Diese Methode hebt ein Window optisch hervor. Das genaue Verhalten (z.B. Blinken) wird durch das Fensterbasissystem bestimmt. Nachdem die Methode verlassen wurde, hat das Window wieder sein ursprüngliches Aussehen.

_______________

Window::ChangeUpdateMode()

BOOL Window::ChangeUpdateMode( BOOL bUpdate );

Beschreibung

Diese Methode ermöglicht es, Paint-Events für einen bestimmten Zeitraum abzuschalten. Dies ist z.B. sinnvoll beim Füllen einer ListBox, wenn kein Flackern erwünscht ist. Die Applikation muß nach dem Einschalten des Update-Modus das Neuzeichnen selbst veranlassen.

Parameter

BOOL bUpdate	TRUE

Es findet ein sofortiges Update statt.

FALSE

Es findet kein sofortiges Update statt.

Rückgabewert

BOOL	TRUE

Es fand ein sofortiges Update statt.

FALSE

Es fand kein sofortiges Update statt.

Querverweise

Window::Invalidate()

_______________

Window::GetUpdateMode()

BOOL Window::GetUpdateMode() const;

Beschreibung

Diese Methode liefert den aktuellen Update-Modus zurück.

Rückgabewert

BOOL	TRUE

Der Paint-Handler wird bei Paint-Events aufgerufen.

FALSE

Der Paint-Handler wird bei Paint-Events nicht aufgerufen.

_______________

Window::SetText()

void Window::SetText( const String& rString );

Beschreibung

Mit dieser Methode wird ein Text in der Instanz gespeichert. Die Bedeutung des Textes ist je nach Fenstertyp unterschiedlich. Bei Standardfenstern ist dies der Titel.

Parameter

const String& rString	Der zu speichernde String.

_______________

Window::GetText()

String Window::GetText() const;

Beschreibung

Diese Methode gibt den Text eines Fensters zurück. Die Bedeutung des Textes ist je nach Fenstertyp unterschiedlich. Bei Standardfenstern ist dies der Titel.

Rückgabewert

String	Der Fenstertext.

_______________

Window::ChangePointer()

Pointer Window::ChangePointer( const Pointer& rPointer );

Beschreibung

Diese Methode setzt einen neuen Mauszeiger für das Fenster. Der Mauszeiger nimmt immer das Aussehen des im Parameter übergebenen Mauszeigers an, wenn er sich im Ausgabebereich des Fensters befindet. Falls ein Fenster den Capture besitzt, hat der Mauszeiger so lange das Aussehen des diesem Fenster zugeordneten Pointers, bis durch Aufruf der Methode ReleaseMouse() der Capture wieder freigegeben wird.

Parameter

const Pointer& rPointer	Der neue Mauszeiger.

Rückgabewert

Pointer	Der bisherige Mauszeiger.

Querverweise

Pointer

_______________

Window::GetPointer()

Pointer Window::GetPointer() const;

Beschreibung

Diese Methode liefert den aktuellen Mauszeiger des Windows zurück.

Rückgabewert

Pointer	Der aktuelle Mauszeiger.

Querverweise

Pointer

_______________

Window::ChangeCursor()

Cursor* Window::ChangeCursor( const Cursor* pCursor );

Beschreibung

Diese Methode setzt einen neuen Textcursor für das Fenster. Der Textcursor wird nur angezeigt, wenn er sichtbar geschaltet ist und das Fenster,dem er zugeordnet ist, den Focus besitzt.

Parameter

const Cursor* pCursor	Der Zeiger auf den neuen Textcursor.

Rückgabewert

Cursor*	Der Zeiger auf den alten Textcursor.

Anmerkungen

Es wird ein Zeiger auf den Textcursor übergeben, da die Cursorposition und -größe bei der selektierten Instanz geändert wird und nicht global für alle Instanzen.

Querverweise

Cursor

_______________

Window::GetCursor()

Cursor* Window::GetCursor() const;

Beschreibung

Diese Methode liefert den aktuellen Textcursor des Windows zurück.

Rückgabewert

Cursor*	Der Zeiger auf den aktuellen Textcursor.

Querverweise

Cursor

_______________

Window::SetHelpText()

void Window::SetHelpText( const String& rString );

Beschreibung

Der Aufruf dieser Methode setzt einen neuen Hilfetext. Dieser Hilfetext kann z.B. im GetFocus-Handler in eine Fußzeile gesetzt werden.

Parameter

const String& rString	Der neue Hilfetext.

_______________

Window::GetHelpText()

String Window::GetHelpText() const;

Beschreibung

Der Aufruf dieser Methode liefert den aktuellen Hilfetext zurück.

Rückgabewert

String	Der aktuelle Hilfetext.

_______________

Window::ChangeHelpId()

ULONG Window::ChangeHelpId( ULONG nHelpId );

Beschreibung

Diese Methode setzt eine neue Hilfe-ID. Die Hilfe-ID wird durch den Help-Handler RequestHelp() zur Anzeige der kontextsensitiven Hilfe benötigt. Ist die ID 0, so wird im Default-RequestHelp-Handler der RequestHelp-Handler des Parents gerufen. Es können auch die bei der Klasse Help beschriebenen vordefinierten IDs gesetzt werden.

Parameter

ULONG nHelpId	Die neue Hilfe-ID oder 0, wenn der Default-Help-Handler des Parents gerufen werden soll. Es können auch die bei der Klasse Help beschriebenen vordefinierten IDs verwendet werden.

Rückgabewert

ULONG	Die bisherige Hilfe-ID.

Querverweise

Window::GetHelpId(), Window::RequestHelp(), HelpEvent, Help

_______________

Window::GetHelpId()

ULONG Window::GetHelpId() const;

Beschreibung

Diese Methode gibt die aktuelle Hilfe-ID des Windows zurück.

Rückgabewert

ULONG	Die aktuelle Hilfe-ID.

_______________

Window::IsSVLook()

BOOL Window::IsSVLook() const;

Beschreibung

Mit dieser Methode kann abgefragt werden, ob dieses Fenster im StarView-Look dargestellt wird. Wenn der SV-Look in der Applikation disabled ist, liefert diese Methode immer FALSE zurück. Über diese Abfrage können Sie z.B. die Darstellung von Ihren User-Controls so beeinflussen, daß die Controls sich so verhalten wie die StarView-Controls.

Rückgabewert

BOOL	TRUE

Das Fenster wird im StarView-Look dargestellt.

FALSE

Das Fenster wird nicht im StarView-Look dargestellt.

Anmerkungen

Unter Motif, Open Look und Presentation Manager liefert diese Methode immer TRUE zurück, da dort ein 3D-Look vorhanden ist.

Querverweise

Application::DisableSVLook()

_______________

Window::EnableDrop()

void Window::EnableDrop( BOOL bDrop=TRUE );

Beschreibung

Die Methode legt fest, ob Drag & Drop in diesem Window möglich sein soll.

Parameter

BOOL bDrop	TRUE

Drag & Drop soll möglich sein.

FALSE

Drag & Drop soll nicht möglich sein.

Querverweise

DragServer, DropEvent, DropAction

_______________

Window::IsDropEnabled()

BOOL Window::IsDropEnabled() const;

Beschreibung

Die Methode stelltt fest, ob Drag & Drop in diesem Window möglich ist.

Rückgabewert

BOOL	TRUE

Drag & Drop ist möglich.

FALSE

Drag & Drop ist nicht möglich.

Querverweise

DragServer, DropEvent, DropAction

Window::ExecuteDrag()

BOOL Window::ExecuteDrag( DropAction eAction, const Pointer& rDragPtr );

Beschreibung

Diese Methode startet einen "Drag and Drop"-Vorgang, nachdem der Absender die Daten in den DragServer gestellt hat.

Parameter

DropAction eAction	Der Typ der "Drag and Drop"-Aktion.

DROP_MOVE

Das Datenobjekt soll verschoben werden.

DROP_COPY

Das Datenobjekt soll kopiert werden.

const Pointer& rDragPtr	Referenz auf einen Pointer, der während des "Drag and Drop"-Vorgangs angezeigt werden soll.

Rückgabewert

BOOL	TRUE

Das Datenobjekt ist angenommen und verarbeitet worden.

FALSE

Der "Drag and Drop"-Vorgang wurde abgebrochen oder das Datenobject wurde nicht angenommen.

Querverweise

DragServer, DropEvent, DropAction, Window::EnableDrop()

_______________


WorkWindow

class WorkWindow : public SystemWindow

{

public:

WorkWindow( Window* pParent, WinBits nWinStyle = WB_STDWORK );

WorkWindow( Window* pParent, const ResId& rResId );

virtual	~WorkWindow();

void	Maximize();

void	Minimize();

void	Restore();

BOOL	IsMaximized() const;

BOOL	IsMinimized() const;

Icon	ChangeIcon( const Icon& rNewIcon );

Icon	GetIcon() const;

Size	ChangeMinOutputSizePixel( const Size& rSize );

Size	GetMinOutputSizePixel() const;

Size	ChangeOptOutputSizePixel( const Size& rSize );

Size	GetOptOutputSizePixel() const;

};

Beschreibung

Die Klasse WorkWindow stellt die speziellen Methoden zur Verfügung, die für TopLevel-Fenster der Applikation benötigt werden, nicht aber in anderen von Window und SystemWindow abgeleiteten Klassen, wie z.B. Controls und Dialogboxen.

Basisklassen

SystemWindow : Window : OutputDevice : Resource : LinkHdl

_______________


WorkWindow::WorkWindow( Window* pParent, WinBits nWinStyle = WB_STDWORK )
WorkWindow::WorkWindow()

WorkWindow::WorkWindow( Window* pParent, WinBits nWinStyle = WB_STDWORK );

Beschreibung

Konstruktor der Klasse WorkWindow. Das Fenster kann ein Systemfenster oder das Applikationsfenster sein. Jedes Fenster mit Ausnahme des Applikationsfensters verfügt über einen Parent. Ein Systemfenster kann sich innerhalb oder außerhalb seines Parents aufhalten. Das Systemfenster wird minimiert, wenn der Parent minimiert wird. Die Applikation hat dafür Sorge zu tragen, daß auf abhängige Fenster nach der Zerstörung des Parents nicht mehr zugegriffen wird.

In jeder Applikation kann nur ein Fenster durch Angabe des Bits WB_APP zum Applikationsfenster erklärt werden. Wird dieses Applikationsfenster zerstört, so wird vom System die Methode Application::Quit() gerufen.

Ausnahmen

In der Windows-Version wird mit den Stylebits WB_SIZEABLE, WB_CLOSEABLE, WB_MINABLE und WB_MAXABLE automatisch das Bit WB_MOVEABLE gesetzt, da jedes der aufgeführten Bits zu einem System-Menu und einer Titelzeile führt.

In der Macintosh-Version hat das Setzen des Stylebits WB_MINABLE keine Wirkung.

Parameter

Window* pParent	Der Parent des Fensters. Soll der Desktop als Parent verwendet werden, so wird hier NULL angegeben.

WinBits nWinStyle	Window-Style mit folgenden Stylebits:

WB_APP

Das Fenster wird das Applikationsfenster. Es kann nur ein Applikationsfenster je Applikation existieren.

WB_SIZEABLE

Das Fenster kann in der Größe verändert werden.

WB_CLOSEABLE

Das Fenster kann geschlossen werden.

WB_MOVEABLE

Das Fenster kann bewegt werden.

WB_MINABLE

Das Fenster kann minimiert werden.

WB_MAXABLE

Das Fenster kann maximiert werden.

Bitkombinationen:

WB_SIZEMOVE

Verschiebbar und vergrößerbar.

WB_MINMAX

Minimierbar und maximierbar.

WB_STDWORK

Minimierbar, maximierbar, verschiebbar, vergrößerbar und schließbar.

WB_CLIPCHILDREN

Das Fenster kann nicht über den Ausgabebereich seiner Childfenster zeichnen.

WB_SVLOOK

Das Fenster und dessen Child-Fenster erscheinen im StarView-Look.

Beispiel

...

MyAppWin aAppWin( NULL, WinBits( WB_APP | WB_STDWORK ) );

aAppWin.ChangePosPixel( Point( 10, 10 ) );

aAppWin.ChangeSizePixel( Size( 100, 100 ) );

aAppWin.Show();

...

Querverweise

Window, MDIWindow Application::EnableSVLook()

_______________


WorkWindow::WorkWindow( Window* pParent, const ResId& rResId )
WorkWindow::WorkWindow()

WorkWindow::WorkWindow( Window* pParent, const ResId& rResId );

Beschreibung

Resource-Konstruktor der Klasse WorkWindow.

Parameter

Window* pParent	Der Parent des Windows. Soll der Desktop als Parent verwendet werden, so wird hier NULL angegeben.

const ResId& rResId	Die Resource-ID.

Querverweise

Resource

_______________


WorkWindow::~WorkWindow()

virtual WorkWindow::~WorkWindow();

Beschreibung

Destruktor der Klasse WorkWindow. Im Destruktor wird das Fenster zerstört; bevor er wieder verlassen wird, sollte die Applikation sicherstellen, daß alle Objekte, die dieses Window referenzieren, ihre Referenzen entsprechend verändern.

_______________


WorkWindow::Maximize()

void WorkWindow::Maximize();

Beschreibung

Mit dieser Methode kann ein Fenster maximiert werden. Ist das Fenster nicht sichtbar, so erscheint das Fenster erst nach dem nächsten Window::Show() als maximiertes Fenster. Der Aufruf dieser Methode hat den Aufruf des Paint-Handlers, des Move-Handlers und des Resize-Handlers zur Folge. Ist das Fenster bereits maximiert, hat diese Methode keine Auswirkung.

Ausnahmen

Unter Motif hat der Aufruf dieser Methode keine Wirkung.

Der Paint-Handler, der Move-Handler und der Resize-Handler werden nicht gerufen, wenn das Fenster bereits maximiert war oder nicht sichtbar ist. Der Move-Handler wird ebenfalls nicht aufgerufen, wenn sich das Fenster schon an der Position ( 0, 0 ) befand.

Querverweise

Window::Show(), Window::Move(), Window::Resize()

_______________


WorkWindow::Minimize()

void WorkWindow::Minimize();

Beschreibung

Mit dieser Methode kann ein Fenster minimiert werden. Ist das Fenster nicht sichtbar, so erscheint das Fenster erst nach dem nächsten Window::Show() als minimiertes Fenster. Der Aufruf dieser Methode hat den Aufruf des Move-Handlers und des Resize-Handlers zur Folge. Ist das Fenster bereits minimiert, hat diese Methode keine Auswirkung. Die Darstellung von minimierten Fenstern ist abhängig vom Basisfenstersystem.

Ausnahmen

Auf dem Apple Macintosh wird dieser Aufruf ignoriert.

Der Move-Handler und der Resize-Handler werden nicht gerufen, wenn das Fenster bereits minimiert war oder nicht sichtbar ist.

Querverweise

Window::Show(), Window::Move(), Window::Resize()

_______________


WorkWindow::Restore()

void WorkWindow::Restore();

Beschreibung

Mit dieser Methode kann ein Fenster vom minimierten bzw. maximierten Zustand auf die vorherige Größe eingestellt werden. Ist das Fenster nicht sichtbar, so erscheint das Fenster erst nach dem nächsten Window::Show() in seiner ursprünglichen Größe. Der Aufruf hat den Aufruf des Paint-Handlers, des Move-Handlers und des Resize-Handlers zur Folge. Ist das Fenster weder maximiert noch minimiert, so hat der Aufruf dieser Methode keine Wirkung.

Ausnahmen

Der Paint-Handler, der Move-Handler und der Resize-Handler werden nicht gerufen, wenn das Fenster nicht sichtbar ist.

Querverweise

Window::Show(), Window::Move(), Window::Resize()

_______________


WorkWindow::IsMaximized()

BOOL WorkWindow::IsMaximized() const;

Beschreibung

Mit dieser Methode kann festgestellt werden, ob ein Fenster maximiert ist.

Rückgabewert

BOOL	TRUE

Das Fenster ist maximiert.

FALSE

Das Fenster ist nicht maximiert.

_______________


WorkWindow::IsMinimized()

BOOL WorkWindow::IsMinimized() const;

Beschreibung

Mit dieser Methode kann festgestellt werden, ob ein Fenster minimiert ist.

Rückgabewert

BOOL	TRUE

Das Fenster ist minimiert.

FALSE

Das Fenster ist nicht minimiert.

_______________


WorkWindow::ChangeIcon( const Icon& rNewIcon )
WorkWindow::ChangeIcon()

Icon WorkWindow::ChangeIcon( const Icon& rNewIcon );

Beschreibung

Die Methode ordnet dem Window ein neues Icon zu. Das bisher verwendete Icon wird zurückgegeben. Das als Parameter übergebene Icon wird automatisch vom Window verwendet, wenn dieses minimiert ist.

Parameter

const Icon& rNewIcon	Das neue Icon.

Rückgabewert

Icon	Das bisherige Icon.

Ausnahmen

Das Setzen von Icons hat auf dem Macintosh keine Wirkung, da dort Fenster nicht minimiert dargestellt werden können.

Querverweise

Icon

_______________


WorkWindow::GetIcon()

Icon WorkWindow::GetIcon() const;

Beschreibung

Die Methode gibt das aktuelle Icon zurück.

Rückgabewert

Icon	Das aktuelle Icon.

Querverweise

Icon

_______________


WorkWindow::ChangeMinOutputSizePixel( const Size& rSize )
WorkWindow::ChangeMinOutputSizePixel()

Size WorkWindow::ChangeMinOutputSizePixel( const Size& rSize );

Beschreibung

Die Methode setzt eine neue minimale Größe für den Fensterausgabebereich.

Parameter

const Size& rSize	Die neue minimale Größe für den Fensterausgabebereich.

Rückgabewert

Size	Die bisher gültige minimale Größe für den Fensterausgabebereich.

_______________


WorkWindow::GetMinOutputSizePixel()

Size WorkWindow::GetMinOutputSizePixel() const;

Beschreibung

Die Methode ermittelt dieaktuelle minimale Größe für den Fensterausgabebereich.

Rückgabewert

Size	Die aktuelle minimale Größe für den Fensterausgabebereich.

_______________


WorkWindow::ChangeOptOutputSizePixel( const Size& rSize )
WorkWindow::ChangeOptOutputSizePixel()

Size WorkWindow::ChangeOptOutputSizePixel( const Size& rSize );

Beschreibung

Die Methode setzt eine neue optimale Größe für den Fensterausgabebereich.

Parameter

const Size& rSize	Die neue optimale Größe für den Fensterausgabebereich.

Rückgabewert

Size	Die bisher gültige optimale Größe für den Fensterausgabebereich.

_______________


WorkWindow::GetOptOutputSizePixel()

Size WorkWindow::GetOptOutputSizePixel() const;

Beschreibung

Die Methode ermittelt dieaktuelle optimale Größe für den Fensterausgabebereich.

Rückgabewert

Size	Die aktuelle optimale Größe für den Fensterausgabebereich.

_______________