powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Параметры выделения активной строки
16 сообщений из 16, страница 1 из 1
Параметры выделения активной строки
    #36642415
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Есть подозрение, что вопрос достаточно ламерский, но сходу не смог найти ответ. Итак. Есть два ДВ в окне. Хочется знать, какое из них "текущее". Для этого хочется или убирать синюю строчку, определяющую выделение активной строки в ДВ для не-"текущего" ДВ, или хотя бы менять цвет...

Итак, вопрос. Как управлять цветом этого самого элемента, определяющего выделение текущей строки в ДВ?

ПС: ПБ 9.0.3

Заранее спасибо за ответ!
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36642438
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может на losefocus повесить selectrow( 0 , false ), а на getfocus - selectrow(getrow(), true)
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36642448
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще управлять можно, в свойство Color в объекте detail самой dw прописать if( getrow() = currentrow(), 15780518, 16777215 )
цвет можно самому подобрать
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36642484
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вах! Спасибо - помогло! Не догадался выбрать 0-ю строку :)
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36642750
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Romanenko ,
вот у меня три DW в окне, в которых я выбираю параметры поиска и везде надо чтобы было все видно. А вот вопрос: какое DW сейчас в фокусе? и как красиво это показывать? это вопрос интересный.
Например, как у вас это делается?
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36646994
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, только сейчас увидел вопрос.
Как выделить текущее ДВ, если их несколько на окне. Не знаю, насколько это красиво с точки зрения программирования, но на окне я эти ДВ кладу поверх прямоугольника. На GetFocus вешаю вызов функции, которая в зависимоси от текущего выбранного ДВ меняет цвет прямоугольников, лежащих на заднем плане. Получается впринципе наглядно. На картинке два состояния - выбрано левое ДВ, ниже - правое. На картинке оно может и не сильно наглядно, но в жизни действительно красиво и удобно.

Вторая часть. К сожалению, опять же с точки зрения программирования у нас выбран такой способ. Есть переменная - текущий ДВ. Есть константы цифровые, которые отвечают за то, какой ДВ выбран. На гетФокус каждого ДВ ставим изменение константы.
Другой способ - в наследнике u_dw прописывается логика с переменной isActive. На гетФокус собственно true, на loseFocus - соотв false. И у всех наследников можно использовать свойство isActive. По идее, должно работать :)
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36646996
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а теперь картинка :)
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36647437
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это вы батенька погорячились:)
Vadim Romanenko ставим изменение константы
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36647748
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Ну это вы батенька погорячились:)
Vadim Romanenko ставим изменение константы

Ну да, конечно - очепятка :) Спешил на совещание. "Ставим изменение переменной на значение константы" - именно так следует читать :)

ПС: а у кого какие свои способы решения этой задачи? Может есть более красивые?
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36647877
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-равно принцип будет примерно тот же, если отслеживать именно какой контрол активен
Если все-таки пойти дальше, в соответствии с принцпами ООП, такими как инкапсуляция, то в принципе может быть все-равно какой объект будет активен. Другое дело, что это может подразумевать изменение много-чего, от интерфейса до бизнес-логики.
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36647880
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю Марк, может что-то еще по этому поводу сказать
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36647921
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
Есть сервис, наследник n_cst_dwsrv (Используется идеология "службы")
Задача: маркировка записи, как цветом, так и "галкой" в первом столбце.
Подключается DW.
Задается два цвета - для "активного" и "пассивного" DW ("ориентация" у DW нормальная) :)
При потере и получении фокуса цвет меняется.
Основное: рисуется rectangle и с ним работаем.
Почему так? Уже не помню (последняя редакция 02.09.2008)
но живет и выдерживает (пока) все извращения разработчиками с цветами полей.
2.
Использование SelectRow() желательно не использовать, поскольку признак "selected"это не текущая запись. Можно нарваться.
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36648058
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Raven A2.
Использование SelectRow() желательно не использовать, поскольку признак "selected"это не текущая запись. Можно нарваться.
Ну так SelectRow() и используется исключительно для "гашения" выделения текущей строки! И это есть хорошо, поскольку никто не требует изменения признака текущей записи ;) Главное чтоб человек не путался. Вот!

За натырку на 1. спасибо! Ноу-хау в ПФС - оно важное дело :)
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36648142
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Vadim Romanenko
По п.п.2
У нас признак "selected" используется для маркировки НАБОРА записей, с которыми
требуется произвести некоторые действия.
Поэтому я и сказал, что можно нарваться.

Засим лезу опять в берлогу. Удачи всем!
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36648180
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда конечно да :) Прийдется или сервис писАть, или соотв. логику прописывать в предке ДВ.
У меня таких задач не возникало, потому и в голову даже не пришло.
...
Рейтинг: 0 / 0
Параметры выделения активной строки
    #36648346
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, опять вылез, уж звиняте :(

>VanoR
> еще управлять можно, в свойство Color в объекте detail самой dw прописать
> if( getrow() = currentrow(), 15780518, 16777215 )
>цвет можно самому подобрать

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


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