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

إظهار النماذج بشكل شفاف Transparent Forms

مغلق
بدأه محمد نسمان في 30 يونيو 2002 · 6 رد · 1,149 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل تود أن تضيف لمسة إحترافية لبرنامجك، بجعل النموذج يظهر بشكل شفاف، اذاً تعال معنا في رحلة مع إحدى دوال API الجديدة والتى تم اضافتها مع Windows 2000 لنرى كيف يتم ذلك بكل سهولة مع Delphi.

المقال موجود في هذا الرابط

http://www.dev4arabs.com/ar/delphi/article...s.asp?s=2&id=51

واذا هناك اي ملاحظات او تعليقات الرجاء اخباري :)

مع تحياتي

والسلام

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#2

السلام عليكم

مقال رائع اخ محمد (f) .

لي اضافات بسيطه :

لمن يريد التعمق في الموضوع يمكن مراجعه Forms unit التابعه لدلفي الاصدار السادس . والدوال الخاصة بذلك SetLayeredAttribs , SetAlphaBlend , SetAlphaBlendValue , SetTransparentColorValue , SetTransparentColor , InitAlphaBlending .

الداله SetLayeredWindowAttributes تم تعريفها في windows التابعه للدلفي ( الاصدار السادس , لا اعلم ان كانت موجوده في الاصدار 5 ) .

{$EXTERNALSYM SetLayeredWindowAttributes}
function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
...
function SetLayeredWindowAttributes; external user32 name 'SetLayeredWindowAttributes';

كما انه قد تم تعريفها مره اخرى واستخدامها في Forms .

type
  TSetLayeredWindowAttributes = function (Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
...
var
  SetLayeredWindowAttributes: TSetLayeredWindowAttributes = nil;

ملحوظة اخرى : يفضل استخدام Dynamic Load DLL لاستدعاء دوال من ملف dll , اي باستعمال LoadLibrary,FreeLibrary,GetProcAddress .

قبل استخدام هذه الداله او الخواص التي وفرتها delphi6 يفضل عمل فحص لنوع النظام المستخدم وكما قال الاخ محمد فهذه الخاصيه تعمل -فقط - على win2k/xp .

-----

ملحوظة خارج الموضوع :

* الاطلاع على Delphi help و الكود الموجود في الــ units المرفقه مع delphi يفي بجعلك مبرمجا محترفا .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#3

السلام عليكم

شكرا اخي العزيز Tamaa لملاحظتك القيمة

ولدي بعض الملاحظات ايضا :)

ان دققت في المقال فقد ذكرت انه ان كان لديك دلفي 6 فلا يلزمك كل ذلك فقط مجرد اعطاء خاصية AlphaBlindValue قيمة وجعل AlphaBlind تساوي True يعمل ذلك من غير اي تعب

وبالنسبة للدوال التى ذكرتها في عبارة عن مثود للفورم وليس دوال APIs وبعضها Privte اي لا يمكن استخدامها.

وبالطبع من لا يوجد لديه دلفي 6 فسيحتاج للطريقة الموجودة في المقال

ايضا طريقة بالنسبة لملاحظتك حول Dynamic DLL فهي صحيحة لكن ليس في جميع الاحوال، وتذكر ان User32 هي من مكتبات ويندوز اي انها تكون موجود في الذاكرة طوال فترة تشغيل الويندوز ولا يوجد هناك لتحميلها مرة اخرى، لكن ذلك يستخدم مع المكتبات التى تنشئها وتكون خاصة ببرنامج فقط

ملاحظتك حول عمل عملية فصح لنظام التشغيل ممتازة وصراحة هي هامة جدا لمن يريد استخدام مثل هذه الدوال حتى لا تظهر رسالة خطأ لمن يقوم بتشغيل هذه الدالة في نظام تشغيل لا يدعم هذه الدوال

وشكرا لملاحظتك القوية دائما ;)

مع تحياتي

والسلام

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#4

السلام عليكم

الحمد لله انك ما فهمت قصدي خطأ .

بعد ما كتبت ردي مكثت مده أفكر هل كتبت شئ خطأ في ردي قد يؤدي الى سوء فهم....

