أولا أبغى طريقة
لتنسيق البرنامج بحيث يعمل على أي مقاس لشاشة المستخدم
يواءا 800 في 600 أو 1024 في 768 أو أي مقاس
ثانيا :
أبغى أجعل البرنامج لا يعمل في حالة وجود مقاس الشاشة
أكبر من . 600x 800 ويظهر رسالة بأن البرنامج يعمل على مقاس
600x800
أولا أبغى طريقة
لتنسيق البرنامج بحيث يعمل على أي مقاس لشاشة المستخدم
يواءا 800 في 600 أو 1024 في 768 أو أي مقاس
ثانيا :
أبغى أجعل البرنامج لا يعمل في حالة وجود مقاس الشاشة
أكبر من . 600x 800 ويظهر رسالة بأن البرنامج يعمل على مقاس
600x800
السلام عليكم
اولا عند بدء تشغيل البرنامج يجب ان تفحص ابعاد الشاشة بالطريقة التالية
'Declaration dim ScreenW as long Dim ScreenH as long 'Form Load ScreenW = Screen.Width / 15 ScreenH = Screen.Height / 15 if ScreenW <> 800 and ScreenH <> 600 then Msgbox "Screen Reselution must be 800*600" End else msgbox "test Ok" end if
هذا الكود يفي بالغرض
تحياتي لك
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
وكيف عن طريق ال API يمكنني تغيير المقاس؟
فالمثال اعلاه فقط يتاكد من المقاس
من قال لا إله إلا الله صادقا دخل الجنة
موقعي للتعارف و تبادل الأخبار http://www.xybond.com
السلام عليكم
هذه دوال APi لتغيير دقة الشاشة
فقط قم بنسخ الكود بالكامل ولصقه في الفورم
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long Const CCDEVICENAME = 32 Const CCFORMNAME = 32 Const DM_PELSWIDTH = &H80000 Const DM_PELSHEIGHT = &H100000 Private Type DEVMODE 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 Dim DevM As DEVMODE Sub ChangeRes(iWidth As Single, iHeight As Single) Dim a As Boolean Dim i& i = 0 Do a = EnumDisplaySettings(0&, i&, DevM) i = i + 1 Loop Until (a = False) Dim b& DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT DevM.dmPelsWidth = iWidth DevM.dmPelsHeight = iHeight b = ChangeDisplaySettings(DevM, 0) End Sub Private Sub Command1_Click() 'åäÇ ãÞÇÓ ÇáÔÇÔÉ ChangeRes 1024, 768 End Sub
تحياتي لكم
prof_1982@hotmail.com
تم تعديل هذه المشاركة بواسطة prof_1982 في 15 يونيو 2004 في 13:58
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
اعتقد انه مافيش حل غير ان انت تتحكم
فى مقاس الشاشه وتغيرها فى كل مره ويمكنك بعد
انهاء البرنامج اعاده الشاشه الى ماكانت عليه
لماذا لا تعمل مقاس الفورمات عندك ثابت (حدود مربع نص) بحيث تظهر على أي مقاس للشاشة .. !
لأني قرأت عن هذه المعلومة في أحدى المواقع الخاصه بالفيجول
ولقيت أنهم يستخدمون هذا الأمر
on Erro Resume Next IbIstatus.width = me.width-1500 cmdnext.left=IbIstatus.width+700 cmdlast.left=cmdnext.left+340
ثم يستخدم جملة تكرار ويضع داخلها جميع الحقول الموجودة في الفورم
لتبيطق المقاسات علىيها جميعاً في حال تغير مقاسات
الشاشة
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…