powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Высвечивание активной строки в Grid
9 сообщений из 9, страница 1 из 1
Высвечивание активной строки в Grid
    #38672259
Трезвый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме два грида.
Текущая строка в каждом гриде остается подсвеченной, даже если грид теряет фокус (свойство HighLightStyle = 2-Current Row highighting enabled with visual persistence). Здесь все нормально.
Но проблема в том, что пользователь должен видеть, какой именно грид в настоящее время активен.
Как, каким свойством выделить строку активного грида, чтобы она отличалась от соседнего неактивного?
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672408
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я включаю RecordMark и ставлю HighLightStyle=1. ИМХО этого достаточно.
Но можно попробовать при потери и получении фокуса играться цветом подстветки
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672418
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трезвый, у меня неплохо выходит при
HighlightBackColor = RGB(192,192,192)
HighlightForeColor = RGB(0,0,0)
HighlightStyle = 2
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672419
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трезвый, пардон, для двух Гридов рядом это может не подойти
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672425
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трезвый, а Грид точно будет "активен" после потери потери фокуса?
Может вопрос о том, какой Грид последним потерял фокус?
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672428
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трезвый, к меня в Гриде с фокусом поле, выбранное (SELECTED) с клавиатуры, подсвечивается синим фоном, а выбранное мышью - белым. При потере фокуса эта подсветка выбранного фона поля исчезает. Т.е. если один Грид с фокусом, другой без, их вид различается фоном выбранного поля
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672518
Трезвый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rostislav D. KudryashovТрезвый, а Грид точно будет "активен" после потери потери фокуса?
Может вопрос о том, какой Грид последним потерял фокус?Верно, я ошибся в описании проблемы. Вопрос именно в том, как выделить грид, последним потерявший фокус.

Одного RecordMark мало, не проходит. Надо как-то играться с цветом...
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672522
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меняй HighlightBackColor

Отследить потерю фокуса гридом проблематично. Нет у грида GotFocus()/LostFocus() но они есть у всех контролов внутри грида.
Можно добавить метод GotFocus() гриду и вызывать его из каждого GotFocus() контрола. Чтоб руками не копипастить можно так:
Grid.Init()
Код: sql
1.
2.
3.
4.
5.
6.
7.
for each loCol in This.Columns
	for i = 1 to loCol.ControlCount
		if loCol.Controls(i).BaseClass = 'TextBox'
			BINDEVENT(loCol.Controls(i), "GotFocus", This, "GotFocus")
		endif
	endfor
endfor


Только учти что такой GotFocus() будет вызываться при каждом переходе между ячейками.
...
Рейтинг: 0 / 0
Высвечивание активной строки в Grid
    #38672534
Трезвый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Dima T]Меняй HighlightBackColor[quot]
Сделал так: при получении фокуса одним гридом меняю у него HighlightBackColor на более яркий и одновременно на другом гриде меняю HighlightBackColor на бледный.

Если фокус переходит на другие контролы формы, последний активный грид остается ярким, другой - бледным, до тех пор, пока в свою очередь не получит фокус. Тогда делаю его ярким, а другой бледным и т.д.

И событие нашел подходящее в гриде - When Event: Occurs befor a control receives the focus.

Всё работает, спасибо :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Высвечивание активной строки в Grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]