コンボボックスのエディット部高さを設定          <TOP>


SendMessage ウィンドウにメッセージを送信
CB_SETITEMHEIGHT(&H153) コンボボックス内の項目の高さを設定

 

 

'================================================================
'= コンボボックスのエディット部高さを設定
'=    (CB_SETITEMHEIGHT.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define CB_SETITEMHEIGHT &H153          'コンボボックス内の項目の高さを設定する

Var Shared Text1 As Object
Var Shared Text2 As Object
Var Shared Combo1 As Object
Var Shared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Text2.Attach GetDlgItem("Text2") : Text2.SetFontSize 14
Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    For i = 1 to 10
        Combo1.AddString Str$(i)
    Next
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var ComboHeight As Long
    Var Item As Long
    Var Ret  As Long

    '変更する構成要素にエディットボックスを指定
    Item = -1

    'コンボボックスの高さ
    ComboHeight = CLng(Combo1.GetHeight * 1.05)

    '新しいコンボボックスの高さを設定
    Ret = Api_SendMessage(Combo1.GethWnd, CB_SETITEMHEIGHT, Item, ByVal ComboHeight)

    '変更後のエディットボックスの高さを表示
    Text2.SetWindowText Str$(Combo1.GetHeight)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End