ab.com コミュニティ https://www.activebasic.com/forum/ |
|
ウィンドウのサイズ変更にリストボックスを合わせる https://www.activebasic.com/forum/viewtopic.php?t=1624 |
ページ 1 / 1 |
作成者: | 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) という方法でウィンドウに合わせようとしました。 しかし、この方法だとウィンドウの下部の余白部分がいちいち変化して、気持ち悪いのです。 これを無くすには、どうすれば良いのでしょう。 ご存知の方、教えてください |
作成者: | HSABP [ 2017年10月29日(日) 22:05 ] |
記事の件名: | Re: ウィンドウのサイズ変更にリストボックスを合わせる |
リストボックスのプロパティで文字列アリにチェックする( 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 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |