• Welcome to Valhalla Legends Archive.
 

test

Started by Falcon[anti-yL], May 25, 2004, 11:09 PM

Previous topic - Next topic

Falcon[anti-yL]

test

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