Amir Ghasemiyan
2014/12/03, 23:45
سلام دوستان
بعضي وقتا ما ميخوايم يه پيغامي به كاربر بديم ولي نميخوايم كاربر بتونه پيغام ما رو حذف كنه. يا مثلا ميخوايم يه فرمي داشته باشيم كه فقط دكمه هاي دلخواه ما رو داشته باشه. براي اين كار به فرمي كه منوبار نداشته باشه نياز داريم.
در اين آموزش ميخوام يك فرم براتون بسازم كه منوبار نداشته باشه. منوبار نوار بالايي فرم هست كه دكمه هاي خروج و ماكزيمايز و مينيمايز روش هست.
اين هم نمونه نهايي فرم
5157
خب حالا بريم سراغ آموزش:
ابتدا يك فرم ميسازيم با هر محتوايي كه لازم داريم. سپس روي فرم كليك كرده و F7 رو ميزنيم تا وارد محيط كدنويسي فرم بشيم. (ميتونين روي فرم راست كليك كرده و گزينه view code رو بزنين)
حالا اين كدها رو به ابتداي كدها اضافه ميكنيم:
Option Explicit
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindowA(vbNullString, Me.Caption) ' The UserForm must have a caption
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub
به همين راحتي فرم ما به حالت دلخواه در اومد.
براي راحتي شما دوستان يك نمونه هم به تاپيك پيوست ميكنم.
بعضي وقتا ما ميخوايم يه پيغامي به كاربر بديم ولي نميخوايم كاربر بتونه پيغام ما رو حذف كنه. يا مثلا ميخوايم يه فرمي داشته باشيم كه فقط دكمه هاي دلخواه ما رو داشته باشه. براي اين كار به فرمي كه منوبار نداشته باشه نياز داريم.
در اين آموزش ميخوام يك فرم براتون بسازم كه منوبار نداشته باشه. منوبار نوار بالايي فرم هست كه دكمه هاي خروج و ماكزيمايز و مينيمايز روش هست.
اين هم نمونه نهايي فرم
5157
خب حالا بريم سراغ آموزش:
ابتدا يك فرم ميسازيم با هر محتوايي كه لازم داريم. سپس روي فرم كليك كرده و F7 رو ميزنيم تا وارد محيط كدنويسي فرم بشيم. (ميتونين روي فرم راست كليك كرده و گزينه view code رو بزنين)
حالا اين كدها رو به ابتداي كدها اضافه ميكنيم:
Option Explicit
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindowA(vbNullString, Me.Caption) ' The UserForm must have a caption
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub
به همين راحتي فرم ما به حالت دلخواه در اومد.
براي راحتي شما دوستان يك نمونه هم به تاپيك پيوست ميكنم.