
16-02-14, 09:57
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλημέρα Θοδωρή!
Κανονικά δεν συμβαίνει κάτι τέτοιο εκτός και αν η ιδιότητα "Στυλ περιγράμματος" μιας αναδυόμενης φόρμας έχει οριστεί σε "Κανένα".
Ή λοιπόν αλλάζεις το στυλ περιγράμματος της φόρμας για να λειτουργήσει σωστά η μακροεντολή
ή χρησιμοποιείς συναρτήσεις των Windows API κατά τη φόρτωση της φόρμας για να μην καλύψει
ή να μην καλυφθεί από την μπάρα εργασίας του λειτουργικού.
Ο κώδικας VBA σ΄αυτή την περίιπτωση είναι: Κώδικας: Option Compare Database
Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function SystemParametersInfo Lib "user32" Alias _
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef _
lpvParam As RECT, ByVal fuWinIni As Long) As Long
Private Declare Function MoveWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal _
x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
bRepaint As Long) As Long
Private Const SPI_GETWORKAREA = 48
' Private Sub cmdClose_Click()
' DoCmd.Close acForm, Me.Name
' End Sub
Private Sub Form_Load()
Dim oRect As RECT
Dim ret As Long
ret = SystemParametersInfo(SPI_GETWORKAREA, 0, oRect, 0)
If ret <> 0 Then
ret = MoveWindow(Me.hwnd, oRect.Left, oRect.Top, (oRect.Right - oRect.Left), (oRect.Bottom - oRect.Top), 1)
End If
End Sub
Καλή συνέχεια!
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |