Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26061
Рейтинг: 2120
#256: 2022-04-19 20:01:57 ЛС | профиль | цитата
Пока новый Win только в патче, тч добавлю. Желающие пусть попробуют пока сами.
карма: 22

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#257: 2022-04-19 22:17:13 ЛС | профиль | цитата
Добавил в Win сглаживание шрифта
карма: 22

0
файлы: 1Win_19-04-2022.zip [6.1KB] [254]
Разработчик
Ответов: 26061
Рейтинг: 2120
#258: 2022-07-14 03:03:01 ЛС | профиль | цитата
Внес некоторые изменения в Win.pas и hiHintManager.pas по некорректному отображению хинтов в Win10, да и вообще изменил немного алгоритм отображения. В патч вошли все предыдущие изменения.
карма: 22

0
файлы: 1Patch_14-07-2022.zip [185.4KB] [276]
Разработчик
Ответов: 26061
Рейтинг: 2120
#259: 2022-07-14 15:12:37 ЛС | профиль | цитата
С хинтами ведется дальнейшая работа, тк мне не нравится как они работают. Тч будет еще один патч с исправлениями.
карма: 22

0
Ответов: 8886
Рейтинг: 823
#260: 2022-07-14 16:30:53 ЛС | профиль | цитата
nesco, вспомнилось кстати: в подсказке BaloonToolTips хоть и есть точка Handle, но почему-то подсказка привязывается к экрану и при перемещении окна остаётся на месте
Может какая хитрость есть, которой я не знаю?
карма: 19

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#261: 2022-07-14 16:47:56 ЛС | профиль | цитата
Леонид, ты же меняешь координаты окна, откуда компонент знает, что окно поехало, ты компоненту должен это сказать, у него же нет автотрекинга. А Handle нужен компоненту BaloonToolTips для привязки его к конкретному окну и на автотрекинг не влияет. Да и вообще этот компонент какой-то деревянный, его по-хорошему переделать надо.

Редактировалось 2 раз(а), последний 2022-07-14 16:52:21
карма: 22

0
Ответов: 8886
Рейтинг: 823
#262: 2022-07-14 19:20:00 ЛС | профиль | цитата
nesco писал(а):
его по-хорошему переделать надо
Ой, не надо, пусть по-плохому остаётся
Это я так, к слову, разговор поддержать
карма: 19

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#263: 2022-07-17 17:44:32 ЛС | профиль | цитата
Добил хинты. Доделал немного хинт-менеджер, полностью переделал алгоритм хинтов в Win (теперь хинты вроде нормально работают и с XP-стилем и без него), туда же добавил возможность отображения заголовков и иконок хинтов. По просьбам сообщества сделал и добавил новый компонент для MTStrTbl -- MST_HDHints, который позволяет выводить подсказки с заголовками и иконками над областями заголовка таблицы. Тестируйте.

Новая ссылка на патч -- https://forum.hiasm.com/getfile/39523

P.S. MST_HDHints будет добавлен на SVN после завершения тестирования всего патча.

Редактировалось 7 раз(а), последний 2022-07-20 16:41:33
карма: 22

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#264: 2022-07-17 19:20:22 ЛС | профиль | цитата
Забыл добавить пример для MST_HDHints. Перезалил архив.

--- Добавлено в 2022-07-17 19:50:25

Добавил некоторое некритическое исправление в hiMST_HDHints.pas. Весь патч больше перезаливать не буду.

Редактировалось 2 раз(а), последний 2022-07-17 19:56:17
карма: 22

0
файлы: 2Patch_17-07-2022.zip [198.1KB] [265], MST_HDHints_011.zip [2.8KB] [268]
Ответов: 263
Рейтинг: 18
#265: 2022-07-18 10:02:29 ЛС | профиль | цитата
Установил MST_HDHints с последним патчем. Появилось какое-то моргание таблицы.



