![]() |
|
كيف اجعل البرنامج يأخذ حجم الشاسة مهما اختلف حجمها - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167) +--- الموضوع : كيف اجعل البرنامج يأخذ حجم الشاسة مهما اختلف حجمها (/showthread.php?tid=7565) الصفحات:
1
2
|
كيف اجعل البرنامج يأخذ حجم الشاسة مهما اختلف حجمها - hago - 07-02-13 اخى مشكلتك مع الــــ Screen Resolution [b][/b]فقط نزل المثال وعدل على مقاس الشاشة التى يعمل عليها مشروعك ليعمل على كل الاجهزة تحياتى لك ![]() كيف اجعل البرنامج يأخذ حجم الشاسة مهما اختلف حجمها - alglad - 20-03-13 ضع مايلي في module '''دقة الشاشة''''' Public co As Integer Public ABC As String Public intWidth As Integer Public intHeight As Integer Public Const EWX_LOGOFF = 0 Public Const EWX_SHUTDOWN = 1 Public Const EWX_REBOOT = 2 Public Const EWX_FORCE = 4 Public Const CCDEVICENAME = 32 Public Const CCFORMNAME = 32 Public Const DM_BITSPERPEL = &H40000 Public Const DM_PELSWIDTH = &H80000 Public Const DM_PELSHEIGHT = &H100000 Public Const CDS_UPDATEREGISTRY = &H1 Public Const CDS_TEST = &H4 Public Const DISP_CHANGE_SUCCESSFUL = 0 Public Const DISP_CHANGE_RESTART = 1 Type typDevMODE dmDeviceName As String * CCDEVICENAME dmSpecVersion As Integer dmDriverVersion As Integer dmSize As Integer dmDriverExtra As Integer dmFields As Long dmOrientation As Integer dmPaperSize As Integer dmPaperLength As Integer dmPaperWidth As Integer dmScale As Integer dmCopies As Integer dmDefaultSource As Integer dmPrintQuality As Integer dmColor As Integer dmDuplex As Integer dmYResolution As Integer dmTTOption As Integer dmCollate As Integer dmFormName As String * CCFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long End Type Declare Function EnumDisplaySettings Lib "User32" Alias "EnumDisplaySettingsA" ( _ ByVal lpszDeviceName As Long, ByVal iModeNum As Long, _ lptypDevMode As Any) As Boolean Declare Function ChangeDisplaySettings Lib "User32" Alias _ "ChangeDisplaySettingsA" (lptypDevMode As Any, ByVal dwFlags As Long) As Long Declare Function ExitWindowsEx Lib "User32" (ByVal uFlags As Long, _ ByVal dwReserved As Long) As Long '''دقة الشاشة''''' بعد ذلك في الفورم الابتدائي ضع التالي Dim typDevM As typDevMODE Dim lngResult As Long Dim intAns As Integer Private Sub Form_Load() ' تخزين دقة الشاشة intWidth = Screen.Width \ Screen.TwipsPerPixelX intHeight = Screen.Height \ Screen.TwipsPerPixelY ' تغيير دقة الشاشة lngResult = EnumDisplaySettings(0, 0, typDevM) With typDevM .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT .dmPelsWidth = 1024 'اختر العرض (640,800,1024, etc) .dmPelsHeight = 768 'اختر الطول (480,600,768, etc) End With lngResult = ChangeDisplaySettings(typDevM, CDS_TEST) Select Case lngResult Case DISP_CHANGE_RESTART intAns = MsgBox( _ "You must restart your computer to apply these changes." & vbCrLf & _ vbCrLf & "Do you want to restart now?", vbYesNo + vbSystemModal, _ "Screen Resolution") If intAns = vbYes Then Call ExitWindowsEx(EWX_REBOOT, 0) Case DISP_CHANGE_SUCCESSFUL Call ChangeDisplaySettings(typDevM, CDS_UPDATEREGISTRY) ' MsgBox "تم تغيير اعدادات الشاشة الى 1024*768", vbInformation, _ ' "تنبيه" Case Else MsgBox "Mode not supported", vbSystemModal, "Error" End Select End Sub في ازرار الخروج ضع Private Sub ALL2_Click() lngResult = EnumDisplaySettings(0, 0, typDevM) With typDevM .dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT .dmPelsWidth = intWidth 'اختر العرض (640,800,1024, etc) .dmPelsHeight = intHeight 'اختر الطول (480,600,768, etc) End With lngResult = ChangeDisplaySettings(typDevM, CDS_TEST) Select Case lngResult Case DISP_CHANGE_RESTART intAns = MsgBox( _ "You must restart your computer to apply these changes." & vbCrLf & _ vbCrLf & "Do you want to restart now?", vbYesNo + vbSystemModal, _ "Screen Resolution") If intAns = vbYes Then Call ExitWindowsEx(EWX_REBOOT, 0) Case DISP_CHANGE_SUCCESSFUL Call ChangeDisplaySettings(typDevM, CDS_UPDATEREGISTRY) ' MsgBox "تم تغيير اعدادات الشاشة الى 1024*768", vbInformation, _ ' "تنبيه" Case Else MsgBox "Mode not supported", vbSystemModal, "Error" End Select End End Sub مع ملاحظة في كل فورم موجود ضع في قسم التصريح Dim typDevM As typDevMODE Dim lngResult As Long Dim intAns As Integer |