laatzen/Pruef2000/source/Shared/universal/Dialog.bas
2021-10-01 11:11:04 +02:00

108 lines
2.9 KiB
QBasic

Attribute VB_Name = "modDialog"
'==============================================================================
'
' File : Dialog.bas
' Date : 11.02.1999
' Version: 1.00
' Author : Andreas Schmidt, lindner&partner
'
'==============================================================================
'
' *shared*
'
' Funktionen zur Arbeit mit Dialogen
'
'==============================================================================
'
' History:
'
' Date : 11.02.1999
' Version: 1.00
' Author : Andreas Schmidt, lindner&partner
'
' Erste Version.
'
'==============================================================================
Option Explicit
' Standard dialog button IDs
' --------------------------
Global Const IDOK = 1
Global Const IDCANCEL = 2
Global Const IDABORT = 3
Global Const IDRETRY = 4
Global Const IDIGNORE = 5
Global Const IDYES = 6
Global Const IDNO = 7
' Dialog modal zur Anzeige bringen.
'
' @param frm anzuzeigender Dialog
'
' @return IDOK = Dialog wurde mit OK beendet,
' IDCANCEL = Dialog wurde mit CANCEL beendet,
' IDABORT = Fehler bei der Initialisierung des Dialogs
'
Public Function doModal(frm As Form, Optional bCenterForm) As Integer
If IsMissing(bCenterForm) Then bCenterForm = False
If bCenterForm Then Call centerFormInScreen(frm)
On Error GoTo doModalErr
frm.Show vbModal
doModalErr:
doModal = frm.getExitCode()
End Function
Public Function doNonModal(frm As Form, Optional bCenterForm As Boolean)
If IsMissing(bCenterForm) Then bCenterForm = False
If bCenterForm Then Call centerFormInScreen(frm)
frm.Show
frm.Visible = True
If Left(frm.Caption, Len("Pruef2000")) <> "Pruef2000" Then
frm.Caption = "Pruef2000 (" & frm.Name & ") " & App.EXEName & " Version " & App.Major & "." & App.Minor & "." & App.Revision
End If
doNonModalErr:
End Function
Public Sub centerFormInScreen(frm As Form)
If frm.WindowState = 0 Then
frm.Top = (Screen.Height - frm.Height) \ 2
frm.Left = (Screen.Width - frm.Width) \ 2
End If
End Sub
Public Sub centerFormInWindow(frm As Form, frmParent As Form)
frm.Top = frmParent.Top + (frmParent.Height - frm.Height) \ 2
frm.Left = frmParent.Left + (frmParent.Width - frm.Width) \ 2
End Sub
' Control in Parent-Container zentrieren
'
Public Sub centerControlInParent(child As Control, parent As Control)
child.Top = (parent.Height - child.Height) \ 2
child.Left = (parent.Width - child.Width) \ 2
End Sub
Public Function TwipsPerPixelX(nPixel) As Integer
TwipsPerPixelX = nPixel * Screen.TwipsPerPixelX
End Function
Public Function TwipsPerPixelY(nPixel) As Integer
TwipsPerPixelY = nPixel * Screen.TwipsPerPixelY
End Function
Public Function PixelPerTwipsX(nTwips) As Integer
PixelPerTwipsX = nTwips / Screen.TwipsPerPixelX
End Function
Public Function PixelPerTwipsY(nTwips) As Integer
PixelPerTwipsY = nTwips / Screen.TwipsPerPixelY
End Function