Imports System.Globalization Imports System.Runtime.InteropServices Imports EgtUILib Public Module Utility #Region "" ' Posizione della tastiera Public Enum Positions CenteredInOwner RelativeToSource Custom End Enum ' Lato di riferimento per posizionare la tastiera quando impostato a RelativeToSource Public Enum RelativeToSourcePositions Top Right Bottom Left End Enum #End Region Enum WidthType GRID PIXEL NULL End Enum Friend Function DoubleToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String Dim sFormat As String = "F" + Math.Abs(nNumDec).ToString() Dim sVal As String = dVal.ToString(sFormat, CultureInfo.InvariantCulture) If nNumDec > 0 Then Return sVal.TrimEnd("0".ToCharArray()).TrimEnd(".".ToCharArray) Else Return sVal End If End Function Friend Function StringToDouble(sVal As String, ByRef dVal As Double) As Boolean If String.IsNullOrEmpty(sVal) Then Return False Return EgtLuaEvalNumExpr(sVal, dVal) End Function Private m_MainWindow As Window Public Property MainWindow As Window Get Return m_MainWindow End Get Set(value As Window) m_MainWindow = value End Set End Property #Region "" Public Class WinApi _ Public Structure RECT Public Left As Integer Public Top As Integer Public Right As Integer Public Bottom As Integer End Structure _ Public Shared Function GetWindowRect(hWnd As IntPtr, ByRef lpRect As RECT) As Boolean End Function _ Public Shared Function SetWindowPos(hWnd As IntPtr, hWndInsertAfter As IntPtr, X As Integer, Y As Integer, cx As Integer, cy As Integer, _ uFlags As UInteger) As Boolean End Function Public Shared ReadOnly HWND_TOPMOST As New IntPtr(-1) Public Shared ReadOnly HWND_NOTOPMOST As New IntPtr(-2) Public Shared ReadOnly HWND_TOP As New IntPtr(0) Public Shared ReadOnly HWND_BOTTOM As New IntPtr(1) Public Const SWP_NOSIZE As UInt32 = &H1 Public Const SWP_NOMOVE As UInt32 = &H2 Public Const SWP_NOZORDER As UInt32 = &H4 Public Const SWP_NOREDRAW As UInt32 = &H8 Public Const SWP_NOACTIVATE As UInt32 = &H10 Public Const SWP_FRAMECHANGED As UInt32 = &H20 ' The frame changed: send WM_NCCALCSIZE Public Const SWP_SHOWWINDOW As UInt32 = &H40 Public Const SWP_HIDEWINDOW As UInt32 = &H80 Public Const SWP_NOCOPYBITS As UInt32 = &H100 Public Const SWP_NOOWNERZORDER As UInt32 = &H200 ' Don’t do owner Z ordering Public Const SWP_NOSENDCHANGING As UInt32 = &H400 ' Don’t send WM_WINDOWPOSCHANGING Public Const TOPMOST_FLAGS As UInt32 = SWP_NOACTIVATE Or SWP_NOOWNERZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOREDRAW Or SWP_NOSENDCHANGING End Class #End Region End Module