PDA

View Full Version : Transparent کردن کنترلی که این خاصیت را ندارد



niloufar
دوشنبه 12 اردیبهشت 1384, 13:54 عصر
دوستان سلام
آیا راهی وجود دارد که بتوان کنترلی که دارای خاصیت Transparent نیست (مثل ListBox یا TreeView یا ...) را به صورت Transparent کرد (مثلا با استفاده از توابع API یا سورس یا کمپوننتی خاص یا ...) تا مثلا هر تصویر زمینه ای که به کل فرم داده ایم، زیر متنهای آن کنترل دیده شود؟

علی جباری
سه شنبه 13 اردیبهشت 1384, 13:29 عصر
میتونی از Fm20.dll استفاده کنی که یکسری کنترل جدید به لیست کنترلهات اضافه میکنه

Hamedm
سه شنبه 13 اردیبهشت 1384, 16:03 عصر
میتونی از Fm20.dll استفاده کنی که یکسری کنترل جدید به لیست کنترلهات اضافه میکنه
اینو از کجا میتونیم گیر بیاریم؟

niloufar
سه شنبه 13 اردیبهشت 1384, 16:34 عصر
سلام

میتونی از Fm20.dll استفاده کنی که یکسری کنترل جدید به لیست کنترلهات اضافه میکن
من قبلا با این کنترل کاملا دقیق کار کرده ام. FM20 کنترل جالبی است و مشخصه های جدیدی را به کنترلهای استاندارد VB اضافه می کند. هر چند این کنترل مشکلات بسیاری هم دارد که من توصیه می کنم حتی المقدور و تا جایی که نیازتان واجب نشده، از آن استفاده نکنید ولی اصلا اکنون بحث سر چیز دیگری است و آن اینکه اگر کنترلی بود که اصلا خاصیت Transparent نداشت چه؟ مثل TreeView و ListBox و ...

اینو (FM20) را از کجا میتونیم گیر بیاریم؟
لازم نیست آن را گیر بیاورید فقط کافی است که کامپوننت Microsoft Forms 2.0 Object Library را از لیست کامپوننت ها انتخاب کنید. البته یه چیز دیگه اینکه این کنترل جزء Office محسوب می شود و در واقع یکی از کنترل های آن است نه VB و لذا برای استفاده از آن باید Office روی دستگاهتان باشد (که این یکی از مشکلات آن است که البته من آن را یه جورایی به زور حل کرده ام ولی بازهم مشکل دارد)

حامد مصافی
چهارشنبه 14 اردیبهشت 1384, 18:00 عصر
سورس مربوط به Transparent کردن پنجره ها تو همین بخش هست
یه جستجو بکنید عنوان جستجو باشه "شفاف کردن فرم" یا یه همچین چیزی

R_BABAZADEH
پنج شنبه 15 اردیبهشت 1384, 07:55 صبح
البته من آن را یه جورایی به زور حل کرده ام ولی بازهم مشکل دارد
چه جوری :گیج:

niloufar
شنبه 17 اردیبهشت 1384, 12:54 عصر
سلام

سورس مربوط به Transparent کردن پنجره ها تو همین بخش هست
یه جستجو بکنید عنوان جستجو باشه "شفاف کردن فرم" یا یه همچین چیزی
جرا دروغ بگم جستجو نکردم ولی فکر می کنم می دونم منطور شما چیه. آنچه شما می گویید اینست که چطور فرم طوری شفاف بشه که زیرش پیدا باشه. در صورتی که آنچه اینجا مطرح است اینه که یه فرم داریم که مثلا یه عکس زمینه دارد. حال کنترل هایی روی آن گذاشته ایم و می خواهیم که از زیر این کنترل ها، آن تصویر زمینه معلوم باشد. امیدوارم منطورم را متوجه شده باشید.


البته من آن را یه جورایی به زور حل کرده ام ولی بازهم مشکل داردچه جوری
یه سری Dll هنگام نصب Offece به دستگاه اضافه میشه که شما هم باید در Installer خود آنها را اضافه کنید.

حامد مصافی
شنبه 17 اردیبهشت 1384, 20:40 عصر
جرا دروغ بگم جستجو نکردم ولی فکر می کنم می دونم منطور شما چیه. آنچه شما می گویید اینست که چطور فرم طوری شفاف بشه که زیرش پیدا باشه. در صورتی که آنچه اینجا مطرح است اینه که یه فرم داریم که مثلا یه عکس زمینه دارد. حال کنترل هایی روی آن گذاشته ایم و می خواهیم که از زیر این کنترل ها، آن تصویر زمینه معلوم باشد. امیدوارم منطورم را متوجه شده باشید.


پنجره پنجره است! حالا فرم باشد یا تصویر یا ...
فقط به این نکته توجه داشته باشید که در وی بی Label و Image و Line کنترل (پنجره) نیستند و این اعمال روی آنها قابل انجام نیست

niloufar
یک شنبه 18 اردیبهشت 1384, 17:15 عصر
سلام

پنجره پنجره است! حالا فرم باشد یا تصویر یا ...
فقط به این نکته توجه داشته باشید که در وی بی Label و Image و Line کنترل (پنجره) نیستند و این اعمال روی آنها قابل انجام نیست
ببین من فکر کنم منظور شما استفاده از تابع SetLayeredWindowAttributes باشد که hwnd میگیرد ولی مثلا من بجای me.hwnd اگر text1.hwnd بدهم دیگه فایده اید نداره. اگه اینطور نیست لطفا بیشتر توضیح دهید.