الانتقال إلى المحتوى

procedure لتوسيط نافذة الفورمز الغير مكبرة


هانى سند

Recommended Posts

هلا شباب
كيف احوالكم جميعا
هديتي لكم اليوم شباب هي procedure تستعمل لتوسيط نافذة الفورم في منتصف الشاشة التي تعرض عليها اذا كانت مو maximized
و هي بالطبع تعمل في جميع الروزليوشن
اتمني ان تفيدكم
بالتوفيق لكم جميعا
hanon_ocp

center_window_procrdure.txt

تم تعديل بواسطة hanon_OCP
رابط هذا التعليق
شارك

أشرك أخي العزيز على هذا المجهود الطيب

لكن ممكن تشرح لي ما يلي:

ID := find_window(P_WINDOW_NAME);
	  h1:=get_window_property(forms_mdi_window,height);
	  w1:=get_window_property(forms_mdi_window,width);
	  h2:=get_window_property(ID,height);
	  w2:=get_window_property(ID,width);
	  set_window_property(ID,position,(w1-w2)/2,(h1-h2)/2);
END CENTERWINDOW;

رابط هذا التعليق
شارك

السلام عليكم
اخ m1s
جيد انك تريد فهم الprocedure قبل استخدامها
الفكرة هنا اولا انه نحصل اولا علي الid الخاصة بالويندو المراد توسيطها وذ لك عن طريق تعريف variableمن نوع window
declare
ID WINDOW;
حتي نستطيه التعامل مع الويندو و اwindow_nameهو بارمتر للprocedure
تمام
بعد كدة
نحصل علي طول وعرض ويندو الmdiللفورمز
عن طريق get_window_property
h1:=get_window_property(forms_mdi_window,height);
w1:=get_window_property(forms_mdi_window,width);
ثم نكرر نفس الخطوة للويندو المراد توسيطها
اصبح عندنا الان اربه متغيرات
طول وعرض الmdi
و طول وعرض الويندو المراد توسيطها
ثم نقوم بتحديد مكان الويندو عن طريق
set_window_property
و اعطاء الx ,y ناتج طرح ارتفاع الويندو من ارتفاع الmdi علي 2
set_window_property(ID,position,(w1-w2)/2,(h1-h2)/2);
و المثل بالنسبة للعرض
لنجد ان الويندو مكانها يصبح متساوي بالنسبة للوضع الافقي من ناحية اليمين واليسار
و الرأسي من الاعلي والاسفل
مثلا 50من اليمين واليسار و 60من الاعلي والاسفل
اتمني ان اكون اجبت عن استفساراتك
و منتظرك اذا كنت تريد اي توضيح
hanon_ocp

رابط هذا التعليق
شارك

  • بعد 2 سنة...

الاخ العزيز
تحية طيبة وبعد
لك منا كل الشكر والتقدير على المساهمة الجميلة واسمح لى بالرد على التسأل الخاص بمكان وضع الكود
اعتقد ان انسب مكان لوضع الكود عندما يتم فتح مثال الفورمة وهذا ما يقوم به التريجر when_new_form_instance

رابط هذا التعليق
شارك

  • بعد 2 سنة...

حلو حلو حلو حلو
حلو حلو حلو حلو حلو حلو
حلو حلو حلو حلو حلو حلو حلو حلو
حلو حلو حلو حلو حلو حلو حلو
حلو حلو حلو حلو حلو حلو
حلو حلو حلو حلو حلو
حلو حلو حلو حلو
حلو حلو حلو
حلو حلو
حلو

تم تعديل بواسطة علي قاسم سعيد
رابط هذا التعليق
شارك

  • بعد 3 شهور...
  • بعد 4 سنة...
  • بعد 2 أسابيع...

اضف هذا التريجر على مستوى الفورم وحيظبط معاك

 

WHEN-NEW-FORM-INSTANCE

واكتب بداخلة

CenterWindow('window1');

تم تعديل بواسطة rockman
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية