- 日時: 2007/07/15 19:33
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[コンボボックス][] * * キーワード:API,ComboBox,幅を変更,,, * ***********************************************************************************
----------------------------------------------------------------------------- No.2903 Re:コンボボックス 投稿者:ゆう(U) [2001/10/10(水)11:07分] -----------------------------------------------------------------------------
標準モジュール) Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any) As Long '========================================================== 'ドロップダウンリスト部の幅を変更する fComboDroppedWidth '========================================================== ' result = fComboDroppedWidth(myCombo, lenPixels) ' 引数 myCombo :コンボボックス ' lenPixels:幅(ピクセルで設定) ' 戻値 :True 成功 ' False 失敗(変更されない場合も) '---------------------------------------------------------- Public Function fComboDroppedWidth(ByRef myCombo As ComboBox, _ ByVal lenPixels As Integer _ ) As Boolean Const CB_ERR = (-1&) Const CB_SETDROPPEDWIDTH = &H160& Const CB_GETDROPPEDWIDTH = &H15F& Dim lngResult As Long Dim lngLength As Long
If myCombo.Style = vbComboSimple Then Exit Function
lngResult = SendMessage(myCombo.hWnd, _ CB_GETDROPPEDWIDTH, _ 0&, _ 0&) If lngResult <> CB_ERR Then lngLength = lngResult If lngResult <> lenPixels Then lngResult = SendMessage(myCombo.hWnd, _ CB_SETDROPPEDWIDTH, _ lenPixels, _ 0&) If lngResult <> CB_ERR And lngResult <> lngLength Then fComboDroppedWidth = True End If End If End If End Function
|