TBeCbEditDesktop
TBeCbEditDesktop
Eine Komponente, die es ermöglicht, über den Codeblock (F12-Formulare) be-Masken aus der Maskenverwaltung in ein Control zu laden.
Eigenschaften
Eigenschaften | |
CbParent:O | Control, in welches die Maske geladen werden soll. |
CbDataSource:O | DataSource der MainTable für die Maske |
CbMaskID:C | ID der Maske, die geladen werden soll. |
Funktionen und Methoden | |
CbLoadMask | Maske in das Control CbParent laden. (Falls CbParent = nil, wird als Control der Owner verwendet) |
Beispiel
// Dieser Beispiel-Codeblock erstellt ein Formular das eine be-Maske lädt
// Im Oberen bereich lassen sich 2 Buttons finden zum Skippen der Haupt-Tabelle
// Im Linken Bereich ist die Haupttabelle in einem Grid-Dargestellt und kann auch
// hier frei positioniert werden
// Der Rechte Bereich ist das Parent-Control, in das die Maske geladen wird.
| oForm, oDesktop, opnl_dsControl, opnl_Mask_Left, opnl_Mask_Right, obtn_Next,
obtn_Prior, oMainTable, Ds_MainTable, oGrid |
//******************************************************************************
// Im DataSource auf den nächsten Datensatz sprigen
//******************************************************************************
function btn_Click_Next()
oMainTable.CbNext(),
end,
//******************************************************************************
// Im DataSource auf den vorherigen Datensatz springen
//******************************************************************************
function btn_Click_Prior()
oMainTable.CbPrior(),
end,
//******************************************************************************
oForm := CreateObject('TFormEx'),
startseq
// Panel Steuerungskontrolle des DataSource
opnl_dsControl := CreateObject('TPanel', , oForm, oForm),
opnl_dsControl.align := alTop,
// Button der im DataSource auf den nächsten Datensatz springt
obtn_Next := CreateObject('TButton', , opnl_dsControl, opnl_dsControl),
obtn_Next.caption := '>',
obtn_Next.align := alRight,
AssignEvent(obtn_Next, 'OnClick', 'btn_Click_Next'),
// Button der im DataSource auf den vorherigen Datensatz springt
obtn_Prior := CreateObject('TButton', , opnl_dsControl, opnl_dsControl),,
obtn_Prior.caption := '<',
obtn_Prior.align := alLeft,
AssignEvent(obtn_Prior, 'OnClick', 'btn_Click_Prior'),
// Panel auf der linken Seite
opnl_Mask_Left := CreateObject('TPanel', , oForm, oForm),
opnl_Mask_Left.align := alLeft,
opnl_Mask_Left.Width := oForm.Width / 2,
// Panel das die Maske beinhaltet
opnl_Mask_Right := CreateObject('TScrollBox', , oForm, oForm),
opnl_Mask_Right.align := alClient,
// DataSet
oMainTable := CreateObject('TBeRightsTable', , oForm),
oMainTable.WorkArea := waDab050,
oMaintable.Active := True,
// DataSource
Ds_MainTable := CreateObject('TDataSourceEx', 'ds_MainTable', oForm),
Ds_MainTable.DataSet := oMaintable,
// Grid zur Anzeige der Positionierung
oGrid := CreateObject('TBeAltGrid', , opnl_Mask_Left, opnl_Mask_Left),
oGrid.Align := alClient,
oGrid.DataSource := Ds_MainTable,
// Desktop
// muss mit dem Selben Owner erzeugt werden wie das DataSoruce und er muss das Formular sein
oDesktop := CreateObject('TBeCbEditDesktop', ,oForm),
oDesktop.CbDataSource := Ds_MainTable,
oDesktop.CbMaskID := '000016001',
oDesktop.CbParent := opnl_Mask_Right, // Optional, sonst wird opnl_Mask_Left genommen
oDesktop.CbLoadMask(),
ShowModal(oForm),
always
DestroyObject(oForm),
stopseq,