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

تطبيقات الMDI في دلفي

بدأه romanof في 1 يوليو 2005 · 7 رد · 3,985 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كنت وضعت هذا الموضوع في منتديات الاخ عروة

فترة تعطل المنتدى

MDI.rar

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#2

شكراً على هذا الموضوع الجميل و اريد ان اسأل سؤالين

1- عند وضع الخاصية BiDimode لواجهة ابن تذهب ال Caption الى اليمين في وقت التصميم

ولكن عند تشغيل البرنامج تذهب الCaption الى اليسار!!؟

2- كيفية وضع جميع الوجهات الابناء في القائمة الرئيسية مثل القائمة Windows في الدلفي

حيث تحتوي على الوجهات الابناء المفتوحة؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

شكراً على هذا الموضوع الجميل و اريد ان اسأل سؤالين

1- عند وضع الخاصية BiDimode لواجهة ابن تذهب ال Caption الى اليمين في وقت التصميم

ولكن عند تشغيل البرنامج تذهب الCaption الى اليسار!!؟

2- كيفية وضع جميع الوجهات الابناء في القائمة الرئيسية مثل القائمة Windows في الدلفي

حيث تحتوي على الوجهات الابناء المفتوحة؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#4

اخي waeldalol اصبر علي قليلا اعدك بالاجابة

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#5
اقتباس
- عند وضع الخاصية BiDimode لواجهة ابن تذهب ال Caption الى اليمين في وقت التصميم

ولكن عند تشغيل البرنامج تذهب الCaption الى اليسار!!؟

اخي العزيز  لا اعرف الاجابة على السؤال  ربما كان الوندوز هو السبب  عموما أتمنى  ان يتصدى  للإجابة احد  فرسان الطاولة المستديرة

اقتباس
- كيفية وضع جميع الوجهات الابناء في القائمة الرئيسية مثل القائمة Windows في الدلفي

حيث تحتوي على الوجهات الابناء المفتوحة؟

ارفقت لك في الملف مثالا على هذا واليك  بعض الشرح للكود

procedure Tfrmain.addsubitem(s:string; t0 : integer);
var
newitem, toitem : Tmenuitem;
begin
toitem:=mainmenu1.items[t0];
newitem:=tmenuitem.create(toitem);
newitem.caption:=s;
newitem.onclick:=NewShortcutClick;
toitem.insert(toitem.count,newitem);

end;

يقوم هذا المنهج  بانشاء بند في  في احد عناصر القائمة الرئيسية (في حالتنا هذه  window ) الذي يملك  الرقم t0  

وتمنح هذا البند  وسما (caption) ذو القيمة (S)

اما ستفعله عتد الضغط على البند فهو

فهو موضح

newitem.onclick:=NewShortcutClick

لاحظ ان NewShortcutClick عبارة عن منهج في الفورم

 procedure NewShortcutClick(Sender: TObject);

هناك ايضا منهج الصراحة هو زائد عن الحاجة بامكانك حذفه من البرنامج ولكن اثناء البحث عن طريقة للاضافة بند الى احد عناصر القائمة برمجيا

وجدت انه من المفيد ان اذكر كيف اضافة عنصر الى القائمة الرئيسية برمجيا

 procedure Tfrmain.addmainitem(s:string);
var
newitem : Tmenuitem;
begin
  newitem:=tmenuitem.create(Mainmenu1);
  newitem.caption:=s;
  mainmenu1.items.insert(mainmenu1.items.count,newitem);
end;

اعتقد ان الكود واضح جدا

اعرف ان البعض سيقولون كان من الممكن استخدام الدوال الجاهزة من مكتبة الدلفي (Menu ) وهم محقون لقد اخطأت في اعادة اختراع العجلة ولكن لم استطع استخدام العجلات الموجودة

اليكم

function NewMenu(Owner: TComponent; const AName: string; Items: array
of TMenuItem): TMainMenu;
function NewPopupMenu(Owner: TComponent; const AName: string;

Alignment: TPopupAlignment; AutoPopup: Boolean; Items: array of
TMenuitem): TPopupMenu;
function NewSubMenu(const ACaption: string; hCtx: Word; const AName:

string; Items: array of TMenuItem): TMenuItem;
function NewItem(const ACaption: string; AShortCut: TShortCut;

AChecked, AEnabled: Boolean; AOnClick: TNotifyEvent; hCtx: Word;
const AName: string): TMenuItem;
function NewLine: TMenuItem;

ارجوا المعذرة على التقصير والتأخير

mychild2.rar

تم تعديل هذه المشاركة بواسطة ORWA في 3 يوليو 2005 في 20:56

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#6

شكراً لك اخ romanof على هذا الشرح الواضح وكثر الله من امثالك

بالنسبة لل Caption لا اظن انّ المشكلة من الويندوز لانني جربت عمل تطبيقMDI على لغة C#

ولم تكن هذه المشكلة موجودة!!؟ :wacko:

ارجو من الذي يعرف الجواب على هذا السؤال ان يسعفنا ولكم جزيل الشكر :rolleyes:

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#7

لاشكر على واجب

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#8

يجب أن يكون الأب BidiMode=Righttolrft , وعندها إذا وضع الأبن Righttoleft يعمل بشكل جيد ..

على كل حال , أظن أنك وجدت BUG جديدة , سأقوم بإرسالها مع المجموعة التي في بالي بخصوص دعم اللغة العربية , وإن شاء الله تلقى قبول ,, .. ((على NewsGroups))

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