|
|
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:14 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ жди, когда мс-софтовцы антивирь вылечат. сделал исключение - запустил твой проект - НИКАКИХ попапов не выскакивает :(. Среда: Windows 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:24 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2 Не работает! И вообще - поведение отличается от моего. У меня - любой клик на элемент меню (выбор отображаемых столбцов, например) - вызывает закрытие меню. У тебя - можно сделать несколько кликов. Наверное, EhLib разные. EhLib v5.6. - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:30 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Тут EhLib 9 а запакуй Свой проект exe и пришли, в котором ты скриншот показывал где НЕВИДИМЫЕ/ВИДИМЫЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:32 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2 Среда: Windows 7. И у меня. Возможно, из-за различия версий EhLib разное поведение. Хотя, мой икзешник у тебя "не работает"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:35 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:39 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, спасибо - работает - выскакивает как надо! Да-а-а......дела! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:45 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Может, и хорошо, что не получилось: обновил бы версию EhLib - и всё, "пропало". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:57 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Очень может быть, что в версии 9.* EhLib реализацию PopUp-меню свою сделали, вот хак из статьи не взлетел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 00:59 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, на запрос на форуме они молчат как партизаны, вероятно, думают как исправить в следующем релизе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 01:08 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ в версии 9.* EhLib реализацию PopUp-меню свою сделали Посмотрел исходники 9.* - так и есть. Тоже вроде ничего сложного, но EhLib 9.* у меня не установлен, т.е. проверить экспериментально не могу, придется тебе самостоятельно разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 01:24 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, вот смог найти и сравнить только с 6 версией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 07:43 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, При отключении UseGlobalMenu ессно не работает встроенное иерархическое меню, но срабатывает на ПРАВУЮ мышку (показывет кастомное меню). тут проект https://cloud.mail.ru/public/4BGN/43QRo4BFS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 08:39 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ У того проекта работает перенос если зажать, у твоего же проекта - перенос не работает. Он выделяет красным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 21:21 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, дело не в переносе колонок, дело в том, что в моем проекте работает ЛЕВЫЙ клик и традиционно открывает IndicatorTitleMenu, можно отчекнуть видимость какого-нибудь поля, и если ЭТИМ же Левым кликом ткнуть в тело грида, то НИЧЕГО не происходит (а этот момент как раз и хотелось бы перехватить). Если ткнуть в IndicatorTitleMenu ПРАВЫМ кликом, то открывается custom popup menu и потом после покидания показывает какие поля видимы/невидимы. А задача как раз чтоб НА традиционный ЛЕВЫЙ клик срабатывал перехвать "покидания" IndicatorTitleMenu. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2020, 21:33 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, А можешь проверить и показать ЧТО у тебя показывает на точке останова тут? У меня nil в обоих проектах ;( Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 20:30 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
компьютера с дельфи у меня нет, но я помню:nil. Объект попап-меню создаётся в вызываемой процедуре, доступен для работы после вызова, я писал об жтом ранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 21:36 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, да, я понял, можно начать что-то вроде? типа составлять свой список видимых полей (это в принципе все что и нужно): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. выбора опции IsVisibleColumns ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 22:02 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2, нет. Эта точка - в момент ДО показа попап-меню, а не после. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 22:29 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2, ещё раз напомню, что компа у меня нет, поэтому - только на словах. Так вот. В твоей версии EhLib используется кастомный попап. Посмотри в коде - "когда вызывается деструктор этого попап-меню?". Вполне возможно, что всякий раз при дезактивации меню. Если это так, то ты легко можешь воткнуть свой код в нужное место - возможно, даже не модифицируя код библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 22:46 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2, неужели прямо так нужно решать именно ЭТУ задачу? Так много времени на эту ерунду тратишь... Ситуация - точно не https://www.gunsmoker.ru/2008/10/x-y-z.html?m=1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 22:51 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Итак на пальцах: 1. есть два грида - ПЕРВЫЙ грид с датасетом с туевой хучей колонок (создается динамически) 2. ВТОРОЙ грид - показывает список колонок этого ПЕРВОГО грида (просто формирую при открытии ПЕРВОГО датасета), в нем я могу очекнуть строки списка, то есть пометить как НЕВИДИМЫЕ и зарефрешить ПЕРВЫЙ грид с сокращенным количеством колонок - это РАБОТАЕТ, не проблема. 3. Если юзер открывает IndicatorTitleMenu ПЕРВОГО грида и самостоятельно (игнорируя ВТОРОЙ, типа-типа, управляющий грид) отчекивает вырадающий список полей ПЕРВОГО грида, то мне надо КАК-ТО "черезЖО" как ты выразился, обновить мой ВТОРОЙ ГРИД, чтоб показать какие в его списке поля стали невидимыми. Вот это черезЖ и не срабатывает, не понятно как перехватить момент схлопывания IndicatorTitleMenu, чтоб в этот момент запустить свою процедуру обновления списка ВТОРОГО грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2020, 23:02 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Alexander2, понятно. Посмотри реализацию метода Код: pascal 1. В этом методе в нулевой (первый, т.е.) элемент попап- меню внедряется айтем с текстом Код: pascal 1. А к ней - добавляются айтемы для каждого столбца. В OnClick для вызывается простой код, меняющий свойство .Visible связанного столбца: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Я предлагаю OnClick этих айтемов подменить на свой, в котором тупо вызывать твою процедуру подсчета столбцов. Поехали. 1. В событии OnBuildIndicatorTitleMenu грида втыкаем дефолтный обработчик: Код: pascal 1. 2. ... берем первую строку меню и под-строкам её назначаем собственный обработчик. Старый обработчик сохраняем (поля объекта класса достаточно, ибо обработчик одинаков для всех айтемов): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. В нашем обработчике работаем со столбцами: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Всё. Работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2020, 00:48 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Проект: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2020, 00:51 |
|
||
|
Как перехватить событие закрытия IndicatorTitleMenu в DBGridEh
|
|||
|---|---|---|---|
|
#18+
Икзешник: https://cloud.mail.ru/public/PSQf/h1UoW8eke - пароль: popup ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2020, 00:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39995854&tid=2038015]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
40ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 307ms |

| 0 / 0 |
