alsihran قام بنشر يونيو 8, 2022 قام بنشر يونيو 8, 2022 السلام عليكم هل يمكن التحكم برمجيا بعرض وارتفاع واجهة برنامج الاكسس
تمت الإجابة jjafferr قام بنشر يونيو 8, 2022 تمت الإجابة قام بنشر يونيو 8, 2022 وعليكم السلام 🙂 في الرابط برنامج ما استغنى عنه ، عدة مرات في اليوم ، ولما تشغله تحصل على جواب سؤالك جعفر 3
alsihran قام بنشر يونيو 8, 2022 الكاتب قام بنشر يونيو 8, 2022 تمام الله يعطيك العافية هل بالامكان عدم تكبير النافذة مادام البرنامج مفتوح لان الموضوع مرتبط بفتح النموذج على شاشات مختلفة المقاسات وتظهر العناصر في غير اماكنها
jjafferr قام بنشر يونيو 8, 2022 قام بنشر يونيو 8, 2022 2 ساعات مضت, alsihran said: هل بالامكان عدم تكبير النافذة نعم ممكن ، كل شغل الحجم موجود في حدث "عند فتح النموذج" ، فإحذف DoCmd.Maximize اما اذا كنت تريد ترتب النماذج داخل شاشة الاكسس ، فيمكنك استعمال الامر docmd.MoveSize(Right, Down, Width, Height) جعفر 3
alsihran قام بنشر يونيو 8, 2022 الكاتب قام بنشر يونيو 8, 2022 3 ساعات مضت, jjafferr said: كل شغل الحجم موجود في حدث "عند فتح النموذج" ، فإحذف DoCmd.Maximize الله يعطيك العافية المقصود عدم تمكين المستخدم من سحب الاطار لتكبير او تصغيره صراحه الكود جدا ممتاز واعتقد راح يحل لي مشكلة بعثرة الادوات داخل النموذج عند اختلاف مقاس الشاشات ياليت كان موجود بالكود حساب مقاس الشاشة للعرض والطول ليفتح بالمنتصف بالضبط لاني لاحظت انه يفتح اقصى اليسار واقصى ارتفاع الشاشة غيرت بالارقام وتغير موقع فتحه لكن المشكلة لو اختلف مقاس الشاشة ما اعرف ايش راح تكون النتيجة لاني ما بعد اجربه على شاشة مقاس 21
jjafferr قام بنشر يونيو 8, 2022 قام بنشر يونيو 8, 2022 1 ساعه مضت, alsihran said: 1. لمقصود عدم تمكين المستخدم من سحب الاطار لتكبير او تصغيره 2. ياليت كان موجود بالكود حساب مقاس الشاشة للعرض والطول ليفتح بالمنتصف بالضبط 3. لاني لاحظت انه يفتح اقصى اليسار واقصى ارتفاع الشاشة 4. غيرت بالارقام وتغير موقع فتحه لكن المشكلة لو اختلف مقاس الشاشة ما اعرف ايش راح تكون النتيجة لاني ما بعد اجربه على شاشة مقاس 21 1. يمكنك تغيير نوع اطار النموذج من اعدادات النموذج ، فلن يستطيع المستخدم تغيير حجم او مكان النموذج ، 2. كذلك من اعدادات النموذج ، اختار "نعم" ، حتى يفتح لك النموذج في منتصف شاشة الاكسس ، . 3. لأني انا طلبت منه يفتح البرنامج من مسافة صفر من يسار شاشة الوندوز ، وترك مسافة صفر من اعلى شاشة الوندوز ، مع ملاحظة ان حساب المسافة بقياس Twips (سنتيمتر 1 = 567 تويب ، وبوصة واحدة = 1440 تويب) 4. الرابط التالي فيه الكود المطلوب لمعرفة حجم شاشة الوندوز : . او بإختصار تنادي هذه الدالة: Declare ptrsafe Function GetSystemMetrics32 Lib "User32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Sub ScreenRes() Dim w As Long, h As Long w = GetSystemMetrics32(0) ' width in points h = GetSystemMetrics32(1) ' height in points End Sub . ** رجاء الملاحظة: شاشة الوندوز : هي الشاشة اللي لما تفتح الكمبيوتر وترى سطح المكتب : Screen/Display Resolution شاشة الاكسس : لما تفتح برنامج الاكسس ، المربع الاحمر هو شاشة الاكسس ، سواء اللي تشوفه في الصورة ، او لما تفتحه بدون اشرطة الاوامر العلوية ، وشريط بدون قائمة الكائنات من جداول و استعلامات وو ويعبئ حجم شاشة الوندوز . وبهذه الدالة تستطيع معرفة حجم شاشة الاكسس: 'https://www.tek-tips.com/viewthread.cfm?qid=1475779 Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As RECT) As Long Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _ ByVal hdc As Long) As Long Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _ ByVal nIndex As Long) As Long Public Const WU_LOGPIXELSX = 88 Public Const WU_LOGPIXELSY = 90 Public Function TwipsPerPixel(strDirection As String) As Long 'Handle to device Dim lngDC As Long Dim lngPixelsPerInch As Long Const nTwipsPerInch = 1440 lngDC = GetDC(0) If (Left$(strDirection, 1) = "X") Then 'Horizontal lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSX) Else 'Vertical lngPixelsPerInch = GetDeviceCaps(lngDC, WU_LOGPIXELSY) End If lngDC = ReleaseDC(0, lngDC) TwipsPerPixel = nTwipsPerInch / lngPixelsPerInch End Function Public Sub WindowSize(ByRef Height As Long, ByRef Width As Long) Dim hwnd As Long Dim rct As RECT hwnd = FindWindow(vbNullString, "Microsoft Access") If hwnd <> 0 And GetWindowRect(hwnd, rct) <> 0 Then Height = (rct.Bottom - rct.Top) * TwipsPerPixel("Y") Width = (rct.Right - rct.Left) * TwipsPerPixel("X") End If End Sub جعفر 1 1
alsihran قام بنشر يونيو 8, 2022 الكاتب قام بنشر يونيو 8, 2022 1 ساعه مضت, jjafferr said: 4. الرابط التالي فيه الكود المطلوب لمعرفة حجم شاشة الوندوز : بالنسبة لهذا الموضوع مريت عليه سابقا لكن حصلت انه مش منطقي اغير دقة الشاشة بالكامل بالاضافة اذا كان جهاز المستخدم مرتبط بسيرفر ما راح يسمح له يغير دقة الشاشة ( لاتوجد صلاحيات ) 2 ساعات مضت, jjafferr said: شاشة الاكسس : لما تفتح برنامج الاكسس ، المربع الاحمر هو شاشة الاكسس ، سواء اللي تشوفه في الصورة ، او لما تفتحه بدون اشرطة الاوامر العلوية ، وشريط بدون قائمة الكائنات من جداول و استعلامات وو ويعبئ حجم شاشة الوندوز انا افتح برنامجي مثل ما تفتح برنامجك اللي وضعت رابطه وقلت ما تستغني عنه بالنسبه لجميع مواضيع حجم الشاشة بالمنتدى تقريبا جربتها كلها ومع الاسف الاخوان وضعوها على انها تعمل ولمى جربتها الى شاشة مقاس 21 كلها فشلت وظهرت ادوات النماذج متبعثره اعتقد كودك اللي تحدد فيه حجم نافذة الاكسس عند بدء تشغيل اول نموذج راح يساعد قي ضبط الامور نوعا ما مع تحديد الارتساء الافقي لادوات النموذج يمين / يسار الى كليهما ان شاء الله باكر لمى اجرب على الشاشة الكبيرة اضع النتيجة شاكر ومقدر لك
jjafferr قام بنشر يونيو 8, 2022 قام بنشر يونيو 8, 2022 22 دقائق مضت, alsihran said: انه مش منطقي اغير دقة الشاشة بالكامل انا ما قلت هذا الشيء ، ومن معارضي تغيير اعدادات الوندوز حقي ، او اضافة شيء في الريجستري ، انا قلت 2 ساعات مضت, jjafferr said: الرابط التالي فيه الكود المطلوب لمعرفة حجم شاشة الوندوز . 25 دقائق مضت, alsihran said: بالنسبه لجميع مواضيع حجم الشاشة بالمنتدى تقريبا جربتها كلها ومع الاسف الاخوان وضعوها على انها تعمل ولمى جربتها الى شاشة مقاس 21 كلها فشلت وظهرت ادوات النماذج متبعثره . كل موضوع له خصوصيته لعمل شيء معين ، لهذا السبب يمكنك اخذ ولو جزء منه حتى يفيدك ، ولكن ، وهذه الطريقة اللي اعمل عليها انا: شبه مستحيل ان اكون انا اول شخص في العالم يريد عمل هذا العمل ، لذا ، اول شيء اعمله هو البحث عن الطرق اللي استعملها الآخرين ، وآخذ منها حاجتي ، سواء العمل كله او كود معين ، ثم اعدل عليه ليلائم طلبي. وعلى حسب سؤال الموضوع ، فاعتقد بأنك حصلت على الاجابة المطلوبة ، اما قولك : 35 دقائق مضت, alsihran said: وظهرت ادوات النماذج متبعثره فيجب ان تشرحه وبتفصيل ، وبصور ، وتخبرنا طلبك ، ولكن في موضوع جديد 🙂 جعفر 2
alsihran قام بنشر يونيو 9, 2022 الكاتب قام بنشر يونيو 9, 2022 12 ساعات مضت, jjafferr said: وعلى حسب سؤال الموضوع ، فاعتقد بأنك حصلت على الاجابة المطلوبة ، نعم والحمد لله نجحت على الشاشة مقاس 21 شاكر ومقدر لك تقبل خالص التحية
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.