Navigation:  Klassen > bBrowser >

bBrowser:CellGroupMove()

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

Zweck

Callback-Methode für das Verschieben einer Zellengruppe.

Klasse

bBrowser

Typ

Methode

Syntax

<oBrowser>:CellGroupMove(

<iMode>,

<oCellGroupItem>,

<oCell>,

<cInfoText>

) Æ iResult

Argumente

<iMode>Modus, in dem sich das Verschieben der Zellengruppe befindet. Es können folgende Modi auftreten:

 

Modus

Beschreibung

Return-Wert

BCGMM_START

Das Verschieben der Zellengruppe wird gestartet.

Der Return-Wert BCGMR_VALID bewirkt, dass die Zellengruppe verschoben werden kann.

Der Return-Wert BCGMR_INVALID verhindert das Verschieben.

BCGMM_CHECKCELL

Die neue Position der Zellengruppe kann geprüft werden.

Der Return-Wert BCGMR_VALID bewirkt, dass die Zellengruppe an die neue Position verschoben werden kann.

Der Return-Wert BCGMR_INVALID verhindert, dass die Zellengruppe an diese Position verschoben werden darf.

Der Return-Wert BCGMR_UNDEFINED bewirkt, dass der bBrowser prüft, ob die Zellengruppe an der neuen Position eine andere Zellengruppe überschneidet. Ist dies der Fall, dann darf die Zellengruppe nicht an diese Position verschoben werden.

BCGMM_FINISHREQUEST

Das Verschieben der Zellengruppe wurde beendet. Die neue Position kann übernommen oder abgewiesen werden.

Der Return-Wert BCGMR_VALID bzw. BCGMR_UNDEFINED bewirkt, dass die Zellengruppe an die neue Position verschoben wird.

Der Return-Wert BCGMR_INVALID verhindert, dass die Zellengruppe an die neue Position verschoben wird.

BCGMM_FINISH

Die Zellengruppe wurde an die neue Position verschoben.

Der Return-Wert wird nicht ausgewertet.

BCGMM_ABORT

Das Verschieben der Zellengruppe wurde abgebrochen.

Der Return-Wert wird nicht ausgewertet.

 

Datentyp:Int

 

<oCellGroupItem>Die Zellengruppe, die verschoben wird.
Datentyp:bCellGroupItem

 

<oCell>Die neue Startzelle, an die die Zellengruppe verschoben werden soll. Die Zelle definiert eine absolute Position.
Datentyp:bCell

 

<cInfoText>Ein Info-Text, der während des Verschiebens unterhalb des Mauszeigers 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

BCGMR_UNDEFINED

Der Modus wurde nicht verarbeitet.

 

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

BCGMR_VALID

Das Verschieben der Zellengruppe ist für den Modus erlaubt.

BCGMR_INVALID

Der Verschieben der Zellengruppe ist für den Modus nicht erlaubt.

 

Datentyp:Int

Beschreibung

bBrowser:CellGroupMove() ist eine Callback-Methode, die immer dann vom bBrowser aufgerufen wird, wenn eine Zellengruppe mit der Maus im bBrowser verschoben wird. Die Methode überprüft, ob im Owner des bBrowsers eine Methode mit dem gleichen Namen definiert ist und ruft diese gegebenenfalls mit einem Objekt der Klasse bCellGroupMoveEvent als einziges Argument auf.

 

Der gesamte Verschiebevorgang für eine Zellengruppe ist in mehrere Schritte unterteilt. Für jeden einzelnen Schritt ruft der bBrowser die Methode CellGroupMove() mit dem entsprechenden Modus auf. Der Owner des bBrowser kann durch die Definition einer eigenen CellGroupMove()-Methode auf diese Modi reagieren.

Beispiele

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

 

METHOD CellGroupMove(oCellGroupMoveEvent) CLASS myDataWindow
   // Callback Methode für das Verschieben einer Zellengruppe
   LOCAL ocgiTemp     AS bCellGroupItem
   LOCAL oStartCell   AS bCell
   LOCAL oEndCell     AS bCell
   LOCAL iColumn      AS INT
   LOCAL rPercentage  AS REAL8
   LOCAL iHours       AS INT
   LOCAL iMinutes     AS INT
 
   // Modus auswerten
   IF oCellGroupMoveEvent:Mode = BCGMM_START
      IF oCellGroupMoveEvent:CellGroupItem:PropertyGet(#Fixed)
         // Die Zellengruppe darf nicht verschoben werden.
         // -> Durch die Rückgabe von BCGMR_VALID wird das Verschieben verhindert.
         RETURN BCGMR_INVALID
      ENDIF
   ELSEIF oCellGroupMoveEvent:Mode = BCGMM_CHECKCELL
      // Position der Zelle als Info-Text zurückgeben.
      // Der Info-Text wird unterhalb des Mauszeiger angezeigt wird.
      oStartCell := oCellGroupMoveEvent:CellGroupItem:GetStartCell(BCGIGCO_ABSOLUTE)
      oEndCell := oCellGroupMoveEvent:CellGroupItem:GetEndCell(BCGIGCO_ABSOLUTE)
 
      ocgiTemp := bCellGroupItem{oStartCell, oEndCell}
      ocgiTemp:Move(oCellGroupMoveEvent:Cell, BCGIMO_ABSOLUTEPOSITION)
 
      iColumn := ocgiTemp:StartCell:Column
      rPercentage := ocgiTemp:StartCell:ColumnPercentage
 
      iHours := iColumn - 2
      IF iColumn <= 0 .OR. iColumn > 23
         iHours := 0
      ELSE
         iHours := iColumn - 2
      ENDIF
      iMinutes := 60 * (rPercentage / 100.00)
 
      oCellGroupMoveEvent:InfoText := StrZero(iHours, 2) + ":" + StrZero(iMinutes, 2)
   ENDIF
   RETURN BCGMR_UNDEFINED

Siehe auch

bBrowser:MoveCellGroup()

bCellGroupMoveEvent

bSample - CellGroups

 


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