تابع EnableWindow :
این تابع یک پنجره را قابل استفاده و یا غیر قابل استفاده می کند .
اصل تابع :
Public Declare Function EnableWindow Lib "user32" Alias "EnableWindow" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
پارامتر ها :
Hwnd : این پارامتر از نوع عددی بوده و دستگیره پنجره ای را مشخص می کند که باید قابل استفاده یا غیر استفاده شود .
fEnable : این پارامتر نیز از نوع عددی بوده و اگر برابر 1 قرار بگیرد پنجره قابل استفاده و اگر برابر 0 باشد پنجره غیر قابل استفاده می شود .
خروجی :
خروجی این تابع از نوع عددی بوده و اگر تابع کار خود را به درستی انجام بدهد مقدار یک و در غیر این صورت مقدار 0 بر گردانده می شود .
تابع IsWindowEnable :
این تابع قابل اسفاده بودن یک پنجره را آزمایش می کند .
اصل تابع :
Public Declare Function IsWindowEnabled Lib "user32" Alias "IsWindowEnabled" (ByVal hwnd As Long) As Long
پارامتر ها :
Hwnd : این پارامتر از نوع عددی بوده و دستگیره پنجره ای را مشخص می کند که باید مورد آزمایش قرار بگیرد .
خروجی :
خروجی این تابع از نوع عددی بوده و اگر پنجره قابل استفاده باشد مقدار 1 بر گردانده می شود و در غیر این صورت مقدار 0 برگردانده می شود .
تابع GetWindowPlacement :
این تابع وضعیت نمایش پنجره از قبیل Normal و Minimize و Maximize و همچنین مکان و ابعاد پنجره را در هر وضعیت را بر می گرداند .
اصل تابع :
Public Declare Function GetWindowPlacement Lib "user32" Alias "GetWindowPlacement" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
پارامتر ها :
Hwnd : این پارامتر از نوع عددی بوده و دستگیره پنجره ای می باشد که می خواهیم وضعیت و مکان و ابعاد آن را بدست آوریم .
Lpwndpl : این پارامتر در حقیقت یک اشاره گر به ساختار WINDOWPLACEMENT می باشد که اطلاعات مربوط به پنجره در آن ذخیره می شود .
ساختار WINDOWPLACEMENT :
کد:
Public Type WINDOWPLACEMENT
Length As Long
flags As Long
showCmd As Long
ptMinPosition As POINTAPI
ptMaxPosition As POINTAPI
rcNormalPosition As Rect
End Type
Length : این فیلد از نوع عددی بوده و شامل اندازه ساختار در حافظه می باشد در vb از تابع Len استفاده می کنیم .
Flags : این فیلد وضعیت بازگشت پنجره را مشخص می کند و می تواند شامل دو مقدار زیر باشد :
- WPF_RESTORETOMAXIMIZED : مشخص می کند وقتی پنجره بخواهد به حالت قبلی برگردد به Maximize تغییر حالت می دهد و با مقدار عددی &H2 .
- WPF_SETMINPOSITION : زمانی که پنجره به حالت قبلی برگردد به Minimize تغییر حالت می دهد و با مقدار عددی &H1 .
showCmd : این پارامتر وضعیت پنجره را مشخص می کند و این وضعیت می تواند مقادیری داشته باشد که در تابع بعدی توضیح می دهم .
ptMinPosition : این ساختار از نوع PointApi می باشد و در حقیقت مختصات مکانی پنجره را در حالت Minimize برمی گرداند .
ptMaxPosition : این ساختار از نوع PointApi می باشد و در حقیقت مختصات مکانی پنجره را در حالت Maximize برمی گرداند .
rcNormalPosition : این پارامتر از نوع ساختار RECT می باشد و مختصات ابعادی پنجره را بر می گرداند .
ساختار PointApi : احتیاجی به توضیح ندارد
کد:
Public Type POINTAPI
x As Long
y As Long
End Type
ساختار RECT : این ساختار هم از اسمهاش پیداست احتیاجی به توضیح نیست
کد:
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
خروجی :
خروجی این تابع از نوع عددی بوده و اگر پنجره قابل استفاده باشد مقدار 1 بر گردانده می شود و در غیر این صورت مقدار 0 برگردانده می شود .
تابع ShowWindow :
این تابع وضعیت نمایش یک پنجره را مشخص می کند .
اصل تابع :
Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
پارامتر ها :
Hwnd : این پارامتر از نوع عددی بوده و دستگیره پنجره ای را مشخص می کند که قرار است وضعیت آن را مشخص کنیم .
nCmdShow : این پارامتر نیز از نوع عددی بوده و مشخص کننده وضعیت پنجره مورد نظر می باشد این پارامتر می تواند مقادیر زیر را دریافت کند :
- SW_HIDE : این Flag پنجره را از درون Taskbar ویندوز محو می کنه و سایر پنجره ها را مشخص می کند و با مقدار عددی 0 .
- SW_MAXIMIZE : این Flag پنجره را به حالت Maximize تغییر و ضعیت می دهد و با مقدار عددی 3 .
- SW_MINIMIZE : این Flag پنجره را به حالت Minimize تغییر وضعیت می دهد این Flag دقیقا برابر تابع CloseWindow است و با مقدار عددی 6 .
- SW_RESTORE : این Flag پنجره را از وضعیت Minimize یا Maximize به وضعیت Normal بر می گرداند و با مقدار عددی 9 .
- SW_SHOW : این Flag پنجره را در وضعیت صحیح خود نمایش می دهد برعکس Flag ، SW_HIDW و با مقدار عددی 5 .
- SW_SHOWDEFAULT : این Flag پنجره را در حالت پیش فرض خو نمایش می دهد و با مقدار عددی 10 .
- SW_SHOWMAXIMIZED : این Flag پنجره را در وضعیت Maximize نمایش می دهد و پنجره را فعال می کند و با مقدار عددی 3 .
- SW_SHOWMINIMIZED : این Flag پنجره را در وضعیت Minimize نمایش می دهد و پنجره را فعال می کند و با مقدار عددی 2 .
- SW_SHOWNORMAL : این Flag پنجره را در وضعیت Normal نمایش می دهد و پنجره را فعال می کند و با مقدار عددی 1 .
- SW_SHOWMINNOACTIVE : این Flag پنجره را در وضعیت Minimize نمایش می دهد و پنجره را فعال نمی کند و با مقدار عددی 7 .
- SW_SHOWNOACTIVATE : این Flag پنجره را در وضعیت صحیح خود نمایش می دهد ولی پنجره را فعال نمی کند و با مقدار عددی 4 .
- SW_SHOWNA : این Flag پنجره را در وضعیت صحیح خود نمایش می دهد ولی پنجره را فعال نمی کند و اگر فعال باشد فعال و اگر فعال نباشد غیرفعال نمایش می دهد و با مقدار عددی 8 .
خروجی :
خروجی این تابع از نوع عددی بوده و اگر تابع کار خود را به درستی انجام بدهد مقدار یک و در غیر این صورت مقدار 0 بر گردانده می شود .
تابع SetWindowPlacement :
کار این تابع دقیقا بر عکس تابع GetWindowPlacement عمل می کند .
اصل تابع :
Public Declare Function SetWindowPlacement Lib "user32" Alias "SetWindowPlacement" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
پارامتر ها :
Hwnd : این پارامتر از نوع عددی بوده و دستگیره پنجره ای می باشد که می خواهیم وضعیت و مکان و ابعاد آن را تغییر بدهیم .
Lpwndpl : این پارامتر در حقیقت یک اشاره گر به ساختار WINDOWPLACEMENT می باشد که متغییر های آن باید پیش از فراخوانی تابع مقدار دهی شده باشد .
خروجی :
خروجی این تابع از نوع عددی بوده و اگر پنجره قابل استفاده باشد مقدار 1 بر گردانده می شود و در غیر این صورت مقدار 0 برگردانده می شود .
مثال :
کد:
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 Declare Function GetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Private Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
Dim Wp As WINDOWPLACEMENT
Dim ScrR As RECT, DesR As RECT
Private Sub Command1_Click()
GetWindowPlacement Me.hwnd, Wp
ScrR = Wp.rcNormalPosition
List1.Clear
List1.AddItem "FormLeft : " + CStr(ScrR.Left)
List1.AddItem "FormRight : " + CStr(ScrR.Right)
List1.AddItem "FormTop : " + CStr(ScrR.Top)
List1.AddItem "FormBottom : " + CStr(ScrR.Bottom)
End Sub
Private Sub Command2_Click()
Wp.Length = Len(Wp)
DesR.Left = 260
DesR.Right = 100
DesR.Top = 100
DesR.Bottom = 200
Wp.rcNormalPosition = DesR
Wp.showCmd = 5
SetWindowPlacement Me.hwnd, Wp
End Sub
رفقا به اندازه کافی فکر کنم توضیح دادم که دیگه این مثال و توضیح ندهم خودتون امتحان کنید .
علاقه مندی ها (بوک مارک ها)