نمایش نتایج 1 تا 7 از 7

نام تاپیک: DBGrid شفاف

  1. #1

    DBGrid شفاف

    سلام عليكم،
    بنده مشكلي دارم، اونم اينه كه نمي تونم پس زمينه DBGrid را شفاف كنم.
    از هر كسي كه اين تجربه را دارد خواهش مي كنم دست اين حقير را نيز بگيرد.

    با تشكر

  2. #2
    یعنی چی که شفاف بشه؟ میخواید پشتش عکس بزارید، رنگش رو عوض کنید یا ...

  3. #3
    فکر کنم منظورشون یه جور Transparent شبیه Object هایی مثل Label ,Form,... باشه

  4. #4
    راستش همانطور كه دوستمون فرمود، مي خواهم DBGrid به صورت Transparent باشد. با تشكر.

  5. #5
    خاصیت Transparent برای کنترل هایی از نوع TWinControl با TGraphicControl فرق داره. برای TGraphicControl که خودش یک پنجره نمیسازه فقط کافیه رو پس زمینه چیزی کشیده نشه مثل حالت TLabel، اما برای TWinControl قضیه فرق میکنه.

    در مورد TWinControl باید یک Region بسازید و اون رو از شئ حذف کنید یا اگر منظورتون Alpha Blending باشه WS_EX_LAYERD رو هم به نوع پنجره اضافه کنید.

    برای همین پرسیدم، اگر میخواید مثل TLabel شفاف باشه، برای TDBGrid کار سختیه، در واقع اصلا ارزشش رو نداره. چون DBGrid از TWinControl مشتق شده، هر دفعه که روش چیزی می نویسید، باید Region شفاف رو عوض کنید. برای شبیه سازی این کار (که باز هم به نظر من ارزشش رو نداره) باید به کامپوننت رو دوباره نویسی کنید، موقع رسم شکل Grid به شئ والد بگید که رو Canvas مربوط به Grid نقش پس زمینه رو بکشه، بعدش خود گرید رو نقاشی کنید.

    تنها مورد باقیمانده Alpha Blending هستش که سورس TCustomForm رو نگاه کنید می بینید چطور میشه یک TWinControl رو نیمه شفاف کرد.

  6. #6
    اگر منظورتون Alpha Blending باشه WS_EX_LAYERD رو هم به نوع پنجره اضافه کنید.
    WS_EX_LAYERD برای پنجره های Child مثل DBGrid نمیتونه استفاده بشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7
    حق با آقای کشاورزه، ممنون از تذکرشون.

    پس تنها راه معقول استفاده از Regionهاست. (SetWindowRgn)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •