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

تحكم البرنامج في اعدادات الشاشة

مغلق
بدأه اتجاهات في 26 فبراير 2005 · 4 رد · 2,076 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة المبرمجون كيف يمكنني جعل برنامجي يتوافق مع إعدادات Desktop ف الاجهزة الاخرى برمجيا اي إذا كانت الاعدادات لسطح المكتب هي 1024ْX768 أو 800X600 كيف اجعل برنامجي يتوافق برمجيا وليس التعديل يدويا فقد انصب برنامجي على اكثر من جهاز وليس منطقيا أن اقوم بتعديل حجم الشاشات يدويا بما يتوافق مع كل جهاز ارجو المساعدة

وفقكم الله

#2

أنصحك بملائمة برنامجك ليقبل إعدادات الشاشات المختلفة . (أضبط جيدا خصائص align لجميع العناصر .. وتأكد من وجود عنصر على الأقل alclient "هذا هو الذي سيكبر مع تغيير حجم الفورم أو دقة الشاشة" )

لكن على كل حال هذة شفرة تغيير دقة الشاشة .. (مشكلة تغيير دقة الشاشه أنها تأخذ وقت . وتسود الشاشه قليلا (تغب) قبل تطبيق الإعدادات .. وهذة الطريقة تستخدم عادة في الألعاب ثلاثية الأبعاد .. حيث تشعرين بفترة التحويل ) :

procedure TForm1.setscreen(width, hight, deep, Hz: integer);

var OldVal: _devicemodeA;

begin


  while EnumDisplaySettings(nil, i, OldVal) do
  begin

    if OldVal.dmPelsWidth = width then
      if OldVal.dmPelsHeight = hight then
        if OldVal.dmBitsPerPel = deep then
          if OldVal.dmDisplayFrequency = Hz then begin
            if EnumDisplaySettings(nil, i, OldVal) then
              ChangeDisplaySettings(OldVal, 0);
            break;
          end;
    I := I + 1;
  end;
end;

ثم للإستدعاء بإمكانك :

public :
 dsWidth, dsHeight, dsBPP, dsHz: integer;
.
.
.

DC := GetDC(0);

  dsWidth := GetDeviceCaps(DC, HORZRES);

  dsHeight := GetDeviceCaps(DC, VERTRES);

  dsBPP := GetDeviceCaps(DC, BITSPIXEL);
  dsHz := GetDeviceCaps(DC, VREFRESH);




  setscreen(800, 600, 16, 70);

وعند إغلاتق البرنامج بإعادة الإعدادات كما كانت :

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin

  setscreen(dsWidth, dsHeight, dsBPP, dsHz);
end;
#3

بارك الله فيك اخي عروة

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

وتعاونوا على البر والتقوى ولا تعاونوا على الإثم والعدوان

.............................................................................................................................

لنبدا دورة دلفي

سلسلة تعلم برمجة Pascal , تعلم اساسيات الباسكال

التحكم بمنفذ الطابعة عن طريق الدلفي

سلسلة دروس تعلم قواعد بيانات Midas

هيا لنبدأ بالApi

أفكار سريعة, مجموعة شفرات صغيرة وفاعله لدلفي

كتب + مواقع ::: مراجع مهمة للغة دلفي, مجموعة كتب مجانية + مواقع مفيدة

مكتبه الأكواد, أكواد وبرامج دلفي

.............................................................................................................................

18_07_05_10_53_18_1121752398da3wa_18.gif

#4

اشكرك اخي عروة

ابو محمد

#5

الأخ العزيز / عرة

ممكن ترفق مثال بهذا الكود حتى يتم تحميلة , حيث انني اردت تطبيق هذا الكود و لكن لم يشتغل معي .

أرجوا منك الرد سريعا.

وألف شكر على مجهوداتك و ما تقدمة لهذا المنتدى الرائع

اخوك / خالد

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

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