|
2010/6/22(Tue) 21:30:17|NO.33374
こんばんは。
pizzaさん、フォローありがとうございます。
こちらで試しに作成したサンプルを載せてみます。
4種類のリストビューのうち、真ん中の2つが上の動作で欠けて見えました。
サンプルではプログラムを短くするために、リストビューのヘッダやアイテムには
あえて何も入れていないので分かりにくいですが、
それでもヘッダ部分のグレーの所が欠けるのを確認しています。
また、どうやら”HSPのDebug Windowでは欠けないがエクスプローラでは欠ける”
ということがあるようです。
もしかしてVistaだと、この現象は起こらないのでしょうか?
こちらでは WinXPProSP3+HSP3.2 で確認しました。
どなたかご存じの方、アドバイスよろしくお願いします。
screen 0, 640, 480
#const global WS_CHILD $40000000
#const global WS_VISIBLE $10000000
#const global LVS_REPORT $00000001
#const global WS_EX_CLIENTEDGE $00000200
#const global LVS_EX_FULLROWSELECT $00000020
#const global LVS_EX_GRIDLINES $00000001
#const global LVM_SETEXTENDEDLISTVIEWSTYLE 0x1036
//上に他のウィンドウやダイアログが重なった後、リストビューの一部が欠けて表示される
lvs_ws = WS_VISIBLE | WS_CHILD | LVS_REPORT
lvs_ws_ex = WS_EX_CLIENTEDGE
pos 10, 0
winobj "SysListView32", "表示欠けないリストビュー", lvs_ws_ex, lvs_ws, 600, 100
hListView = objinfo_hwnd(stat)
sendmsg hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, lvs_ws_ex
//※エクスプローラ等のウィンドウを乗せるとヘッダ部分が欠ける。Debug Windowだと欠けない。
lvs_ws_ex = LVS_EX_FULLROWSELECT
pos 10, 100
winobj "SysListView32", "表示欠けるリストビュー", lvs_ws_ex, lvs_ws, 600, 100 //LVS_EX_FULLROWSELECTを入れると欠ける?
hListView = objinfo_hwnd(stat)
sendmsg hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, lvs_ws_ex
//※エクスプローラ等のウィンドウを乗せるとヘッダ部分が欠ける。Debug Windowだと欠けない。
lvs_ws_ex = WS_EX_CLIENTEDGE | LVS_EX_FULLROWSELECT
pos 10, 200
winobj "SysListView32", "表示欠けるリストビュー", lvs_ws_ex, lvs_ws, 600, 100 //LVS_EX_FULLROWSELECTを入れると欠ける?枠も表示されない
hListView = objinfo_hwnd(stat)
sendmsg hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, lvs_ws_ex
lvs_ws_ex = WS_EX_CLIENTEDGE | LVS_EX_GRIDLINES
pos 10, 300
winobj "SysListView32", "表示欠けないリストビュー", lvs_ws_ex, lvs_ws, 600, 100
hListView = objinfo_hwnd(stat)
sendmsg hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, lvs_ws_ex
stop
| |