Author | Message | Time |
---|---|---|
LW-Falcon | test [code] Option Explicit Type POINTAPI x As Long y As Long End Type Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Declare Function MoveWindow Lib _ "user32" (ByVal hwnd As Long, _ ByVal x As Long, ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal bRepaint As Long) As Long Declare Function GetWindowRect Lib _ "user32" (ByVal hwnd As Long, _ lpRect As RECT) As Long Declare Function ScreenToClient Lib _ "user32" (ByVal hwnd As Long, _ lpPoint As POINTAPI) As Long Public Sub Size_Combo(rForm As Form, _ rCbo As ComboBox) Dim pt As POINTAPI Dim rec As RECT Dim iItemWidth As Integer Dim iItemHeight As Integer Dim iOldScaleMode As Integer 'Change the Scale Mode on the form 'to Pixels iOldScaleMode = rForm.ScaleMode rForm.ScaleMode = 3 iItemWidth = rCbo.Width 'Set the new height of the combo box iItemHeight = rForm.ScaleHeight - _ rCbo.Top - 5 rForm.ScaleMode = iOldScaleMode 'Get the coordinates relative to the 'screen Call GetWindowRect(rCbo.hwnd, rec) pt.x = rec.Left pt.y = rec.Top 'then the coordinates relative to 'the form. Call ScreenToClient(rForm.hwnd, pt) 'Resize the combo box Call MoveWindow(rCbo.hwnd, pt.x, _ pt.y, iItemWidth, iItemHeight, 1) End Sub [/code] | May 26, 2004, 4:09 AM |