28-02-2015, 03:13 PM
الصفحات : 1 2
28-02-2015, 03:35 PM
من خلال إن شاء مكوناتك الخاصة والتي تحمل التصميم الذي تريد
فإذا اردت عمل مثل الشكل الذي بالصورة سيتوجب عليك عمل مكونات
تقوم برسمها بنفسك بدلاً من الإعتماد على المكونات الرئيسية , طبعاً
إذا اردت الأمور بشكل إحترافي , كذلك يوجد خيار آخر وهو ان تقوم
بتعديل المكونات الرئيسية من خلال توريثها في مكوناتك لكن هذه
لن تعطيك الحرية التي تتوقعه عندما تريد شيء إحترافي .
فإذا اردت عمل مثل الشكل الذي بالصورة سيتوجب عليك عمل مكونات
تقوم برسمها بنفسك بدلاً من الإعتماد على المكونات الرئيسية , طبعاً
إذا اردت الأمور بشكل إحترافي , كذلك يوجد خيار آخر وهو ان تقوم
بتعديل المكونات الرئيسية من خلال توريثها في مكوناتك لكن هذه
لن تعطيك الحرية التي تتوقعه عندما تريد شيء إحترافي .
01-03-2015, 12:54 AM
السلام عليكم ....
تجد في المرفقات صورة لبرنامج عملته بدلفي لنفس ماطلبت تقريبا
أخي الموضوع بسيط ولا يحتاج إلى مجهود كبير .. فاللعبة هنا في إستعمال مكون Image و ImageList و مجموعة من Panel إذا أردت عدم إستعمال مكونات مثل PageControl...
الفكرة هي أن تصمم صورتين لكل عنصر قائمة فالعنصر الأول مثلا صورة لها خلفية بيضاء تقريبا وعند الضغط عليها يتم تحميل نفس الصورة ولكن بخلفية رمادية مع مثلث أبيض في اليمين .. ونفس الشي لبقية عناصر القائمة
أما كيفية محاكاة القائمة فهي وضع كود في حدث Onclick للصورة الأولى وربط كل مكونات Image الأخرى بنفس حدث Image الأولى ...
في الكود السابق خصصت قيمة لخاصية tag لكل Image وباعتبار أن لكل Image صورتين كانت قيمة Tag على النحو التالي 0 و 2 و 4 و 6 و 8 و 10 ثم قمت باستعمالها لتحميل رقم الصورة الموجودة في ImageList ،، أيضا استخدمت متغير من نوع Boolean أسميته Up لمعرفة حالة الصورة هل تم النقر عليها أم لا
عند الضغط على الصورة الأولى قم بإظهار Panel الأول وإخفاء البقية وعند الضغط على الصورة الثانية قم باظهار panel الثاني وإخفاء البقية وهكذا ... ويمكنك أن تستعمل مكون مثل مكون JVPageControl بدل من Panel فهو لديه خاصية إخفاء ألسنة التبويب Tabsheets
في هذا المثال قمت باستعمال JVPageControl
تجد في المرفقات صورة لبرنامج عملته بدلفي لنفس ماطلبت تقريبا
أخي الموضوع بسيط ولا يحتاج إلى مجهود كبير .. فاللعبة هنا في إستعمال مكون Image و ImageList و مجموعة من Panel إذا أردت عدم إستعمال مكونات مثل PageControl...
الفكرة هي أن تصمم صورتين لكل عنصر قائمة فالعنصر الأول مثلا صورة لها خلفية بيضاء تقريبا وعند الضغط عليها يتم تحميل نفس الصورة ولكن بخلفية رمادية مع مثلث أبيض في اليمين .. ونفس الشي لبقية عناصر القائمة
أما كيفية محاكاة القائمة فهي وضع كود في حدث Onclick للصورة الأولى وربط كل مكونات Image الأخرى بنفس حدث Image الأولى ...
كود :
for i := 0 to ComponentCount-1 do
if (Components[i] is TImage) then
if(Components[i] as TImage).Parent = panel1 Then
begin
iml.GetBitmap((Components[i] as TImage).Tag,(Components[i] as TImage).Picture.Bitmap);
(Components[i] as TImage).Refresh;
up := not up;
end;
if Up then
Iml.GetBitmap(TImage(Sender).tag+1,TImage(Sender).Picture.Bitmap);
TImage(Sender).Refresh;
if TImage(Sender).tag = 0 then
jpc.ActivePage := ts1
else if TImage(Sender).tag = 2 then
jpc.ActivePage := ts2;عند الضغط على الصورة الأولى قم بإظهار Panel الأول وإخفاء البقية وعند الضغط على الصورة الثانية قم باظهار panel الثاني وإخفاء البقية وهكذا ... ويمكنك أن تستعمل مكون مثل مكون JVPageControl بدل من Panel فهو لديه خاصية إخفاء ألسنة التبويب Tabsheets
في هذا المثال قمت باستعمال JVPageControl
02-03-2015, 10:25 PM
استخدم هذه المكونات
او استخدم TreeView كما استخدمته في برنامج لا تنس صلاتك
![[صورة: desc%20(4).png]](http://www.delphi4arab.net/salat/desc/desc%20(4).png)
كود :
http://www.alphaskins.com/index.php![[صورة: desc%20(4).png]](http://www.delphi4arab.net/salat/desc/desc%20(4).png)
03-03-2015, 01:09 PM
onexite كتب :استخدم هذه المكونات alphaskinsهل من مثال لكيفية استخدام هذا المكون و كذا كيفية الربط مع الكونات الأخرى.
08-03-2015, 11:03 AM
الكاسر الآخر كتب :أخي الموضوع بسيط ولا يحتاج إلى مجهود كبير .. فاللعبة هنا في إستعمال مكون image و imagelist و مجموعة من panel إذا أردت عدم إستعمال مكونات مثل pagecontrol...شكرا لك اخي الكريم هذا ما أبحث عنه و ياريت لو تفضلت بإرفاق المثال التطبيقي للواجهة التي قمت بإنشائها بالدلفي حتى يتسنى لي فهم المثال تطبيقيا مع كامل الشكر و التقدير لك و لكل من شارك في هذا المنتدى
12-03-2015, 10:00 PM
salmaanga كتب :شكرا لك اخي الكريم هذا ما أبحث عنه و ياريت لو تفضلت بإرفاق المثال التطبيقي للواجهة التي قمت بإنشائها بالدلفي حتى يتسنى لي فهم المثال تطبيقيا مع كامل الشكر و التقدير لك و لكل من شارك في هذا المنتدى
لقد تغيبت قليلا عن الإنترنت .... تفضل أخي هذا الكود ..
18-03-2015, 12:10 AM
الكاسر الآخر كتب :لقد تغيبت قليلا عن الإنترنت .... تفضل أخي هذا الكود ..
شكرا أخي الكاسر على الكود و ابشرك اني جربته و نجح الامر و أنا حقيقة ممتن لك و أسال الله ان يفتح لك ابواب الخير كله
بقيا عندي إشكال حاولت تخطيه و لم انجح و هو كيف اقوم برسم صور الأزرار؟ حاولت بالرسام و لم ينجح الامر
18-03-2015, 06:11 AM
قم بعمل كلاس مورث من الزر الذي تريد الرسم عليه
وأعد كتابة الحدث Paint وارسم ما تريد على الزر , بالتوفيق
وأعد كتابة الحدث Paint وارسم ما تريد على الزر , بالتوفيق
09-05-2015, 11:01 PM
الكاسر الآخر كتب :لقد تغيبت قليلا عن الإنترنت .... تفضل أخي هذا الكود ..
بقيا عندي إشكال حاولت تخطيه و لم انجح و هو كيف اقوم برسم صور الأزرار؟ حاولت بالرسام و لم ينجح الامر
الصفحات : 1 2