コンボボックスのドロップダウンリスト幅を設定(T) <TOP>
コンボボックスのドロップダウンリスト幅を設定します。
SendMessage
ウィンドウにメッセージを送信
CB_SETDROPPEDWIDTH(&H160) コンボボックスのドロップダウンリスト幅を設定(T)
'================================================================ '= コンボボックスリストダウン幅を変更 '= (ComboWidth.bas) '================================================================ #include "Windows.bi" ' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&) #define CB_SETDROPPEDWIDTH &H160 'コンボボックスのリスト幅を変更 Var Shared Combo1 As Object Var Shared Button1 As Object Var Shared Button2 As Object Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var i As Long For i = 1 To 10 Combo1.AddString String$(20, Chr$(&H40 + i)) Next End Sub '================================================================ '= 幅を広げる '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var nWidth As Long Var Ret As Long 'ドロップダウンリスト幅を設定(2倍) nWidth = CLng(Combo1.GetWidth * 2) Ret = Api_SendMessage(Combo1.GethWnd, CB_SETDROPPEDWIDTH, nWidth, ByVal CLng(0)) End Sub '================================================================ '= 幅を戻す '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() Var nWidth As Long Var Ret As Long 'ドロップダウンリスト幅を設定 nWidth = CLng(Combo1.GetWidth) Ret = Api_SendMessage(Combo1.GethWnd, CB_SETDROPPEDWIDTH, nWidth, ByVal CLng(0)) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End