Схема
Add(MainForm,2953706,84,126)
{
Width=980
Height=393
}
Add(MTStrTbl,8318156,140,126)
{
Left=121
Width=843
Height=354
Align=5
Name="Tabl"
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|
}
Add(ChildPanel,12487867,140,70)
{
}
BEGIN_SDK
Add(EditMulti,16445913,21,21)
{
Width=391
Height=235
}
Add(Panel,8092939,42,35)
{
Width=121
Height=354
Align=1
}
Add(Button,11035052,42,119)
{
Left=20
Top=10
Width=80
Caption="30 строк"
link(onClick,13517961:doFor,[])
}
Add(Button,12204792,42,203)
{
Left=20
Top=40
Width=80
Caption="Очистить"
link(onClick,4406358:doClear,[])
}
Add(For,13517961,105,119)
{
End=30
link(onEvent,13760527:doString,[])
}
Add(MST_RowAction,14020333,336,119)
{
MSTControl="parent.Tabl"
}
Add(MST_Clear,4406358,98,203)
{
MSTControl="parent.Tabl"
}
Add(MT_String,860943,287,119)
{
link(onResult,14020333:doRowAction,[])
}
Add(FormatStr,13760527,168,119)
{
DataCount=10
Mask="%1;%2;%3;%4;%5;%6;%7;%8;%9;%10"
link(onFString,860943:doMT,[(268,125)(268,132)])
link(Str1,6847859:Var2,[])
link(Str2,3232497:Var2,[])
link(Str3,10999209:Var2,[])
link(Str4,13313943:Var2,[])
link(Str5,7661283:Var2,[])
link(Str6,2879376:Var2,[])
link(Str7,11102198:Var2,[])
link(Str8,8803078:Var2,[])
link(Str9,5574587:Var2,[])
link(Str10,5574587:Var3,[(237,103)])
}
Add(EventFromData,11037860,168,56)
{
link(onEvent,4000312:doRandom,[])
}
Add(GetDataEx,6847859,168,98)
{
link(Data,11037860:GetData,[])
}
Add(GetDataEx,3232497,175,98)
{
Angle=3
link(Data,6847859:Var3,[])
}
Add(GetDataEx,10999209,182,98)
{
Angle=3
link(Data,3232497:Var3,[])
}
Add(GetDataEx,13313943,189,98)
{
Angle=3
link(Data,10999209:Var3,[])
}
Add(GetDataEx,7661283,196,98)
{
Angle=3
link(Data,13313943:Var3,[])
}
Add(GetDataEx,2879376,203,98)
{
Angle=3
link(Data,7661283:Var3,[])
}
Add(GetDataEx,11102198,210,98)
{
Angle=3
link(Data,2879376:Var3,[])
}
Add(GetDataEx,8803078,217,98)
{
Angle=3
link(Data,11102198:Var3,[])
}
Add(GetDataEx,5574587,224,98)
{
Angle=3
link(Data,8803078:Var3,[])
}
Add(Random,4000312,224,56)
{
Min=1000
Max=10000
link(onRandom,11037860:doData,[(268,62)(268,50)(156,50)(156,62)])
}
END_SDK
Add(StyleXP,5612224,84,70)
{
}

Windows 10x64, HiAsm build184 рабочая копия 2399

Редактировалось 1 раз(а), последний 2022-07-18 10:12:47
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#266: 2022-07-18 11:43:47 ЛС | профиль | цитата
fox-video писал(а):
Появилось какое-то моргание таблицы

Ты наверное раньше просто не замечал. Таблица изначально моргает при таком количестве элементов на экране(и не только таблица), а компонент MST_HDHints никак не влияет, если не подключен. Попробуй включить режим DoubleBuffered у таблицы (он именно для этого и введен в KOL, хотя и работает немного коряво, те об это Кладову было известно еще с конца 90-х). Да и вполне может немного увеличится моргание перерисовки, тк введены режимы ChildMargin, Anchors, Constraints, но вы же этого сами просили.

Редактировалось 1 раз(а), последний 2022-07-18 13:22:52
карма: 22

0
Ответов: 263
Рейтинг: 18
#267: 2022-07-18 11:47:53 ЛС | профиль | цитата
nesco писал(а):
Ты наверное раньше просто не замечал

Точно не замечал, по причине его отсутствия . Что же, будем с этим мирится. Спасибо за проделанную работу!
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#268: 2022-07-18 13:27:10 ЛС | профиль | цитата
fox-video писал(а):
Точно не замечал, по причине его отсутствия

Я не знаю, как ты не замечал, но меня это напрягало еще очень давно. Не зря же я в этой таблице разрешил поддержку DoubleBuffered, хотя везде его убрал. Я еще на всякий случай гляну, что можно сделать, может чего и поможет немного снизить мерцание.

P.S. Кстати, почему-то мерцание у меня гораздо меньше. У тебя че за комп и видяха? У меня проц -- десятилетнее старье (Xeon-1270V2), правда видюха более менее -- 1660ti.

Редактировалось 2 раз(а), последний 2022-07-18 13:31:30
карма: 22

0
Ответов: 263
Рейтинг: 18
#269: 2022-07-18 13:52:50 ЛС | профиль | цитата
Проц I3-4160, видео интегрированное. На других компьютерах\ноутбуках тоже весьма заметно мерцает.
В другом проекте, где таблицы еще бОльше, мерцание очень раздражает. Однако, скомпилированный проект на HiAsm без патча не вызывает мерцания, практически ни какого. Специально приглядывался - ну нет его там (или мои старые глаза его уже не замечают).
DoubleBuffered не спасает. Да, мерцание пропадает, но таблица начинает тормозить и иконки строк отрисовываются черте как .
карма: 3

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#270: 2022-07-18 13:57:16 ЛС | профиль | цитата
Если сильно бесит мерцание при скролинге, то его можно убрать закомментив следующий код в hiMTStrTbl функции WndHDR:

// Убирает баг отрисовки сетки при скроллинге в XP-cтиле;
(*
WM_HSCROLL, WM_VSCROLL:
case LOWORD(Msg.wParam) of
SB_THUMBPOSITION, SB_THUMBTRACK, SB_ENDSCROLL: Sender.Invalidate;
end;
*)
Эту фичу добавили для XP-стиля по причине некорректной отрисовки сетки таблицы при горизонтальном скроллинге. Но видишь что -- одно убрали, другое добавилось.
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)