الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد دالة API التي تعيد نفس القيمة ل Screen.Width

مغلق
بدأه ابوحمود في 16 نوفمبر 2002 · 4 رد · 624 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد دالة API التي تعيد نفس القيمة لـ Screen.Width

وكذلك لـ Screen.Height

وأيضا لـ Screen.TwipsPerPixelY

وبانتظار الجواب

ولكم تحياتي

#2

بسم الله الرحمن الرحيم

تحية طيبة

أن كنت فهمت قصدك فيمكنك استعمال الدالة GetMonitorInfo لتأدية ما تحتاجه

#3

هل من الممكن أن توضح أكثر ردك

يعني ما الطريقة

ولك تحياتي

#4

بسم الله الرحمن الرحيم

تحية طيبة

الدالة التي أخبرتك عنها تنفذ العديد من المهام و هذه إحداها بأبسط طريقة

ضع الكود التالي في وحدة نمطية Module

  

Public Type RECT

    Left As Long

    Top As Long

    Right As Long

    Bottom As Long

End Type

Public Type MONITORINFO

    cbSize As Long

    rcMonitor As RECT

    rcWork As RECT

    dwFlags As Long

End Type



Public Declare Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" (ByVal hMonitor As Long, ByRef lpmi As MONITORINFO) As Long

Public Function MonitorEnumProc(ByVal Monitor As Long) As Long

    Dim MInf As MONITORINFO

    

    

    MInf.cbSize = Len(MInf)

    

    GetMonitorInfo Monitor, MInf

    

    MsgBox "Monitor Dimintions: " + CStr(MInf.rcMonitor.Right - MInf.rcMonitor.Left) + "x" + CStr(MInf.rcMonitor.Bottom - MInf.rcMonitor.Top)

    

End Function

و الكود التالي في نموذج مع زر أمر باسم command1

Private Sub Command1_Click()

    MonitorEnumProc 1

End Sub

و أخبرني بالنتيجة

مع العلم أننا افترضنا المنيتور 1 و لم نلجأ غلى استخراجه

#5

الآن فهمت

العرض والطول في Screen.Width أو Screen.Height هو نفسه الذي نستخرجه بواسطة دالة API

لدي كود يقوم بذلك ولكن لم أعرف أن VB يسترجعه بدون استخدام الدالة

طيب بقي لنا Screen.TwipsPerPixelY ماذا تمثل ؟

وكيف نستخرجها ؟

بخصوص الكود الذي كتبته تظهر رسالة في آخرها 0×0

وأظن هناك خطأ ما

ولك تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة