PDA

View Full Version : سوال: دستکاری یک ماژول به درد بخور اما شاید سخت



lorzadehj
پنج شنبه 24 اسفند 1391, 16:19 عصر
با سلام خدمت اساتید
من می خواستم در ماژول ذیل قسمتی را وارد نمایم که بتوانم به جای عدد ثابت عدد متغییر یا یک تکس باک معرفی کنم اما جواب نمی ده
البته نمونه هم گذاشته که اگه اساتید زحمت بکشند و راهنماییم نماید بسیار ممنونشان می شوم
101431

Abbas Amiri
پنج شنبه 24 اسفند 1391, 17:59 عصر
سلام
کمی تغییرات درکد بدهید


Private DESIGN_HORZRES As Long
Private DESIGN_VERTRES As Long


روال ReSizeForm با کدهای زیر جایگزین کنید


Public Sub ReSizeForm(ByVal frm As Access.Form, hRes As Long, vRes As Long)
Dim rectWindow As tRect
Dim lngWidth As Long
Dim lngHeight As Long
Dim sngVertFactor As Single
Dim sngHorzFactor As Single
On Error Resume Next
DESIGN_HORZRES = hRes
DESIGN_VERTRES = vRes
sngVertFactor = getFactor(True) 'Local function returns vertical size change.
sngHorzFactor = getFactor(False) 'Local function returns horizontal size change.
Resize sngVertFactor, sngHorzFactor, frm 'Local procedure to resize form sections & controls.
If WM_apiIsZoomed(frm.hwnd) = 0 Then 'Don't change window settings for max'd form.
Access.DoCmd.RunCommand acCmdAppMaximize 'Maximize the Access Window.
'Store for dimensions in rectWindow:-
Call WM_apiGetWindowRect(frm.hwnd, rectWindow)
'Calculate and store form height and width in local variables:-
With rectWindow
lngWidth = .right - .left
lngHeight = .bottom - .Top
End With
'Resize the form window as required (don't resize this for sub forms):-
If frm.Parent.name = VBA.vbNullString Then
Call WM_apiMoveWindow(frm.hwnd, ((getScreenResolution.Width - _
(sngHorzFactor * lngWidth)) / 2) - getLeftOffset, _
((getScreenResolution.Height - (sngVertFactor * lngHeight)) / 2) - _
getTopOffset, lngWidth * sngHorzFactor, lngHeight * sngVertFactor, 1)
End If
End If
Set frm = Nothing 'Free up resources.
End Sub



روال Form_Load را مطابق زیر جایگزین و بعدی را اضافه کنید


Private Sub Form_Load()
ReSizeForm Me, CLng(Nz(Text2, 800)), CLng(Nz(Text3, 600))
End Sub

Private Sub Text3_AfterUpdate()
If Not (IsNull(Text2) Or IsNull(Text3)) Then
ReSizeForm Me, CLng(Text2), CLng(Text3)
End If
End Sub


باید مقادیراستاندارد را برای این مورد درنظر بگیرید به همین منظور استفاده از کمبوباکس که مقادیر رزولوشن به طور ثابت داشته باشد توصیه میشود.

lorzadehj
پنج شنبه 24 اسفند 1391, 18:56 عصر
سلام استاد امیری
کار را که کرد آن که تمام کرد
هر چی کردم نشد
لطف می کنید که نمونه بنده رو اصلاح نمایید
با تشکر فراوان

Abbas Amiri
پنج شنبه 24 اسفند 1391, 20:43 عصر
سلام
فایل اصلاح شد .

lorzadehj
پنج شنبه 24 اسفند 1391, 21:06 عصر
با سلام مجدد
آقای امیری خیلی ممنون
کولاک کردی
خدا خیرت بده
تا سوال و زحمت بعدی خدا نگهدار و تشکر فراوان