ウィンドウのサイズ変更にリストボックスを合わせる

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ウィンドウのサイズ変更にリストボックスを合わせる

Re: ウィンドウのサイズ変更にリストボックスを合わせる

by HSABP » 2017年10月29日(日) 22:05

リストボックスのプロパティで文字列アリにチェックする( LBS_HASSTRINGSを)
オーナードローを可変にする。

このままではリストにモジが表示されないので、

コード: 全て選択


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
構造体を定義しておきWM_DRAWITEMメッセージを処理する

コード: 全て選択


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

ウィンドウのサイズ変更にリストボックスを合わせる

by doloop » 2006年10月14日(土) 21:02

はじめまして
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)
という方法でウィンドウに合わせようとしました。

しかし、この方法だとウィンドウの下部の余白部分がいちいち変化して、気持ち悪いのです。
これを無くすには、どうすれば良いのでしょう。

ご存知の方、教えてください

ページトップ