VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/01/06(Mon) 20:41
投稿者花ちゃん
Eメール
URL
タイトルRe: リスト項目数を変更する、について。

表示位置をピクセル単位換算すればいいかと思います。

'===== コンテナ上のコンボボックスの場合 =====
Private Sub Combo2_DropDown()
    'ドロップダウンリストの表示項目数を12に設定
    Call sCBDropDownListItem1(Combo2, 12)
End Sub

Private Sub sCBDropDownListItem1(CBControl As Control, Item As Long)
    Dim CBHeight  As Long
    Dim Result    As Long
    Dim Ratio     As Long
    'ピクセルあたりのtwip 数を取得
    Ratio = Screen.TwipsPerPixelX
    With CBControl
        '項目の高さを取得
        CBHeight = SendMessage(.hwnd, CB_GETITEMHEIGHT, 0&, ByVal 0&)
        '12項目表示する場合の高さを求める
        CBHeight = (.Height \ Ratio) + CBHeight * Item + 2
        'コンボボックスの高さを変更
        Result = MoveWindow(.hwnd, .Left \ Ratio, .Top \ Ratio, .Width \ Ratio, CBHeight, 1&)
    End With
End Sub

こちらの方がどちらでも使用できるからいいかも。


#丸に数字のような文字は機種依存文字です。インターネットでは使用しない方がいいかと思います。
またまた、同タイムで負けてしまった。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -