ايران ويج

نسخه‌ی کامل: taskbar and screen
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
من يه برنامه ي ساعت خيلي ساده نوشتم كه قابليت آتو هايدداره ولي يه مشكل دارم . گاهي وقتا تسكبار پايين صفحه نيست و گاهي هم سايزش استاندارد نيست . برنامه ي من خودش رو به بالاي صفحه مي چسبونه و طبيعيه كه اگر تسك بار هم اونجا باشه برنامه درست كار نمي كنه و زير تسك بار مخفي ميشه
در ضمن گاهي وقتا علاوه بر تسك بار نواره هاي ديگه اي هم هست كه خودمون از مثلا يه فولدر ساختيم يا راه هاي ديگه (مثل آدرسبار)
چطوري موقيت اين ها رو فهميد يا راحت تر بگم ٬‌چطوري مختصات تصويري كه ميتونم روش كار كنم رو بدست بيارم ... يعني طول و عرض نواره ها رو از سايز صفحه كم كنم...
اگه ميخواين بيشتر توضيح بدم...
آها ٬ اگه فلش كار كرده باشين ميبينين كه كليد ها يه حالت دارن به اسم mouse out آيا بيسيك هم اينطور ايونتي داره ؟
من از يه تايمر استفاده كردم كه با ورود موس به فرم فعال مي شه و مختصات كرسر رو ميگيره و اگر در فرم نبود كارهاي لازم رو مي كنه و بعد تايمر رو غير فعال مي كنه ٬‌آيا راه بهتري هم هست ؟ :?: :!: :?: :!: :?:
من خيلي دوست دارم كمكت كنم ولي هيچي نفهميدم
فلش هم كار نكردم
من با مختصات و از این چیزا زیاد کار کردم ولی نفهمیدم چی میخوای
راحت تر بگم :
اول از كجا ميشه فهميد كه taskbar كجاي تصويره (معمولا پايينه تصويره)
دوم اينكه سايز عرض taskbar چقدره ؟
سوم آيا نوار ديگه اي مثل taskbar هم توي صفحه هست ؟
ما در ويبي يه ايونت داريم به اسم OnMouseMove كه وقتي ماوس روي فرم يا ابجكت حركت مي كنه فعال مي شه . توي فلش يه ايونت هست به اسم OnMouseOut كه وقتي موس از آبجكت خارج مي شه عمل مي كنه . حالا سوال اينه كه در وي بي هم اينطور چيزي امكان پذير هست ؟ من قبلا نوشتم كه چطور اين مشكل رو حل كردم وحالا مي خوام نظر شما رو هم بدونم :wink:
spiderman نوشته است:من با مختصات و از این چیزا زیاد کار کردم ولی نفهمیدم چی میخوای
خسته نباشي ! :wink:
فكر كنم امير جان يه سورس گذاشته بود كه توي پنجره ها جستجو مي كرد اگه بتوني پنجرت رو پيدا كني فك كنم بتوني مختصاتش رو هم در بياري
veyskarami نوشته است:فكر كنم امير جان يه سورس گذاشته بود كه توي پنجره ها جستجو مي كرد اگه بتوني پنجرت رو پيدا كني فك كنم بتوني مختصاتش رو هم در بياري
يكم بيشتر توضيح ميدين ؟
براي اينكه برنامه هميشه به تسك بار چسبيده باشه بايد اين كارا رو بكني

از تابع

کد:
Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long
استفاده كني
اين تابع با گرفتن هندل TaskMgr مكان اونو بهت ميده
و بعد از بدست اوردن مكان پنجره از يه تايمر براي set كردن پنجره خودت با taskMgr استفاده ميكني

براي Mouse Out هم ميتوني از توابع
کد:
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function TrackMouseEvent Lib "comctl32.dll" (ByRef lpEventTrack As TRACKMOUSEEVENT) As Long
استفاده كني
ابتدا با تابع TrackMouseEvent بايد پنجره يا دكمه اي كه ميخواي وقتي موس از اون خارج ميشه
يه رويداد اتفاق بيفته رو اماده براي دريافت پيغام كني

بعد با تابع SetWindowLong يه حلقه براي پنجره ايجاد ميكني و وقتي كه موس از پنجره خارج شد يه پيغام با عنوان WM_MOUSELEAVE به حلقه فرستاده ميشه و اون موقع ميتوني هر كاري خواستي بكني
نقل قول: اول از كجا ميشه فهميد كه taskbar كجاي تصويره (معمولا پايينه تصويره)
دوم اينكه سايز عرض taskbar چقدره ؟
بيا اينم جواب دوتا سوالت
مايش 4 تا تكست باكس و يه كليد هست

کد:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Type WINDOWPLACEMENT
        Length As Long
        flags As Long
        showCmd As Long
        ptMinPosition As POINTAPI
        ptMaxPosition As POINTAPI
        rcNormalPosition As RECT
End Type


Private Sub Command1_Click()
Dim WP As WINDOWPLACEMENT
hStartMenu = FindWindow("Shell_traywnd", vbNullString)
Call GetWindowPlacement(hStartMenu, WP)
Text1.Text = WP.rcNormalPosition.Top
Text2.Text = WP.rcNormalPosition.Right
Text3.Text = WP.rcNormalPosition.Bottom
Text4.Text = WP.rcNormalPosition.Left
End Sub

نقل قول: سوم آيا نوار ديگه اي مثل taskbar هم توي صفحه هست ؟
يه مثال بزن
نفهميدم
ممنون از همتون
نواره ي ديگه ...
شما يه فولدر رو بگير و بچسبون به بالاي تصوير و منظور من رو درك كن !!!(درگ كن)
بازم تشكر
نقل قول: شما يه فولدر رو بگير و بچسبون به بالاي تصوير و منظور من رو درك كن !!!(درگ كن)
باشه بابا
چرا اينقدر مي زني
ريلكس باش به قول معروف
صفحه‌ها: 1 2 3 4