Codeblock Onlinehilfe

TbeCbAttachment

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,