neue Controls mit Class Code für den Formdesigner

Alles rund um Editoren, visuelle Entwicklungshilfen und Form-Designer

Moderator: Moderatoren

Antworten

den Tip kann ich gebrauchen

ja
0
Keine Stimmen
nein
1
100%
 
Insgesamt abgegebene Stimmen: 1

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

neue Controls mit Class Code für den Formdesigner

Beitrag von AUGE_OHR »

die "Service Packs" kann man ja in den Formdesigner integrieren sodas man diese Controls dann per DragDrop in einer Form plazieren kann.
im Formdesigner erscheinen dann die Controls im Property Monitor wo man die Eigenschaften, welches iVAR sind, konfigurieren kann.

in der Datei c:\ALASKA\XPPW32\Bin\XppFD.dat ist beschrieben :
; [creation]
; Dieser Abschnitt enthält nur eine Zeile. Die linke Seite muß iVar
; lauten und auf der rechten Seite sind alle Bezeichner für
; Instanzvariablen als komma-separierte Liste anzugeben, die Werte
; für die Konfiguration beinhalten. Die Schreibweise dieser iVars
; wird bei der Code-Generierung verwendet
; Falls hinter einem Bezeichner (#def) steht, existieren #define
; Konstanten für den Wert der entsprechenden Instanzvariable. Die
; Übersetzung von #define Konstanten erfolgt in der Funktion
; DefineConstant(), welche in der Datei XB2PDATA.PRG programmiert ist.
als Beispiel, weil auch ein native Control, der DXE_Progressbar ( XbpProgressbar )
[creation]
ivar = Minimum, Maximum, Increment,
Orientation (#def:Horizontal,XBPPRGR_ORIENT_HORIZONTAL,1;
Vertical,XBPPRGR_ORIENT_VERTICAL,2),
Style (#def:Normal,XBPPRGR_STYLE_NORMAL,0;
Smooth,XBPPRGR_STYLE_SMOOTH,17;
Marquee,XBPPRGR_STYLE_MARQUEE,8),
State (#def:Normal,XBPPRGR_STATE_NORMAL,1;
Paused,XBPPRGR_STATE_PAUSED,3;
Error,XBPPRGR_STATE_ERROR,2),
Border, MarqueeSpeed, UseVisualStyle
Xbase_Property_Monitor.JPG
Xbase_Property_Monitor.JPG (35.71 KiB) 4791 mal betrachtet
wie muss nun der Class Code aussehen damit das funktioniert ?
; [runTime]
; Dieser Abschnitt beschreibt die Runtime-Daten, insbesondere die
; Properties (ACCESS/ASSIGN Variable) eines Xbbase Parts. Der Werte
; eines Properties kann im Property Monitor editiert werden, nachdem
; das Objekt erzeugt ist. Die linke Seite muß iVar lauten, rechts sind
; alle Bezeichner für Instanzvariable als kommaseparierte Liste
; anzugeben. Die Schreibweise dieser iVars wird bei der Code-Generierung
; verwendet.

Code: Alles auswählen

CLASS DXE_ProgressBar FROM XbpStatic
 PROTECTED:
   VAR nMinimum
   VAR nMaximum
   VAR nState
   VAR nOrientation
   VAR nIncrement
   VAR nMarqueeSpeed
   VAR lBorder
   VAR nValue
EXPORTED:
   ACCESS METHOD GetMinimum()                 VAR Minimum
   ASSIGN METHOD SetMinimum(nMinimum)         VAR Minimum
   ACCESS METHOD GetMaximum()                 VAR Maximum
   ASSIGN METHOD SetMaximum(nMaximum)         VAR Maximum
   ACCESS METHOD GetState()                   VAR State
   ASSIGN METHOD SetState(nState)             VAR State
   ACCESS METHOD GetOrientation()             VAR Orientation
   ASSIGN METHOD SetOrientation(nOrientation) VAR Orientation
   ACCESS METHOD GetIncrement()               VAR Increment
   ASSIGN METHOD SetIncrement(nIncr)          VAR Increment
   ACCESS METHOD GetMarqueeSpeed()            VAR MarqueeSpeed
   ASSIGN METHOD SetMarqueeSpeed(nSpeed)      VAR MarqueeSpeed
   ACCESS METHOD GetStyle()                   VAR Style
   ASSIGN METHOD SetStyle(nStyle)             VAR Style
   ACCESS METHOD GetBorder()                  VAR Border
   ASSIGN METHOD SetBorder(lDisplay)          VAR Border
   ACCESS METHOD GetScaleMax()                VAR ScaleMax
   ASSIGN METHOD SetScaleMax(nIncr)           VAR ScaleMax
   ACCESS METHOD EditBuffer()                 VAR Value
   ASSIGN METHOD SetData()                    VAR Value

INLINE CLASS METHOD initclass()
ENDCLASS

METHOD DXE_ProgressBar:init(p1,p2,p3,aSize,aPresParam,p6)
METHOD DXE_ProgressBar:Create(p1,p2,p3,p4,aPresParam,p6)
METHOD DXE_ProgressBar:Destroy()
METHOD DXE_ProgressBar:GetMinimum()
METHOD DXE_ProgressBar:SetMinimum(nMinimum)
METHOD DXE_ProgressBar:GetMaximum()
METHOD DXE_ProgressBar:SetMaximum(nMaximum)
METHOD DXE_ProgressBar:GetState()
METHOD DXE_ProgressBar:SetState(nState)
METHOD DXE_ProgressBar:GetOrientation()
METHOD DXE_ProgressBar:SetOrientation(nOrientation)
METHOD DXE_ProgressBar:GetIncrement()
METHOD DXE_ProgressBar:SetIncrement(nIncr)
METHOD DXE_ProgressBar:GetMarqueeSpeed()
METHOD DXE_ProgressBar:SetMarqueeSpeed(nSpeed)
METHOD DXE_ProgressBar:GetStyle()
METHOD DXE_ProgressBar:SetStyle(nStyle)
METHOD DXE_ProgressBar:GetBorder()
METHOD DXE_ProgressBar:SetBorder(lDisplay)
METHOD DXE_ProgressBar:GetScaleMax()
METHOD DXE_ProgressBar:SetScaleMax(nIncr)
METHOD DXE_ProgressBar:EditBuffer()
METHOD DXE_ProgressBar:SetData( nNewValue )
gruss by OHR
Jimmy
Antworten