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

عنصر ProgressPar من اليمين لليسار

مغلق
بدأه Aboalnoor-Delphi7 في 14 مايو 2006 · 5 رد · 734 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد طريقة انشاء عنصر ProgressPar تقدمه يبدأ من اليمين لليسار مع بالشرح الممل

وإضافة صورة لتقدمه

وجزاكم الله خيراً

********************************************************************************

آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

66850879_b6e633000d_m.jpg

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا

بـاع الحيـاة رخيـصـة لله والله اشـتـرى

خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون

فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون

موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات

إيميلي هو:Aboalnoor@maktoob.com

ياهو :adnanalabuo@yahoo.com

هوت ميل:AdnanAlabuo@hotmail.com

مدونتي الخاصة

#2

السلام عليكم

أخي الكريم يمكنك استعمال تقنية المرآة إذا أردت

يعني في حدث الـ Oncreat للفورم ضع الكود التالي:

SetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_ID) or $400000);

وجرب هذا الكود في زر ما

var i: integer;
begin
  for i := 0 to 100 do
  begin
	ProgressBar1.Position := i;
	sleep(10);
  end;

هذا الكود منقول عن موقع orwah.net من منتديات الدلفي بتصرف

وبالتوفيق إن شاء الله ;)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#3

أرجو من أحد أن يشرحلي الكود السابق

وهذا الرقم ($400000) ماذا يعني

وجزاكم الله خيراً

********************************************************************************

آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

66850879_b6e633000d_m.jpg

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا

بـاع الحيـاة رخيـصـة لله والله اشـتـرى

خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون

فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون

موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات

إيميلي هو:Aboalnoor@maktoob.com

ياهو :adnanalabuo@yahoo.com

هوت ميل:AdnanAlabuo@hotmail.com

مدونتي الخاصة

#4

السلام عليكم

أخي الكريم إن التابع

Setwindowlong

والتابع

getwindowlong

هي توابع API تستخدم للوصول إلى معلومات النظام الخاصة بأي نافذة, وهذا ما يحدده البارامتر الأول للتابع أي الـ Handle

أما البارامتر

GWL_EXSTYLE

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

أما بالنسبة إلى القيمة الجديدة التي نسبناها إلى المتحول السابق في لاحظ مايلي:

لو استخدمت التابع:

GetWindowLong(ProgressBar1.Handle,GWL_EXSTYLE)

لأعاد لك الرقم التالي:

131072

هذا الرقم يتألف من 6 مراتب, وفي الواقع إن كل مرتبة تمثل خاصية ما فمثلاً لو غيرت الرقم 2 إلى 3 باستخدام التابع

setwindowlong

لقام بتغير حافة الـ ProgressBar إلى شكل آخر, وكذلك الأمر بالنسبة لباقي الأرقام

والرقم الذي يغير جهة تقدم الـ ProgressBar هو أول رقم من اليسار, فعندما تستبدله برقم بين 4 و 7 فإنه يغير جهة تقدم الـ ProgressBar

فيمكنك استعمال الرقم التالي:

431072

لتغيير جهة التقدم بدون تغيير شكل العنصر, فسيبقى شكله كما كان و لكن تتغير جهة تقدمه

أتمنى أن أكون قد أفدكم أخي الكريم

تقبلو تحياتي

وبالتوفيق ;)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#5
Like Delphi كتب:
SetWindowLong(ProgressBar1.Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_ID) or $400000);

تعقيب بسيط و تصحيح للكود اللذي أرفقه الأخ Like Delphi

//  Constante declared in windows.pas
//  {$EXTERNALSYM WS_EX_LAYOUTRTL}
//  WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring
//  Creates a window whose horizontal origin is on the right edge.
//  Increasing horizontal values advance to the left.

  SetWindowLong(ProgressB.Handle,GWL_EXSTYLE, GetWindowLong(ProgressB.Handle, GWL_EXSTYLE) or WS_EX_LAYOUTRTL);

العدد $00400000 هو ميزة النافذة (أعني بالنافذة كل مكون رسومي graphical control) لرسمها من اليمين لليسار أو العكس, كالمرآة.

أول شيئ نقوم بقراءة خواص المتحكم اللذي نريد تغييرعليها ب الدالة GetWindowLong نمرر لها المقبض handle للمتحكم progressbar وكذلك نوع مجموعة الخواص GWL_EXSTYLE.

نقوم بتطبيق التعديل بواسطة التعليمة or التي تمكننا من عمل قناع للبت 23 في المجموعة GWL_EXSTYLE.

تم نستدعي الدالة المكافئة للكتابة SetWindowLong.

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#6

شكراً لكم أخوتي في الله لأن الهدف أن أفهم الكود وليس لأحصل على كود جاهز

شي فهمته وأرجو التأكيد عليه وهو أنني يمكن أن أستخدم هذا الكود لأي عنصر

جزاكم الله خيراً

والسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة Aboalnoor-Delphi7 في 16 مايو 2006 في 22:21

********************************************************************************

آخر وصايا سيدنا محمد صلى الله عليه وسلم:الصلاة الصلاة وما ملكت أيمانكم

66850879_b6e633000d_m.jpg

هاجر اللذائذ وانبـرى ليثـاً بادغـال الشـرا

بـاع الحيـاة رخيـصـة لله والله اشـتـرى

خذو مني فؤادي وامنحوني سلاحي أمتطي صهو المنون

فإني لم أعش لأذوق ذلاً ولا لأذوب في حضن حنون

موقع الفريق الاسلامي المتحد للبرمجة والإلكترونيات

إيميلي هو:Aboalnoor@maktoob.com

ياهو :adnanalabuo@yahoo.com

هوت ميل:AdnanAlabuo@hotmail.com

مدونتي الخاصة

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

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