Går det att bestämma vilka positioner en MsgBox ska ha när den ploppar upp? Antingen så gör du en egen.... MyMsgBox. Såg alldeles för jobbigt ut för att jag skulle orka lägga in det i programmet. Dom får helt enkelt poppa upp i mitten....Positionera MsgBox
Hatar att den alltid ska komma upp mitt på sidan....
//JonasSv: Positionera MsgBox
Eller så gör du så här.
Skapa nytt projekt med en 'Form1' och en 'Module1'
============================================
Klistra in i Form1
============================================
Option Explicit
Private Sub Form_Load()
'Replace the '4000' below with the number of milliseconds the message box
'will appear. 1000 milliseconds = 1 second
SetTimer hWnd, NV_CLOSEMSGBOX, 1&, AddressOf TimerProc
Call MessageBox(hWnd, "Denna messagebox är inte där den skall vara", "Flyttbar MsgBox", vbQuestion)
End Sub
============================================
Klistra in i Module1
============================================
Option Explicit
Public Const NV_CLOSEMSGBOX As Long = &H5000&
Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&, _
ByVal uElapse&, ByVal lpTimerFunc&)
Public Declare Function FindWindow& Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Public Declare Function LockWindowUpdate& Lib "user32" (ByVal hwndLock&)
Public Declare Function SetForegroundWindow& Lib "user32" (ByVal hwnd&)
Public Declare Function MessageBox& Lib "user32" Alias "MessageBoxA" _
(ByVal hwnd&, ByVal lpText$, ByVal lpCaption$, ByVal wType&)
Public Declare Function KillTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&)
Public Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Public Const API_FALSE As Long = 0&
Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
KillTimer hwnd, idEvent
Dim hMessageBox&
'// "Flyttbar MsgBox" måste ändras här och i Form_Load om det skall funka
'// De måste alltså vara lika.
hMessageBox = FindWindow("#32770", "Flyttbar MsgBox")
If hMessageBox Then
Call SetWindowPos(hMessageBox, 0, 100, 100, 300, 150, 0)
End If
Call LockWindowUpdate(API_FALSE)
End Sub
\\ Detta tipps har jag fått nånstans. Kanske här på Pellesoft
jag kan inte komma ihåg.
[peter.h]Sv: Positionera MsgBox
Men tack ändå.
//Jonas