[COLOR="green"]'Beispiel läßt sich beliebig ausbauen[/COLOR]
Option Explicit
Const WS_VSCROLL = &H200000 'Scrollbars
Const WS_HSCROLL = &H100000
Const WS_TABSTOP = &H10000 'TabStops
Const WS_BORDER = &H800000 'Border
[COLOR="green"]'Dim fso[/COLOR]
Main
[COLOR="green"]'Set fso = Nothing[/COLOR]
Sub Main
[COLOR="green"]'Set fso = CreateObject("Scripting.FileSystemObject")[/COLOR]
If DialogRun("Beispiel") = True Then
DialogRun "Beispiel 1.x"
Else
Exit Sub
End If
MsgBox "Erfolgreich 2 Dialoge ausgeführt", vbInformation, "Beispieldialoge"
End Sub
Function DialogRun(Dlg)
Dim sEvent
If DialogCreate(Dlg) = False Then Exit Function
Do
sEvent = FF_ShowDialog(Dlg)
Select Case sEvent
Case "&Ok"
[COLOR="green"]'Daten sichern für die weitergehenden Arbeiten
'Evtl. in Arrays speichern und per BYREF zurückgeben etc.
'Oder direkt alles gleich hier erledigen oder die Arbeit
'einer Sub übergeben[/COLOR]
MsgBox FF_GetControl(Dlg, "txtFeld")
[COLOR="green"]'....
'....
'....[/COLOR]
DialogRun = True
Exit Do
Case "CANCEL", "&Abbrechen"
[COLOR="green"] 'Eventuell noch Positionen sichern etc...
'....[/COLOR]
DialogRun = False
Exit Do
End Select
Loop
FF_CloseDialog Dlg
End Function
[COLOR="green"]'Eigene Prozedur, die einen Dialog erzeugt,
'kann ein von FF-Dialog-Editor erzeugter Dialog sein.
'Da meist auch das Laden von Daten in die Controls
'nötig ist, am Besten auslagern[/COLOR]
Function DialogCreate(Dlg)
[COLOR="green"] 'FF-Dialog geringförmig umbauen: "Beispiel"->Dlg
'Man hat dann den Vorteil, den Dialogtitel frei
'zu bestimmen
'** Start Dialog Beispiel **[/COLOR]
FF_AddDialog Dlg,132,34
FF_AddControl Dlg,"Te&xtfeld:","STATIC",2,3,33,11
FF_AddControl Dlg,"txtFeld","SLEDIT",37,3,93,10
FF_AddControl Dlg,"&Ok","BUTTON",49,20,40,11
FF_AddControl Dlg,"&Abbrechen","BUTTON",90,20,40,11
[COLOR="green"]'** End Dialog Beispiel **[/COLOR]
[COLOR="green"]'Styles, die FF immer wieder verwirft, mit Hilfe von Konstanten setzen
'FF_SetControlStyle Dlg, "txtFeld", WS_VSCROLL
'Laden der Controls[/COLOR]
FF_SetControl Dlg, "txtFeld", "Dies ist ein Beispiel" [COLOR="green"]'Kann man auch mit einer Sub lösen,
'um die Übersicht besser zu behalten
'Gerade für variable Listen rentiert
'sich eine spezielle Laderoutine die
'auch mit Arrays umgehen kann. Gerade
'wenn Elemente gelöscht werden müssen
'muss eine Liste gelöscht und komplett
'neu bestückt werden[/COLOR]
FF_ActivateControl Dlg, "&Ok" [COLOR="green"]'Wichtig: Default auf ein Control setzen, sonst
'gibt es Probleme mit der Tastatursteuerung[/COLOR]
DialogCreate = True
End Function