0

ايجاد فرم شفاف

 
paysokhan
paysokhan
کاربر نقره ای
تاریخ عضویت : آبان 1388 
تعداد پست ها : 364
محل سکونت : فارس

ايجاد فرم شفاف

يك فرم شفاف فرمي است كه هنگام نمايش داده شدن پنجره هاي زيري خود را نمي پوشاند . يكي از بوابع API ويندوز به نام SetWindowLog مي تواند براي تغيير دادن تنظيمات قالبي يك فرم يا پنجره مورد استفاده واقع شود.

آرگومانهاي تابع

hWnd
يك مقدار صحيح و در بردارنده دستگيره پنجره مي باشد.

nIndex
مقدار صحيحي است كه نوع اطلاعات مورد تنظيم شما را مشخص مي كند . اين مقدار به يكي از حالتهاي زير مي تواند باشد:
GWL_EXSTYLE قالب پينجره افزوده را تنظيم مي كند
GWL_STYLE قالب پنجره حاظر را تنظيم مي كند
GWL_WNDPROC آدرس كار پنجره را مشخص مي كند

dwNewLong
يك مقدار Long و حاوي بيتهاي قالبي است كه به پنجره داده مي شود


برنامه نمونه
پرو‍ژه جديدي را ايجاد نماييد . خصوصيت Picture آن را به فايل نقش بيتي ARCHES.BMP تنظيم نماييد ( اين فايل معمولا در شاخه ويندوز يافته مي شود .)
يك كنترل CommandButton بر روي فروم ايجاد نماييد . خصوصيت Caption آن را با Show Form تنظيم نماييد
كد زير را در رويداد Click دكمه وارد نماييد

کد:

Private Sub Command1_Click()
Form2.show
Emd Sub

فرم ديگري ايجاد كنيد . به طور پيش فرض FORM2 ايجاد مي شود.

جملات Declare و Constant زير را به قسمت معرفيهاي عمومي فرم اضافه نماييد:

کد:
Declare Function SetWindowLong Lin "User32" alias "SetWindowLongA" ( Byval hwnd as long, Byval nIndex as long, Byval dwNewLong as long) as long
Const WS_EX_TRANSPARENT = &H20&
Const GWL_EXSTYLE = (-20)

كد زير را در رويداد Load مربوط به FORM1 وارد كنيد:

کد:
Private Sub Form_Load()
Dim Ret As Long
Ret = SetWindowLong (Form2.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT)
End Sub

برنامه را فشردن كليد F5 اجرا و روي دكمه SHOW FORM كليك كنيد .

اسلام پیروز است
 
سه شنبه 5 بهمن 1389  4:11 AM
تشکرات از این پست
دسترسی سریع به انجمن ها