PDA

View Full Version : سوال: فرم Splash شفاف در ویندوز 7



Hsimple11
سه شنبه 24 خرداد 1390, 12:36 عصر
با سلام و خسته نباشید ؛

میخواستم ببینم کسی راهی برای اینکه بتونیم یک فرم Splash شفاف رو در ویندوز 7 داشته باشیم سراغ داره.

یک فرم دارم و یک کنترل TImage که در اون یک عکس PNG ترنسپرنت لود میشه. در واقع میخوام فقط اون عکس نمایش داده بشه. تنظیمات مرتبط با این کار رو هم انجام دادم و بخوبی هم جواب داد.

اما سوال اینجاست که همه چیز در ویندوز XP ، ویندوز 2000، ویندوز 7 با تم کلاسیک درسته اما وقتی تم های زیبای ویندوز 7 باشه دور تصویر PNG سیاه نشون داده میشه (دور تصویر سیاهه، فرم همچنان نامرئی است). فکر میکنم به لحاظ دینامیک بودن این تم هاست . از استاتید کسی راه حلی سراغ داره؟

واقعا ممنونم............

Felony
سه شنبه 24 خرداد 1390, 12:50 عصر
یک عکس از این مشکلی که گفتید قرار بدید .

Hsimple11
سه شنبه 24 خرداد 1390, 16:15 عصر
همونطور که گفتم این مشکل که دور تصویر PNG سیاه نمایش داده میشود فقط در تم های ویندوز 7 وجود دارد. و در تم کلاسیک یا ویندوزهای دیگر مشکلی نیست.

با تشکر...

Felony
سه شنبه 24 خرداد 1390, 16:31 عصر
من با چند تا تم مختلف در 7 تست کردم و مشکلی ندیدم .

Hsimple11
سه شنبه 24 خرداد 1390, 18:37 عصر
در ایتصورت اگه میشه لطف کنید و مراحل کار رو مرحله به مرحله بفرمایید. شاید جایی اشتباه کردم.... یک دنیا ممنون....

Felony
سه شنبه 24 خرداد 1390, 20:37 عصر
اول فایل ضمیمه رو تست کنید ببینید رو سیستم شما بدون مشکل اجرا میشه یا نه .

Hsimple11
سه شنبه 24 خرداد 1390, 22:51 عصر
بله دوست عزیزم. این فایل درسته و مشکلی نداره. بینهایت سپاسگزارم اگر مراحل کار رو کامل بفرمایید....

Felony
چهارشنبه 25 خرداد 1390, 02:07 صبح
تیک خصیصه Tranparent مربوط به شئ Image رو بزنید و بعد تیک خصیصه TransparentColor فرم مربوطه رو بزنید و مقدار خصیصه TransparentColorValue رو با رنگ فرم ( به صورت پیش فرض clBtnFace ) مقدار بدید .

zidane
چهارشنبه 25 خرداد 1390, 13:20 عصر
براي اينكه لبه هاي عكستون نرم باشه و ظاهر خوبي داشته باشه پيشنهاد مي كنم از كامپوننت JvTransparentForm استفاده كنيد


71195

Hsimple11
چهارشنبه 25 خرداد 1390, 17:54 عصر
تیک خصیصه Tranparent مربوط به شئ Image رو بزنید و بعد تیک خصیصه TransparentColor فرم مربوطه رو بزنید و مقدار خصیصه TransparentColorValue رو با رنگ فرم ( به صورت پیش فرض clBtnFace ) مقدار بدید .

این روش جواب نمیده (Win7- Delphi7) یعنی اصلا Transparent نمیکنه. روش شما فقط همین خاصیت transparentcolor هست؟ اگر آره میشه سورس اون Sample که گذاشتید رو آپلود کنید؟

من خودم با Form.Brush.Style نامرئی میکردم که اون مشکل رو داشت.

سوال دوم اینکه با Override کردن CreateParams تصویر مدام پرش داره. (Override رو برای این انجام میدم که وقتی فرمی روی فرم شفاف من کشیده شد، تصویرش باقی نماند. سورس کدش هم در همین سایت هست).

منتظر جواب 2 سوالم هستم.....

Felony
پنج شنبه 26 خرداد 1390, 09:37 صبح
این روش جواب نمیده (Win7- Delphi7) یعنی اصلا Transparent نمیکنه. روش شما فقط همین خاصیت transparentcolor هست؟ اگر آره میشه سورس اون Sample که گذاشتید رو آپلود کنید؟
من از Delphi XE استفاده کردم ، سورس هم ضمیمه شد .


سوال دوم اینکه با Override کردن CreateParams تصویر مدام پرش داره. (Override رو برای این انجام میدم که وقتی فرمی روی فرم شفاف من کشیده شد، تصویرش باقی نماند. سورس کدش هم در همین سایت هست).
مگه تو فرم Splash تون کار خاصی میکنید که رابط کاربری خودش رو نمیتونه به روز رسانی کنه ؟