ورود

View Full Version : سوال: مشکل در مخفی کردن TaskBar به صورت انیمیشن



AmirAmiri
سه شنبه 07 خرداد 1387, 09:21 صبح
سلام دوستان خسته نباشید.
مسئله : من برنامه ای نوشتم که کارش مخفی کردن TaskBar هست اما به صورت انیمیشن. یعنی اینکه بعد از کلیک روی کامند یک TaskBar باید از سمته راست به سمت چپ بره و مخفی بشه (نه اینکه حرکت کنه بلکه آروم آروم مخفی بشه) و زمانی که روی کامند دو کلیک کردم از سمت چپ به راست نمایش داده بشه.
مشکل : این عمل روی محتویات فرم درست عمل میکنه اما زمانیکه هندل TaskBar رو بهش میدم انیمیشن نمیشه.
برای انیمیشن کردن از تابع AnimateWindow استفاده کردم و برای بدست آوردن هندل TaskBar از FindWindow استفاده کردم.



Const AW_HOR_POSITIVE = &H1
Const AW_HOR_NEGATIVE = &H2
Const AW_VER_POSITIVE = &H4
Const AW_VER_NEGATIVE = &H8
Const AW_CENTER = &H10
Const AW_HIDE = &H10000
Const AW_ACTIVATE = &H20000
Const AW_SLIDE = &H40000
Const AW_BLEND = &H80000
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean

Private Declare Function FindWindow Lib "User32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpCaption As String) As Long
Private Declare Function SetWindowPos Lib "User32.dll" (ByVal shWnd As Long, ByVal MainhWnd As Long, ByVal X As Long, ByVal Y As Long, ByVal CX As Long, ByVal CY As Long, ByVal uFlags As Long) As Long
Dim TashBarHandle As Long
Dim Delay As Long

Private Sub Command1_Click()
AnimateWindow TashBarHandle, Delay, AW_HOR_NEGATIVE Or AW_HIDE 'Hide TaskBar
AnimateWindow Text1.hwnd, Delay, AW_HOR_NEGATIVE Or AW_HIDE 'Hide TextBox
End Sub

Private Sub Command2_Click()
AnimateWindow TashBarHandle, Delay, AW_HOR_POSITIVE 'Show TaskBar
AnimateWindow Text1.hwnd, Delay, AW_HOR_POSITIVE 'Show TextBox
End Sub

Private Sub Command3_Click()
Call SetWindowPos(TashBarHandle, 0, 0, 0, 0, 0, &H80)
End Sub

Private Sub Command4_Click()
Call SetWindowPos(TashBarHandle, 0, 0, 0, 0, 0, &H40)
End Sub

Private Sub Form_Load()
Delay = 2000
TashBarHandle = FindWindow("Shell_Traywnd", "")
End Sub


اگه امکان داره بررسی کنید ببینید مشکلش چیه چون خیلی خیلی خیلی ضروریه. از تمامه کسانی که کمک میکنن کماله تشکر رو دارم.

AmirAmiri
سه شنبه 07 خرداد 1387, 11:02 صبح
شما رو به خدا کمک کنید خیلی فوریه.
از تمامه اساتید خواهش میکنم این سورس رو بررسی کنن....

یکی منو راهنمایی کنه.

SeyedMoosavi
سه شنبه 07 خرداد 1387, 13:33 عصر
:گریه:من این برنامه رو دانلود کردم ویندوزم ویستاس خراب کرد سیستمم رو :گریه:
:گریه:تسکبرا تیکه تیکه شد :گریه:

Payman62
سه شنبه 07 خرداد 1387, 14:27 عصر
سلام.
فقط تسک بار با این API مشکل نداره. من رو پنجره های دیگم تست کردم. همشون همین مشکل رو داشتن.
حتی من ثابت های دیگه رو هم چک کردم یا زمان دیلی رو بیشتر کردم ولی مشکل حل نشد.
مطمنی این API رو همه پنجره ها عمل میکنه؟ شاید فقط برای اشیای روی فرمه.

مهران رسا
سه شنبه 07 خرداد 1387, 17:07 عصر
عجیبه ...

قانوناً باید روی هر پنجره ای که Hwnd رو را داریم درست جواب بده .

AmirAmiri
سه شنبه 07 خرداد 1387, 21:28 عصر
عجیبه ...

قانوناً باید روی هر پنجره ای که Hwnd رو را داریم درست جواب بده .
بله در واقع باید عمل کنه اما مشکله منم همینه..... :عصبانی++: :عصبانی++: