السلام عليكم
كيف إستدعاء بانل عند الضغط على button وتختفي البانل الأخرى و عند الضغط على button home تعود إلى الصفحة الأولى من البرنامج
أستعمل دالفي سكين
لم افهم ماذا تريد بالضبط اذا كانت لديك العديد من Panels الواحدة فوق الاخرى يفضل استخدام مكون PageControl من Win32 وضح اكثر ماذا تريد بالضبط
عندما أضغط على button ( client ) تفتح البانل الخاصة بالزبون و عند الضغط على button أخر مثلا تختفي البانل الخاصة بالزبون و تظهر بانل الخاصة بال: button الثاني
هذه صورة من واجهة برنامجي كذلك
[
attachment=2422]
السلام عليكم اخي ومرحبا
فيما يخص اظها واخفاء panel
نفترض انك تستعمل 5 من Panel
و5 Button
عندما نريد إظهار Panel1
نكتب في الحدث للButton المتعلق باظهلر Panel1
كود :
Panel1.enabled:=true;
Panel2.enabled:=false;
Panel3.enabled:=false;
Panel4.enabled:=false;
Panel5.enabled:=false;
ملاحظة
يجب ان تضع في الحدث OnActivate المتعلق بالـ Form المتواجد بها Panels
كود :
Panel1.enabled:=False;
Panel2.enabled:=false;
Panel3.enabled:=false;
Panel4.enabled:=false;
Panel5.enabled:=false;
نسأل الله ان اكون قد وفقت في فهم السؤال والإجابة عنه
hamou1982 طريقة متعبة ...
بداية لما لا نستخدم ماج يوفره لنا دلفي اي Sender و خاصية ControlCount
ضع Panel1 على الفورم
ضع داخل Panel1 بانل اخر Panel2
ضع داخل Panel1 بانل اخر Panel3
ضع داخل Panel1 بانل اخر Panel4
.
.
ضع داخل Panel1 بانل اخر Panel7
في كل بانل من البانلات السابقة اضف زر SpeedButton باختصار انشئ الشكل الذي في الصورة
الآن في حدث الضغط على زر SpeedButton1 مثلا
PHP كود :
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Panel1.ControlCount - 1 do
begin
if (Panel1.Controls[i] is TPanel) then
TPanel(Panel1.Controls[i]).Height := 22;
end;
TSpeedButton(Sender).Parent.Height := 200;
end;
الان اذهب الى جميع الازرار الاخرى واحدا واحدا يمكنك تحديدهم جميعا عن طريق الضفط على Shift
مثلا اذهب الى الزر SpeedButton2 ثم Events في حدث OnClick قم باستعراض اللائحة و اختر
SpeedButton1 انتهينا
الان لا يهم عدد البانل التي لديك
السلام عليكم ورحمة الله تعالى وبركاته
الكود التالي gلتنقل بين البانل و الأخر
كود :
procedure TForm2.FormActivate(Sender: TObject);
begin
Panel1.Visible:=False;
Panel2.Visible:=false;
Panel3.Visible:=false;
Panel4.Visible:=false;
Panel5.Visible:=false;
end;
و بالنسبة للأزرار
مع كل زر :
كود :
procedure TForm2.spSkinSpeedButton2Click(Sender: TObject);
begin
Panel1.Visible:=true;
Panel2.Visible:=false;
Panel3.Visible:=false;
Panel4.Visible:=false;
Panel5.Visible:=false;
هل هو صالح ؟ هل هناك شيء أخر لم أضيفه ؟
و ما هو كود الرجوع إلى الصفحة الرئيسية وهي form2 ؟
لكن أنا لدي button Home أود عند الضغط عليه أعود مباشرة إلى الصفحة الرئيسية هي : Form2
شكرا
إقتباس :لكن أنا لدي button Home أود عند الضغط عليه أعود مباشرة إلى الصفحة الرئيسية هي : Form2
شكرا
في الحدث للButton اكتب التالي
أخي الكريم ... حاول الاطلاع على المكونات التالية فهي أسهل ولا تحتاج لأكثر من فورم واحد
TCategoryGroupPanel
وهذا مثال
http://www.delphi4arab.net/forum/attachm...1354977306
أيضا يوجد شيء آخر لو اهتممت به TPageControl
وانظر أيضا إلى TTabControl
أسأل الله سبحانه وتعالى أن يغفر لي ولك وكل من يقرأ هذا الكلام ... بالتوفيق