TbeCbAttachment
Die Klasse TbeCbAttachment ist ein Panel, das ermöglicht Drag&Drop für Anhänge zu nutzen. In den F12-Formularen ist die Komponente in der Tab-Karte "Allgemein" unter dem Icon zu finden.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
Align:N |
|
|
Alignment:N |
|
|
AlignWithMargins:L |
|
|
Anchors:N |
|
|
AutoSize:L |
|
|
BeSizeBeforeSplitterClose:N |
|
|
beSplitter:O |
|
|
BeSplitterState:N |
|
|
BevelEdges:N |
|
|
BevelInner:N |
|
|
BevelKind:N |
|
|
BevelOuter:N |
|
|
BevelWidth:N |
|
|
BiDiMode:N |
|
|
BorderStyle:N |
|
|
BorderWidth:N |
|
|
Caption:C |
|
|
Color:N |
|
|
Constraints:O |
|
|
Ctl3D:L |
|
|
Cursor:N |
|
|
CustomHint:O |
|
|
DataField:C |
Das Feld der Tabelle DataSet, in welchem wird den Anhang beim jeden Drop gespeichert. Es muss um einen MEMO Feld gehen. |
|
DataSet:O |
Die Tabelle, welche beim jeden Drop editiert wird, und die musste danach gespeichert werden (DbPost, CbPost usw.). **Achtung: kann aktuell nur mit TBeStandardTable und deren Ableitungen verwendet werden (nicht TMemCalcTable, TBeMemtable etc)** |
|
DockSite:L |
|
|
DoubleBuffered:L |
|
|
DoubleBufferedMode:N |
|
|
DragCursor:N |
|
|
DragKind:N |
|
|
DragMode:N |
|
|
DropTarget:O |
Ein Element des Formulars oder den Formular selbst. Definiert den Bereich, in welchen werden Drops akzeptiert. |
|
Enabled:L |
|
|
Font:O |
|
|
FullRepaint:L |
|
|
Height:N |
|
|
HelpContext:N |
|
|
HelpKeyword:C |
|
|
HelpType:N |
|
|
Hint:C |
|
|
Left:N |
|
|
Locked:L |
|
|
Margins:O |
|
|
Name:C |
|
|
Padding:O |
|
|
ParentBackground:L |
|
|
ParentBiDiMode:L |
|
|
ParentColor:L |
|
|
ParentCtl3D:L |
|
|
ParentCustomHint:L |
|
|
ParentDoubleBuffered:L |
|
|
ParentFont:L |
|
|
ParentShowHint:L |
|
|
PopupMenu:O |
|
|
ShowBeSplitter:L |
|
|
ShowCaption:L |
|
|
ShowEmbeddedAttachments:L |
Steuert, ob LoadAttachments die eingebettete Anhänge auch in dem Control angezeigt werden können. Muss vor dem Aufruf von LoadAttachments gesetzt werden. Default: false **Achtung: Wenn diese Eigenschaft auf true gesetzt wird, kann man die eingebetteten Anhänge unter Umständen auch löschen. Dadurch können z.B. E-Mail-Anhänge defekt werden.** |
|
ShowHint:L |
|
|
ShowSplitter:L |
|
|
StyleElements:N |
|
|
StyleName:C |
|
|
TabOrder:N |
|
|
TabStop:L |
|
|
Tag:N |
|
|
Top:N |
|
|
Touch:O |
|
|
UseDockManager:L |
|
|
VerticalAlignment:N |
|
|
Visible:L |
|
|
Width:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
LoadAttachments() |
|
Beispiel
|
Form, btn_Next, btn_Prev, btn_Save, attach_Main, btn_Cancel,
lbl_Id, lbl_Subject, pnl_State, DataSet, DataSource
|
function RefreshForm()
lbl_Id.Caption := 'ID: ' + Str(DataSet:MEMO_ID),
lbl_Subject.Caption := 'Betreff: ' + DataSet:BETREFF,
attach_Main.LoadAttachments(),
end,
function Resize(aCtrl, aLeft, aTop, aWidth, aHeight)
aCtrl.Left := aLeft,
aCtrl.Top := aTop,
aCtrl.Width := aWidth,
aCtrl.Height := aHeight,
end,
function btn_Prev_Click( Sender )
DataSet.CbPrior(),
RefreshForm(),
end,
function btn_Next_Click( Sender )
DataSet.CbNext(),
RefreshForm(),
end,
function btn_Save_Click( Sender )
DataSet.CbPost(),
RefreshForm(),
end,
function btn_Cancel_Click( Sender )
DataSet.CbCancel(),
RefreshForm(),
end,
function RefreshActions()
|State|
State := DBState(DataSet),
btn_Prev.Enabled := State = dsBrowse,
btn_Next.Enabled := State = dsBrowse,
btn_Save.Enabled := State = dsInsert or State = dsEdit,
btn_Cancel.Enabled := State = dsInsert or State = dsEdit,
end,
function DataSource_OnStateChange( Sender )
case DBState(DataSet)
of dsInactive :: pnl_State.Color := clRed,
of { dsInsert, dsEdit } :: pnl_State.Color := clGreen,
otherwise pnl_State.Color := clActiveBorder,
endcase,
RefreshActions(),
end,
startseq
Form := CreateObject('TFormEx'),
startseq
btn_Prev := CreateObject('TbeButton', 'btn_Prev', Form, Form),
btn_Save := CreateObject('TbeButton', 'btn_Save', Form, Form),
btn_Cancel := CreateObject('TbeButton', 'btn_Cancel', Form, Form),
btn_Next := CreateObject('TbeButton', 'btn_Next', Form, Form),
attach_Main := CreateObject('TbeCbAttachment', 'attach_Main', Form, Form),
lbl_Id := CreateObject('TbeLabel', 'lbl_Id', Form, Form),
lbl_Subject := CreateObject('TbeLabel', 'lbl_Subject', Form, Form),
pnl_State := CreateObject('TPanel', 'pnl_State', Form, Form),
DataSource := CreateObject('TDataSourceEx', 'DataSource_D065', Form),
DataSet := BeOpen(waDab065, 'DAB06B'),
btn_Prev.Caption := 'Previous',
btn_Save.Caption := 'Save',
btn_Cancel.Caption := 'Cancel',
btn_Next.Caption := 'Next',
pnl_State.Caption := '',
Form.ClientHeight := 180,
Form.ClientWidth := 320,
Form.Position := poScreenCenter,
Resize(btn_Prev, 5, 5, 70, 25),
Resize(btn_Save, 85, 5, 70, 25),
Resize(btn_Cancel, 165, 5, 70, 25),
Resize(btn_Next, 245, 5, 70, 25),
Resize(attach_Main, 4, 35, 312, 100),
Resize(lbl_Id, 40, 140, 0, 0),
Resize(lbl_Subject, 40, 157, 0, 0),
Resize(pnl_State, 5, 139, 30, 32),
DataSource.DataSet := DataSet,
DataSource_OnStateChange(DataSource),
AssignEvent(btn_Prev, 'OnClick', 'btn_Prev_Click'),
AssignEvent(btn_Next, 'OnClick', 'btn_Next_Click'),
AssignEvent(btn_Cancel, 'OnClick', 'btn_Cancel_Click'),
AssignEvent(btn_Save, 'OnClick', 'btn_Save_Click'),
AssignEvent(DataSource, 'OnStateChange', 'DataSource_OnStateChange'),
attach_Main.DropTarget := Form,
attach_Main.DataSet := DataSet,
attach_Main.DataField := 'DATA',
attach_Main.ShowEmbeddedAttachments := false,
DataSet.CbLast(),
RefreshForm(),
RefreshActions(),
ShowModal(Form),
always
DestroyObject(Form),
stopseq,
onerror
Writeln(GetErrorText(GEtErrorObj())),
stopseq,