PDA

View Full Version : یه سوال در مورد محل قرار گرفتن برنامه .



hex161
دوشنبه 22 فروردین 1384, 03:20 صبح
با سلام.
من میخواستم برنامه خودم رو که اجرا میکنم در گوشه پایین سمت راست اجرا بشه
دقیقا بالای ساعت ویندوز .
طوری که با عوض کردن رزولیشن بهم نریزه.
این برنامه یک تاریخ شمسی است.آیا میتونم کاری کنم که وقتی ماوس روی ساعت ویندوز حرکت کرد تاریخ منو نشون بده؟
ممنون از جوابهای سریعتان.

Success
دوشنبه 22 فروردین 1384, 08:14 صبح
با سلام

در مورد سوال اول که محل قرار گرفتن برنامه تان است از کد زیر استفاده نمایید.

Move Screen.Width - Width, Screen.Height - Height

اما در مورد سوال دوم اطلاعاتی ندارم

موفق باشید :موفق:

Ariyan
دوشنبه 22 فروردین 1384, 08:35 صبح
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) 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 Form_Load()
Dim TmpH As Long, Pl As WINDOWPLACEMENT
Me.Visible = False
TmpH = FindWindow("Shell_TrayWnd", vbullstring)
GetWindowPlacement TmpH, Pl
Move (Screen.Width - Me.Width), (Pl.rcNormalPosition.Top * Screen.TwipsPerPixelY) - Me.Height
End Sub

Private Sub Timer1_Timer()
Dim CP As POINTAPI, TH As Long, tmpB As Long, CN As String * 255, CN1 As String
GetCursorPos CP
TH = WindowFromPoint(CP.x, CP.y)
tmpB = GetClassName(TH, CN, 255)
CN1 = Left(CN, tmpB)
If CN1 = "TrayClockWClass" Then
Me.Show
End If
End Sub