![]() |
|
تغيير شكل الساعة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تغيير شكل الساعة (/showthread.php?tid=4815) الصفحات:
1
2
|
تغيير شكل الساعة - ع بلال - 27-12-2012 السلام عليكم كيف يتم تغيير شكل الساعة كما هو في برنامج Tray clock وكما في الصورة : كود : http://www6.0zz0.com/2011/09/08/06/460690989.jpgتغيير شكل الساعة - you_per7 - 31-12-2012 السلام عليكم هل تم تصميم البرنامج بالدلفي فعلا... حتى نبحث عن المكون المستخدم أو الملف المصدري للبرنامج؟ عموما يمكنك تفكيك السؤال حتى تتمكن بنفسك تدريجيا من إنشاء برامج مشابهة أو أفضل من ذلك تغيير شكل الساعة - ع بلال - 01-01-2013 نعم البرنامج مصمم بدلفي ولم استطع تحريره قمت فقط بتحرير الواجهة وخصائصها ، أما الأوامر لا تغيير شكل الساعة - SMP3 - 01-01-2013 و عليكم السلام الطريقة جد سهلة و لا تحتاج الى عمالقة ![]() نبدأ : أولا عليك تصميم كلاس منبثق من TCustomControl عدل على الستايل من خلال عمل override ل CreateParams و جعل الستايل WS_POPUP (لأن الكونترول ليس جزءا من الفورم يعني لن تحتاج الى خاصية parent لاظهار الكونترول) ثانيا يجب عليك الحصول على مقبض التاسك بار TaskBar ثم مقبض الأب(TrayNotifyWnd) لنافذة الوقت وأخيرا مقبض نافذة الوقت TrayClockWClass بعدها نحصل على موقعها باستخدام الدالة GetWindowRect ثم حساب العرض و الطول و اسنادهما للكونترول الخاص بك ثالثا تقوم بالرسم على الكونترول من خلال paint هذا كل مافي الأمر
clockwindow.jpg (الحجم : 4.93 ك ب / التحميلات : 85)
هذا مثال على السريع ![]() PHP كود : type TClockWindow =class(TCustomControl)تغيير شكل الساعة - S.FATEH - 02-01-2013 Smp3 عمل ممتاز جعلت الكلاس في وحدة :p تغيير شكل الساعة - SMP3 - 02-01-2013 s.fateh كتب :smp3 عمل ممتاز جعلت الكلاس في وحدة :p جميل .. لكن ليس هناك داعي لاستخدامها في وحدة منفصلة لأن الكلاس صغير و لا يحتوي على دوال كثيرة :d تغيير شكل الساعة - S.FATEH - 02-01-2013 طبعا الكلاس صغير لكن جعله في وحدة منفصلة افضل سهل للقراءة و اسهل للتطوير ... تغيير شكل الساعة - SMP3 - 02-01-2013 S.FATEH كتب :طبعا الكلاس صغير ... معك حق .. كل المسألة هي مسألة كسل لا غير ![]() أختار ملف ثم وحدة جديدة ثم تسمية الوحدة و حفظها ثم اضافة الوحدات المستعملة للوحدة .. هههه الطريقة طويلة نوعا ما
تغيير شكل الساعة - ع بلال - 03-01-2013 السلام عليكم البرنامج عبارة فقط عن فورم في مكان الساعة وليس بالجديد كما في الصورة
460690989.jpg (الحجم : 7.21 ك ب / التحميلات : 81)
تغيير شكل الساعة - SMP3 - 03-01-2013 ع بلال كتب :السلام عليكم كيف ليس بالجديد !! ماهو الجديد برأيك ؟ هناك طريقة أخرى معقدة تعتمد على استخراج ال wndproc الخاص ب TrayClockWClass ثم تحويله الى wndproc الخاص بك ومن ثم اقتناص رسائل الوينداوز واعادة الرسم الطريقة ممكن تسبب مشاكل لانه عند تحويل ال wndproc الوينداوز سيكمل ارسائل الرسائل لل wndproc القديم و التي لن تعالج ... مما قد يتسبب في انهيار للنظام .. لكن تظل مجرد احتمال لاني جربت تغيير ال wndproc الخاص ب TPanel لبرنامج خارجي و قد استطعت اعادة رسمه بدون مشاكل |