HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0511
ばってんリストボックスのオーナードローで背景色を変えたい2解決


ばってん

リンク

2017/5/11(Thu) 18:07:55|NO.79677

HSP開発wikiにある ks3様のOwnerDraw/ODListBox
(https://wiki.hsp.moe/OwnerDraw%EF%BC%8FODListBox.html)
でリストボックスの背景色をアイテムが無い部分も含めて変えたいのですが、
よくわかりません。ご教示いただければ幸いです。

*On_DrawItem(WM_DRAWITEM)のところで、
アイテム毎にitemID\2で色分けしていると思います、
これをアイテムが無い部分(空白の白い部分)を色付するには
どの様にすれば宜しいでしょうか。(Rectangle itemDCの部分を
うまく弄れば良いような気がしますが…)


*On_DrawItem dupptr _dis, lparam, 48, 4 dup itemID, _dis.2: dup itemAct, _dis.3 dup itemSta, _dis.4: dup hCtrl, _dis.5 dup itemDC, _dis.6 dup rcLeft, _dis.7: dup rcTop, _dis.8 dup rcRight, _dis.9: dup rcBottom, _dis.10 sendmsg hList, LB_GETTEXT, itemID, varptr(szItem) if itemID\2{ // AliceBlue CreatePen 0, 0, RGB(240, 248, 255) hPen = stat CreateSolidBrush RGB(240, 248 ,255) hBrush = stat }else{ // LavenderBlush CreatePen 0, 0, RGB(255, 240, 245): hPen = stat CreateSolidBrush RGB(255, 240, 245): hBrush = stat } // 背景描画(後始末込み) SelectObject itemDC, hPen: holdPen = stat SelectObject itemDC, hBrush: holdBrush = stat Rectangle itemDC, rcLeft, rcTop, rcRight, rcBottom SelectObject itemDC, holdBrush SelectObject itemDC, holdPen DeleteObject hBrush DeleteObject hPen



この記事に返信する


A

リンク

2017/5/12(Fri) 17:58:48|NO.79706

無理やりですが…

*On_DrawItem ;中略 sendmsg hList, LB_GETTEXT, itemID, varptr(szItem) *@ ;中略 itemID+ itemSta=0 szItem="" i=rcBottom-rcTop rcTop+i rcBottom+i sendmsg hList,$18b if itemID>=stat&rcTop<cyList : goto *@b return 1



ばってん

リンク

2017/5/14(Sun) 13:17:02|NO.79756

教えて頂いたスクリプトで問題ないです、
ありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.