Всем добрый...
Столкнулся с GUICtrlCreateListView, на Win10 полоса колонок (Header) сливается с пунктами
Хочется отделить полосой, но что-то никак - не хочется напрягать систему постоянной перерисовкой, может есть простой метод, без WM_NOTIFY, ну если без него никак то хотя бы с ним.
Окно с ListView размероизменяемое.
Код почти стандартный:
Вот исходное окно:
Хотелось бы отделить либо так:
либо так:
либо так:
можно и так:
Столкнулся с GUICtrlCreateListView, на Win10 полоса колонок (Header) сливается с пунктами
Хочется отделить полосой, но что-то никак - не хочется напрягать систему постоянной перерисовкой, может есть простой метод, без WM_NOTIFY, ну если без него никак то хотя бы с ним.
Окно с ListView размероизменяемое.
Код почти стандартный:
Код:
#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $hGUI, $ListView, $button, $item1, $item2, $item3, $msg, $clear, $width
$hGUI = GUICreate("ListView", 240, 260, 100, 200,$WS_OVERLAPPEDWINDOW)
GUISetBkColor(0xd5d2af) ; устанавливает цвет фона Gui
$ListView = GUICtrlCreateListView("Колонка1|кол2|кол3 ", 10, 10, 220, 150,$LVS_REPORT,$LVS_EX_FULLROWSELECT+$LVS_EX_GRIDLINES+$LVS_EX_HEADERDRAGDROP);,$LVS_SORTDESCENDING)
GUICtrlSetBkColor(-1, 0xFFFEEE) ; устанавливает цвет фона ListView
$item1 = GUICtrlCreateListViewItem("пункт2|кол22|кол23", $ListView)
$item2 = GUICtrlCreateListViewItem("пункт1|кол12|кол13", $ListView)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 6, 0) ; устанавливает иконку пункту
$item3 = GUICtrlCreateListViewItem("пункт3|кол32|кол33", $ListView)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0)
$button = GUICtrlCreateButton("Текст выбранной строки", 45, 170, 150, 25)
$width = GUICtrlCreateButton("Установить ширину колонок", 35, 200, 170, 25)
$clear = GUICtrlCreateButton("Очистить", 85, 230, 70, 25)
GUISetState()
GUICtrlSetData($item2, "ПУНКТ1")
GUICtrlSetData($item3, "||КОЛ33")
GUICtrlDelete($item1)
While 1
Switch GUIGetMsg()
Case $button
MsgBox(0, "Текст выбранной строки", GUICtrlRead(GUICtrlRead($ListView)), 2, $hGUI)
Case $clear
GUICtrlSendMsg($ListView, $LVM_DELETEALLITEMS, 0, 0)
Case $width
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 80)
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 55)
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 2, 60)
Case $ListView
MsgBox(4096, "ListView", "колонка=" & GUICtrlGetState($ListView), 2, $hGUI)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Вот исходное окно:
Хотелось бы отделить либо так:
либо так:
либо так:
можно и так:
Последнее редактирование: