コンボボックスのテキスト部の高さを設定する |
コンボボックスのテキスト部の高さを設定する (114) | |
Option Explicit 'SampleNo=114 WindowsXP VB6.0(SP5) 2002.05.22 '指定のウィンドウにメッセージを送る(P750) Private Declare Function Sendmessage Lib "user32" _ Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long '項目の高さを設定する(P790) Private Const CB_SETITEMHEIGHT = &H153 Private Sub Command1_Click() Combo1.Move 300, 300, 3000 Dim lngCobHei As Long 'Combo の高さ Dim lngRet As Long With Combo1 '元の高さをピクセル単位で求める lngCobHei = CLng(.Height \ Screen.TwipsPerPixelX) '高さを元の高さの1.1倍に設定 lngCobHei = CLng(lngCobHei * 1.1) 'wParam テキスト部の時= -1 リスト部=0 だが出来ない lngRet = Sendmessage(.hWnd, CB_SETITEMHEIGHT, -1&, ByVal lngCobHei) End With End Sub Private Sub Form_Load() Combo1.AddItem "VBレスキュー(花ちゃん)" Combo1.AddItem "VBレスキュー(花ちゃん)" Combo1.AddItem "VBレスキュー(花ちゃん)" Combo1.AddItem "VBレスキュー(花ちゃん)" Combo1.AddItem "VBレスキュー(花ちゃん)" End Sub 実行結果 |
|
どういった場面で、必要なのかは判りませんが、過去の掲示板に質問があり、出来ないような 回答があったような記憶があったので、APIを調べていて出来そうな事が書いてあったので試し てみました。 |
2002/05/22