sla8a писал(а):
Думаю нужно сделать такИ чем это отличается от предложенного тобой выше?
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
sla8a писал(а): Думаю нужно сделать такИ чем это отличается от предложенного тобой выше? |
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco, ничем. Выложил процедуру полностью.
Добавил:
Архив с правками: https://forum.hiasm.com/getfile/40562 Тестовая схема события onEmptyFieldClick:
Редактировалось 2 раз(а), последний 2025-04-16 14:20:30 |
|||
карма: 11 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco, вот последние: https://forum.hiasm.com/getfile/40562
Редактировалось 1 раз(а), последний 2025-04-16 14:21:13 |
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
sla8a, почему ты сделал выдачу события onEmptyFieldClick по DOWN, а не по UP?
|
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco, причины было две.
Первое это то что onMouseUp стараюсь не использовать в таблице, по той причине что всплывающее меню можно вывести, только если нажать курсором на строку и немного продвинуть и только потом отпустить. Только так получится событие onMouseUp. Попробуй вывести всплывающее меню нажав на строки:
Вот как вариант и onEmptyFieldClick не работает:
Возможно мне не хватает опыта и знаний в этом вопросе. Если знаешь лучший вариант, чтоб заблокировать нажатие, а точнее чтоб строка не потеряла выделение и при этом получить событие, то я только за. |
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
sla8a писал(а): Первое это то что onMouseUp стараюсь не использовать в таблице, по той причине что всплывающее меню можно вывести, только если нажать курсором на строку и немного продвинуть и только потом отпустить. Только так получится событие onMouseUp.Странное явление, непонятно чем объясняется даже. Да пусть пока будет в такой реализации. Я просто спросил "почему". |
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco, у элемента MST_ColAction есть хорошее свойство Action=StretchCol которая подгоняет (растягивает) ширину столбцов. Так вот раньше оно не знало о рамке таблице и неправильно считало ширину столбцов, что приводило к отображению горизонтального ползунка:
Но после добавления тобой функций fctl3d и fwinstyle можно учитывать при расчетах рамку таблицы: Там правок в коде то пару строк: Архив c pas файлом и примером для тестирования Редактировалось 2 раз(а), последний 2025-04-22 22:18:23 |
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
А на кой пес, собственно, эти функции, когда можно сделать просто вот так
--- Добавлено в 2025-04-23 00:13:40 Да и в MST_UseEditCtrl они по-хорошему нах не нужны. Редактировалось 1 раз(а), последний 2025-04-23 00:13:40 |
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco писал(а): можно сделать просто вот так Согласен, сильно упрощает код. nesco, а не знаешь где "покопаться" чтоб отключить рисование горизонтальных или вертикальных линий сетки таблицы? --- Добавлено в 2025-04-23 08:34:56 nesco писал(а): когда можно сделать просто вот так![]() --- Добавлено в 2025-04-23 08:39:57 Вот так FPC не ворчит:
Редактировалось 3 раз(а), последний 2025-04-23 08:39:57 |
|||
карма: 11 |
|
Ответов: 2370
Рейтинг: 683
|
|||
И у MTStrTbl перенеси функцию GetScrollBarInfo перед implementation, чтоб FPC у MST_UseEditCtrl не ругался.
|
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
sla8a писал(а): а не знаешь где "покопаться" чтоб отключить рисование горизонтальных или вертикальных линий сетки таблицы?Насколько я помню, то можно только отключить саму сетку. А вот по отдельности управление рисованием сетки я не встречал. Не исключено, что это системное свойство. --- Добавлено в 2025-04-23 13:33:50 Че там с селектором, добавлять будем? Редактировалось 1 раз(а), последний 2025-04-23 13:33:50 |
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco писал(а): Че там с селектором, добавлять будем?Лично мне после отключения одной только рамки фокуса, намного приятней работать. И это не какие-то рюшечки, а она реально криво смотрится. Если таблица без сетки, то рамка фокуса выглядит нормально, а сетка ее "режет" и выходит какое-то абы что. |
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
sla8a, проверь на большой таблице будет ли мерцание вот такой код:
|
|||
карма: 22 |
|
Ответов: 2370
Рейтинг: 683
|
|||
nesco, мерцает. Если я LVS_EX_DOUBLEBUFFER конечно правильно указал.
|
|||
карма: 11 |
|
Разработчик
Ответов: 26264
Рейтинг: 2140
|
|||
А у тебя есть имитация такой таблицы?
|
|||
карма: 22 |
|