Что нового

[Элементы GUI] Окраска столбцов в ListView

ynbIpb

Скриптер
Сообщения
399
Репутация
110
Скажите пожалуйска как можно окрасить бэкграунд одного столбца в ListView ?
В UDF нашёл только окраску всего Бэкграунда _GUICtrlListView_SetBkColor($hWnd, $iColor), А мне нужно именно столбца (Column)
Может как-то через GUICtrlSendMsg ?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
ynbIpb [?]
как можно окрасить бэкграунд одного столбца в ListView ?
В определённый цвет, или просто для пометки?


Добавлено:
Сообщение автоматически объединено:

Если просто для пометки, то можно так:

Код:
#include <GUIConstantsEx.au3>
#include <GUIListView.au3>

$Gui = GUICreate("ListView - Set selected column", 300, 200)

$hListView = GUICtrlCreateListView("Column1|Column2", 2, 2, 296, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT))
_GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))

GUICtrlCreateListViewItem("Item1|SubItem1", $hListView)

GUISetState()

GUICtrlSendMsg($hListView, $LVM_SETSELECTEDCOLUMN, 1, 0)
_WinAPI_RedrawWindow(GUICtrlGetHandle($hListView))

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			ExitLoop
	EndSwitch
WEnd
 
Автор
ynbIpb

ynbIpb

Скриптер
Сообщения
399
Репутация
110
О да!
Именно хотел, чтоб была видна граница между столбцами, а то они сливаются. Спасибо.

з.ы.
Попутно ещё вопрос о ListView
У меня в нём очень много элементов GUICtrlCreateListViewItem (около 2000) и я не запоминаю их хэндлы. Как мне определить что по одному из итемов кликнули или какой был выделен?
Работаю в режиме Режим MessageLoop и Case $hListView срабатывает только если кликнуть по заголовку столбца. Я планирую потом уже определять какой выделен функцией _GUICtrlListView_GetItemSelected и читать с него данные.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
ynbIpb [?]
Попутно ещё вопрос о ListView
Цитата из справки (Пункт В.4):

Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.

Хотя по этому “попутному вопросу” кажется уже есть тема (см. первую тему в списке «Похожие темы» ниже).
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
CreatoR сказал(а):
Если просто для пометки, то можно так...

Кстати, для этого есть функция _GUICtrlListView_SetSelectedColumn().
 
Верх