۱۳۸۸ تیر ۸, دوشنبه

SetWindowLong

خب امروز میخوام یه api رو معرفی کنم که با استفاده از اون میشه یکم شکل و شمایل فرم برنامه رو تغییر داد.
فرمت تابع به شکل زیر میباشد

Private Declare Function SetWindowLong Lib "user32.dll" Alias _ "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong _ As Long) As Long

این تابع قابلیت های زیادی دار
1-GWL_STYLE (برای اصلاح کردن فرم)
2- GWL_EXSTYLE (برای اصلاح کردن فریم درو فرم)
3- GWL_WNDPROC (برای ساختن یک حلقه برای فرم)
ما فقت به GWL_STYLE کار داریم
برای کار با استایل فرم باید یک سری ثابت دیگر نیز تعریف کنیم به شرح زیر.
ٌ WS_CAPTION  که خیلی مفیده و دکمه های روی فریم رو بر میداره
WS_BORDER   فریم رو حذف میکنه و به جاش یک خط سیاه میزاره
و این هم یک نمونه:
SetWindowLong Me.hwnd, GWL_STYLE, WS_CAPTION
این تابع در این مرحله اونقدر ساده هست که نیازی به توزیح نداری
همچنین ثابت های بیشتری نیز وجود دارند که من نمیتونم همشون رو توزیح بدم
ولی شما میتونید خودتون دونه دونه همه ی اونا رو امتحان کنید
و اینکه تمامی ثوابت پیشوند WS دارند

Input Output

خب خیلی جاها من دیدم که گفتن نمیشه با ویژوال بیسیک ورودی خروجی هارو کنترل کرد. در صورتی که این حرف کاملآ اشتباه هست. ویژوال بیسیک قابلیت کنت...