انا فعلا لاحظت انك كتبت ان الاصدار السادس يحوي على كل شئ جاهز . فقط كنت اود التنويه الى المكان الذي استخدمت فيه الداله السابقه ليتم الرجوع اليه , فالكود المرفق في ملفات دلفي منظم بشكل ممتاز .

لاحظت ان العديد من الاخوة يجد صعوبه في استخدام دوال الـ API لعدم وجود امثله عليها , لكن بمجرد النظر الى الملفات المرفقه مع دلفي سنلقى العديد من دوال API مستخدمه هناك .

وددت ايضا ان انبه الاخوة الذين يحبون كتابه الكود بانفسهم ويفضلون التقليل من استخدام VCL component ان يلقوا نظرة على تلك الاكواد التابعه لدلفي ومنها يستخلصوا الشئ الذي يريدونه ( الكود المرفق في ملفات دلفي منظم بشكل دقيق جدا , هذا امر لا شك فيه ) .

اشكرك اخي على طريقتك في الرد.

( يفتقر المنتدى الى النقاش , تكتب مواضيع و يتم المرور عليها مرور الكرام , مما جعل الكثيرين يهجروا المنتدى ... ) .

(f) (f) (f)

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#5

السلام عليكم

أخي العزيز Tamaa

بالعكس ما فهمت كلامك خطا وانا انبسطت على مشاركتك، لانو دائما تعليقاتك بيكون فيها كلام قيم وليس مجرد نقد للنقد نفسو

وصراحة اقولها لك، لم اجد حتى الان شخص في المنتديات العربية متعمق في دلفي و خاصة APIs مثلك، لذلك دائما مناقشتك يكون فيها كلام مفيد :)

وان شاء الله دائما ارى منقاشاتك المثمرة

مع تحياتي

والسلام

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#6

السلام عليكم

مشكور اخ محمد .

مدحتني بما لست اهلا له .

---

لي نيه في العطله ان اكتب عدد من المقالات , لا اعلم ان كان لك اهتمام بها وتود المشاركه في المناقشه فيها ام لا . طبعا ارحب بجميع الاراء والمناقشات من الاخوه حولها.

هنا سأذكر شئ بسيط عن المواضيع

- Read HardDisk Sectors in Win2k/xp

- تحليل لبرنامج عباره عن Telnet Trojan حجمه 3kb فقط - أصغر Trojan سمعت عنه - ( ما زلت بادئ في التحليل - Using DisAsm - ) .

- Native API كنت قد كتبت مقدمه عنها من قبل وساواصل الموضوع مرفقا اكواد كامله لبرامج ( احد هذه البرامج سيكون - ان شاء الله -شبيه بـ http://www.ntutility.com/rtm لكن بدون طلب اي ثمن لسعر الــ license كما هو الحال مع الشركه السابقه :mad: ). في لدي نيه بمحاوله كشف الكود الخاص ببرامج الشركه السابقه ( في احد عنده نيه للمشاركه ).

- Hook API ذكرت عنه شيئا بسيطا من قبل . ساحاول ان اكتب عنه اكثر . ساضع فكره عمل القاموس الفوري والكود الخاص بذلك ( الكود يحتاج الى العديد من التعديلات ) .

....

( اخ محمد .

عذرا لاستغلال موضوعك لعمل دعايه لمواضيعي - التي لا اعلم ان كانت سيكتب لها الظهور ام لا - )

(f)

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#7

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

لقد ترددت كثيراً في كتابة هذه الرسالة ، (قلت كيف أحشر نفسـ :o ـي بين الأساتذة مثل التلميذ الملقوف:mad: )

ولكني أقدمت لما أرى من المصلحة في نظري :

أخي العزيز tmaaa وفقك الله لإتمام دروسك المتقدمة وأدعوا الله أن يكتب لها الظهور

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

أقول هذا وإن كنت - كما أعتقد - لا أستطيع فهمها كما ينبغي الآن إلا أني سأرجع لها، كما رجعت لغيرها واستفدت منه.

(f)

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

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