Navigation:  Klassen > bBrowser >

bBrowser:CellGroupResize()

Diese Seite drucken    Vorherige SeiteZurück zum Anfang des KapitelsNächste Seite

Zweck

Callback-Methode für die Größenänderung einer Zellengruppe.

Klasse

bBrowser

Typ

Methode

Syntax

<oBrowser>:CellGroupResize(

<iMode>,

<oCellGroupItem>,

<iTouchedEdge>,

<oStartCell>,

<oEndCell>,

<oStartCellNew>,

<oEndCellNew>,

<cInfoText>

) Æ iResult

Argumente

<iMode>Modus, in dem sich die Größenänderung der Zellengruppe befindet. Es können folgende Modi auftreten:

 

Modus

Beschreibung

Return-Wert

BCGRM_START

Der Vorgang für die Änderung der Größe der Zellengruppe wird gestartet.

Der Return-Wert BCGRR_VALID bewirkt, dass die Zellengruppe in der Größe geändert werden kann.

Der Return-Wert BCGRR_INVALID verhindert die Änderung der Größe.

BCGRM_CHECKCELL

Die neue Größe der Zellengruppe kann geprüft werden.

Der Return-Wert BCGRR_VALID bewirkt, dass die Zellengruppe auf die neue Größe geändert wird.

Der Return-Wert BCGRR_INVALID verhindert, dass die Zellengruppe auf die neue Größe geändert wird.

Der Return-Wert BCGRR_UNDEFINED bewirkt, dass der bBrowser prüft, ob die Zellengruppe durch die neue Größe eine andere Zellengruppe überschneidet. Ist dies der Fall, dann wird die Zellengruppe nicht auf die neue Größe geändert.

BCGRM_GETINFOTEXT

Der Text, der während der Änderung der Größe angezeigt wird, kann definiert werden.

Der Return-Wert BCGRR_VALID bewirkt, dass der definierte Info-Text angezeigt wird.

Der Return-Wert BCGRR_UNDEFINED bewirkt, dass der bBrowser einen Standard-Info-Text definiert.

BCGRM_FINISHREQUEST

Der Vorgang für die Änderung der Größe der Zellengruppe wurde beendet Die neue Größe kann übernommen oder abgewiesen werden.

Der Return-Wert BCGRR_VALID bzw. BCGRR_UNDEFINED bewirkt, dass die Zellengruppe auf die neue Größe geändert wird.

Der Return-Wert BCGRR_INVALID verhindert, dass die Zellengruppe auf die neue Größe geändert wird.

BCGRM_FINISH

Der Vorgang für die Änderung der Größe der Zellengruppe wurde beendet und die Größe der Zellengruppe wurde geändert.

Der Return-Wert wird nicht ausgewertet.

BCGRM_ABORT

Der Vorgang für die Änderung der Größe der Zellengruppe wurde abgebrochen.

Der Return-Wert wird nicht ausgewertet.

 

Datentyp:Int

 

<oCellGroupItem>Die Zellengruppe, deren Größe geändert wird.
Datentyp:bCellGroupItem

 

<iTouchedEdge>Die Rahmenseite der Zellengruppe, an der die Größe geändert wird. Es können folgende Werte auftreten:

 

Wert

Beschreibung

BCGRTE_LEFT

Die Größe der Zellengruppe wird am linken Rand verändert.

BCGRTE_TOP

Die Größe der Zellengruppe wird am oberen Rand verändert.

BCGRTE_RIGHT

Die Größe der Zellengruppe wird am rechten Rand verändert.

BCGRTE_BOTTOM

Die Größe der Zellengruppe wird am unteren Rand verändert.

 

Datentyp:Int

 

<oStartCell>Die Startzelle, an der die Zellengruppe beginnt. Die Zelle definiert eine absolute Position.
Datentyp:bCell

 

<oEndCell>Die Endzelle, an der die Zellengruppe endet. Die Zelle definiert eine absolute Position.
Datentyp:bCell

 

<oStartCellNew>Die neue Startzelle, an der die Zellengruppe beginnen soll. Die Zelle definiert eine absolute Position.
Datentyp:bCell

 

<oEndCellNew>Die neue Endzelle, an der die Zellengruppe enden soll. Die Zelle definiert eine absolute Position.
Datentyp:bCell

 

<cInfoText>Ein Info-Text, der während der Größenänderung angezeigt werden soll. Das Argument muss als Referenz übergeben werden.
Datentyp:String

