Property | Datentyp(Read/Write) | Hinweise |
Caption | String (R/W) | Set/Get den Fenstertitel |
Color | UInteger (R/W) | Hintergrundfarbe des Fenster ; voreingestellt ist weiss |
Handle | HWND (R) | Handle des Fenster (nur lesen !) |
SUB/Function | Argumente | Hinweis |
Function Create | (ByVal hParent As HWND, sCaption As String, ByVal w As Integer, ByVal h As Integer ) As Integer |
Handle des übergeordneten Fenster Fenstertitel Weite Höhe Rückgabewert |
Sub Close | (ByVal retVal As Integer) | Schliesst die Dialogbox und übergibt einen Integer an die Function Create |
Event SUB | Argumente | Hinweis |
onInitdialog | (ByVal hWnd As HWND) | Hier werden die Controls eingebunden |
onShow | (ByVal w As UInteger) | TRUE Fenster ist sichtbar FALSE Fenster ist versteckt |
onSize | (ByVal w As Integer, ByVal h As Integer, ByVal flag As Integer) |
w = weite des Clientbereiches h = Höhe des Clientbereiches Kann SIZE_MAXIMIZED,SIZE_MINIMIZED oder SIZE_RESTORED sein |
onPaint | (ByVal hDC As HDC) | HDC des Fenster |
onLbuttondown | (ByVal x As Integer, ByVal y As Integer, ByVal flag As Integer) |
x - Position im Clientbereich y - Position im Clientbereich ob und welcher virtual keys ist gedrückt(z.B.MK_CONTROL,MK_SHIFT) |
onLbuttonup | (ByVal x As Integer, ByVal y As Integer, ByVal flag As Integer) |
x - Position im Clientbereich y - Position im Clientbereich ob und welcher virtual keys ist gedrückt(z.B.MK_CONTROL,MK_SHIFT) |
onMousemove | (ByVal x As Integer, ByVal y As Integer, ByVal flag As Integer) |
x - Position im Clientbereich y - Position im Clientbereich ob und welcher virtual keys ist gedrückt(z.B.MK_CONTROL,MK_SHIFT) |
onKeyDown | (nKey AS Integer, lKeyStatus As Integer) |
Virtualkey Code kann VK_SHIFT, VK_CONTROL oder VK_MENU (Alt) sein |
onKeyUp | (nKey AS Integer, lKeyStatus As Integer) |
Virtualkey Code kann VK_SHIFT, VK_CONTROL oder VK_MENU (Alt) sein |
onKeyChar | (nKey AS Integer, lKeyStatus As Integer) |
Virtualkey Code kann VK_SHIFT, VK_CONTROL oder VK_MENU (Alt) sein |
onClose | keine | Die Form wird geschlossen |
onCommand | (ByVal notify As Integer, ByVal ID As Integer, ByVal ctl As HWND) |
Notification Code ID des Control Handle des Control von dem die Botschaft kommt |
Die Dialogbox wird immer im Elternfenster zentriert, deshalb braucht Left und Top nicht angegeben werden
Anders als bei Form müssen die Controls in OnInitdialog erstellt werden, da Dialog Create erst nach Schließen der Dialogbox mit dem von Close übergebenen Wert zurück kehrt.
'Wenn das Menu About eine Dialogbox zeigt '------------------------ Dim Shared As FDialogBox PTR pDlgBox1 Dim Shared As FPanel PTR pDlgPanel1 Dim Shared As FButton PTR pDlgButton1 Sub Button_onClick pDlgBox1->Close(0) ' Wert wird von pDlgBox1->Create zurückgegeben End Sub Sub dlg1_OnInitdialog(ByVal hWnd As HWND) ' alle Control müssen hier erstellt werden pDlgPanel1 = New FPanel pDlgButton1 = New FButton pDlgPanel1->Create(hWnd,10,10,276,140) pDlgPanel1->Caption =Chr(13,10)+ " Dialogbox mit FDialogBox " +Chr(13,10)+" hat kein Menü und hat immer ein Dialog-Rahmen" pDlgPanel1->Border=1 pDlgPanel1->TextAlign=4 ' mehrzeilig mitte pDlgButton1->Create(hWnd,"OK",100,180,100,26) pDlgButton1->onClick = @Button_onClick End Sub ' Das könnte z.B. Event-Sub vom Menu des Hauptfensters sein '--------------------------------------------------------------- Sub menu_About Dim As Integer retVal pDlgBox1 = New FDialogBox pDlgBox1->Color = &Hefcb90 ' Anders wie bei normaler Form pDlgBox1->OnInitdialog=@dlg1_OnInitdialog ' Eigenschaften vor!! Create retVal = pDlgBox1->Create(Form1.Handle,"Info",300,250) Delete pDlgBox1 ' Speicher bereinigen Delete pDlgPanel1 Delete pDlgButton1 End Sub