はじめまして
W32プログラミング講座のテキストエディタの項目で
エディットボックスのサイズをウィンドウに合わせたのと同様に
リストボックスのサイズを
    Dim rc As RECT
    Dim hList As HWND
    hList=GetDlgItem(hSub,ListBox1)
    GetClientRect(hSub,rc)
    MoveWindow(hList, 0, 0, rc.right, rc.bottom,0)
という方法でウィンドウに合わせようとしました。
しかし、この方法だとウィンドウの下部の余白部分がいちいち変化して、気持ち悪いのです。
これを無くすには、どうすれば良いのでしょう。
ご存知の方、教えてください
			
			
									
						
										
						ウィンドウのサイズ変更にリストボックスを合わせる
- 
				HSABP
 
Re: ウィンドウのサイズ変更にリストボックスを合わせる
リストボックスのプロパティで文字列アリにチェックする( LBS_HASSTRINGSを)
オーナードローを可変にする。
このままではリストにモジが表示されないので、
構造体を定義しておきWM_DRAWITEMメッセージを処理する
			
			
									
						
										
						オーナードローを可変にする。
このままではリストにモジが表示されないので、
コード: 全て選択
Type DRAWITEMSTRUCT
    CtlType As DWord
    CtlID As DWord
    itemID As DWord
    itemAction As DWord
    itemState As DWord
    hwndItem  As HWND
    hDC As HDC
    rcItem As RECT
    itemData As DWord
End Type
コード: 全て選択
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
	' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
	Dim dis As *DRAWITEMSTRUCT 
	Dim sItem[100] As Byte
	If dwMsg = WM_DRAWITEM Then
		dis = lParam
		SendMessage(dis->hwndItem, LB_GETTEXT, dis->itemID, sItem)
		DrawText(dis->hDC, sItem, -1, dis->rcItem, DT_LEFT)
	End If
	' イベントプロシージャの呼び出しを行います。
	MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function