Rückgabewert

iResultNumerischer Wert, der definiert, ob der Modus korrekt verarbeitet wurde. Folgende Werte werden unterstützt:

 

Wert

Beschreibung

BCGRR_UNDEFINED

Der Modus wurde nicht verarbeitet.

 

Der bBrowser ermittelt selbstständig, ob der Modus erlaubt ist.

BCGRR_VALID

ie Größenänderung der Zellengruppe ist für den Modus erlaubt.

BCGRR_INVALID

Die Größenänderung der Zellengruppe ist für den Modus nicht erlaubt.

 

Datentyp:Int

Beschreibung

bBrowser:CellGroupResize() ist eine Callback-Methode, die immer dann vom bBrowser aufgerufen wird, wenn die Größe einer Zellengruppe mit der Maus im bBrowser verändert wird. Die Methode überprüft, ob im Owner des bBrowser eine Methode mit dem gleichen Namen definiert ist und ruft diese gegebenenfalls mit einem Objekt der Klasse bCellGroupResizeEvent als einziges Argument auf.

 

Der gesamte Vorgang für die Größenänderung einer Zellengruppe ist in mehrere Schritte unterteilt. Für jeden einzelnen Schritt ruft der bBrowser die Methode CellGroupResize() mit dem entsprechenden Modus auf. Der Owner des bBrowser kann durch die Definition einer eigenen CellGroupResize()-Methode auf diese Modi reagieren.

Beispiele

Das folgende Beispiel zeigt die Definition einer eigenen CellGroupResize()-Methode im Owner des bBrowser. Diese wird automatisch vom bBrowser aufgerufen.

 

METHOD CellGroupResize(oCellGroupResizeEvent) CLASS myDataWindow
   // Callback Methode für die Größenänderung einer Zellengruppe
   LOCAL iResult         AS INT
   LOCAL oStartCellNew   AS bCell
   LOCAL oEndCellNew     AS bCell
 
   // Modus auswerten
   iResult := BCGRR_UNDEFINED
   IF oCellGroupResizeEvent:Mode = BCGRM_GETINFOTEXT
      // Größe der Zelle als Info-Text im Event setzen.
      // -> Der Info-Text wird beim Resizen angezeigt.
      IF InList(oCellGroupResizeEvent:TouchedEdge, BCGRTE_LEFT, BCGRTE_RIGHT)
         oStartCellNew := oCellGroupResizeEvent:StartCellNew
         oEndCellNew := oCellGroupResizeEvent:EndCellNew
         oCellGroupResizeEvent:InfoText := self:GetTimeFromColumnPercentage(oStartCellNew:Column, iif(oStartCellNew:ColumnPercentage = BCELL_PERCENTAGE_UNDEFINED, BCELL_PERCENTAGE_NULL, oStartCellNew:ColumnPercentage));
                                           + " / ";
                                           + self:GetTimeFromColumnPercentage(oEndCellNew:Column, iif(oEndCellNew:ColumnPercentage = BCELL_PERCENTAGE_UNDEFINED, BCELL_PERCENTAGE_MAX, oEndCellNew:ColumnPercentage))
         iResult := BCGRR_VALID
      ENDIF
   ENDIF
   RETURN iResult
 
METHOD GetTimeFromColumnPercentage(iColumn AS INT, rPercentage AS REAL8) AS STRING PASCAL CLASS myDataWindow
   // Spaltennummer (Stunden) und Prozentsatz (Minuten) in Uhrzeit konvertieren
   LOCAL cTime      AS STRING
   LOCAL iHours     AS INT
   LOCAL iMinutes   AS INT
 
   // Uhrzeit ermitteln
   iHours := iColumn - 2
   IF iColumn <= 0 .OR. iColumn > 23
      iHours := 0
   ELSE
      iHours := iColumn - 2
   ENDIF
   iMinutes := Integer(Round(60.00 * (rPercentage / BCELL_PERCENTAGE_MAX), BCELL_PERCENTAGE_PRECISION))
   cTime := StrZero(iHours, 2) + ":" + StrZero(iMinutes, 2)
   RETURN cTime

Siehe auch

bBrowser:ResizeCellGroup()

bCellGroupResizeEvent

bSample - CellGroups

 


Page url: http://www.YOURSERVER.com/index.html?bbrowser_cellgroupresize.htm