Вверх ↑
Этот топик читают: Гость
Ответов: 4611
Рейтинг: 504
#31: 2019-12-26 15:57:54 ЛС | профиль | цитата
AsciiShapes Графика по скрипту (только без иконки пока, но нарисую)
первоисточник http://cocoamine.net/blog/2015/03/20/replacing-photoshop-with-nsstring/
demo -> https://forum.hiasm.com/getfile/38828
Мужики, ссылки для full будут в личке





Редактировалось 1 раз(а), последний 2019-12-26 16:07:03
карма: 6

0
Ответов: 4611
Рейтинг: 504
#32: 2020-01-11 11:50:20 ЛС | профиль | цитата
Предложение:
Form Shcaling (изменение масштаба всего приложения в целом 50-300%)
Пока только в IC, может в компонент завернуть?
Там всего одна точка doSetScale
Для чего нужно?
Для детального просмотра дизайна и привязки элементов например при разработке.
Для слабовидящих людей можно добавить функцию масштабирования, (например как в моём примере через системное меню)
Для не мучительного захвата пиксела цветовой гаммы при разработке (эт шоб целится лучше ,было)
Да короче х.з ещё для чего
Demo -> https://forum.hiasm.com/getfile/38879

карма: 6

0
Ответов: 134
Рейтинг: 6
#33: 2020-01-12 08:50:38 ЛС | профиль | цитата
Интересное решение. Был бы у меня такой код, не пришлось бы вот это городить:
Окно с автомасштабом под разные разрешения экрана


Add(ChildForm,594999,616,168)
{
@Hint=#14:Окно сообщений|
AddHint(-39,90,101,13,@Hint)
}
BEGIN_SDK
Add(EditMulti,11296761,35,21)
{
EventCount=1
WorkCount=3
VarCount=1
Width=608
Height=326
link(doWork1,5567757:doEvent1,[])
link(doWork2,203331:doEvent1,[])
link(doWork3,3717071:doEvent1,[(42,41)(42,69)])
link(Var1,3277796:Value,[(41,106)(223,106)])
}
Add(MainForm,10088731,273,133)
{
Width=600
Height=391
Color=15723495
Font=[MS Sans Serif,8,0,15723495,1]
Visible=1
Caption="Сообщение"
BorderStyle=0
Point(doWidth)
Point(doHeight)
Point(Width)
Point(onResize)
Point(onKeyDown)
Point(Handle)
Point(doVisible)
Point(Height)
link(onCreate,15006145:doCalc,[(318,153)(318,114)(117,114)(117,167)])
link(onResize,4129870:doCalc,[])
}
Add(Label,6034725,595,182)
{
Left=30
Top=109
Width=526
Height=179
Color=15723495
Font=[Arial,48,1,0,204]
Layout="гориз"
HeightScale=74
Caption="Перезагрузите\r\nроутер"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Screen,5606417,133,119)
{
}
Add(Font,3456020,483,189)
{
Font=[Arial,60,1,0,204]
link(onFont,6034725:doFont,[])
link(Size,8838938:Result,[(489,177)(471,177)(471,233)(433,233)])
link(Color,10724312:Value,[])
}
Add(MathParse,15006145,140,161)
{
@Hint=#20:70% от высоты экрана|
DataCount=1
MathStr="(%1 / 100) * 70"
link(onResult,14395067:doEvent1,[])
link(X1,5606417:Height,[])
}
Add(MathParse,4129870,336,154)
{
@Hint=#55:Подсчитываем процент отличия ширины экрана от 800 точек|61:это нужно для корректного увеличения размера шрифта сообщений|
DataCount=1
MathStr="floor(100/(400/%1))"
link(onResult,3933537:doEvent1,[])
link(X1,10088731:Height,[(342,142)(325,142)(325,200)(293,200)])
}
Add(MathParse,8838938,427,189)
{
DataCount=1
MathStr="floor(0.38*%1)"
link(onResult,3456020:doFont,[])
}
Add(Memory,10724312,490,140)
{
Default=Integer(0)
}
Add(Hub,3933537,385,154)
{
OutCount=3
link(onEvent1,1078661:doCalc,[(413,160)(413,97)])
link(onEvent2,8838938:doCalc,[(413,167)(413,195)])
link(onEvent3,8250776:doCalc,[(413,174)(413,293)])
}
Add(Font,1175091,483,91)
{
Font=[Arial,30,1,0,204]
link(onFont,15324881:doFont,[])
link(Size,1078661:Result,[(489,76)(469,76)(469,135)(433,135)])
link(Color,12660658:Value,[])
}
Add(MathParse,1078661,427,91)
{
@Hint=#20:задаем размер шрифта|39:после нуля - значение исходного размера|15:шрифт 12 - 0.12|15:шрифт 48 - 0.48|
DataCount=1
MathStr="floor(0.3*%1)"
link(onResult,1175091:doFont,[])
}
Add(Memory,12660658,490,42)
{
Default=Integer(0)
}
Add(Font,6609783,483,287)
{
Font=[Arial,22,1,0,204]
link(onFont,7237425:doFont,[])
link(Size,8250776:Result,[(489,274)(471,274)(471,331)(433,331)])
link(Color,2632450:Value,[])
}
Add(MathParse,8250776,427,287)
{
DataCount=1
MathStr="floor(0.3*%1)"
link(onResult,6609783:doFont,[])
}
Add(Memory,2632450,490,238)
{
Default=Integer(0)
}
Add(VBoxLayout,16544796,280,273)
{
Name="гориз"
WidthScale=100
HeightScale=100
}
Add(Label,15324881,595,84)
{
Left=176
Top=9
Width=255
Height=36
Color=15723495
Font=[Arial,20,1,0,1]
Layout="гориз"
HeightScale=14
Caption="Неполадки в работе сети"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Hub,3717071,63,63)
{
OutCount=3
link(onEvent1,8090719:doData,[])
link(onEvent2,10905333:doStop,[(97,76)(97,230)])
link(onEvent3,13835811:doOn,[(88,83)(88,279)])
}
Add(DoData,8090719,126,63)
{
@Hint=#28:прозрачность - 0 (не видимо)|
Data=Integer(0)
link(onEventData,12032251:doEvent1,[])
}
Add(DoData,7463155,133,70)
{
@Hint=#27:прозрачность - 255 (видимо)|
Data=Integer(1)
link(onEventData,12032251:doEvent2,[])
}
Add(WinTools,3963084,280,210)
{
link(Handle,10088731:Handle,[])
}
Add(Hub,12032251,182,63)
{
InCount=2
OutCount=1
link(onEvent1,3277796:doValue,[])
}
Add(DoData,15182105,182,217)
{
@Hint=#33:Всё время делаем окно поверх всех|
Data=Integer(1)
link(onEventData,2434718:doEvent1,[])
}
Add(Timer,10905333,133,217)
{
Interval=100
Enable=1
link(onTimer,15182105:doData,[])
}
Add(Hub,2434718,238,217)
{
link(onEvent1,3963084:doPopup,[])
link(onEvent2,3963084:doActive,[])
}
Add(Hub,203331,63,28)
{
OutCount=3
link(onEvent1,6034725:doText,[(533,34)(533,188)])
link(onEvent2,7463155:doData,[(115,41)(115,76)])
link(onEvent3,10905333:doTimer,[(106,48)(106,223)])
}
Add(Memory,3277796,217,63)
{
link(onData,10088731:doVisible,[(258,69)(258,181)])
}
Add(MultiElementEx,13835811,133,273)
{
}
BEGIN_SDK
Add(EditMultiEx,7711558,21,21)
{
WorkCount=#4:doOn|
Width=272
Height=109
link(doOn,15899657:doTimer,[(45,27)(45,62)])
}
Add(WinEnum,681110,126,56)
{
link(onFindWindow,6625482:doCompare,[])
}
Add(StrMask,6625482,175,56)
{
Mask="*Frontol*"
link(onTrue,1663544:doActive,[])
}
Add(WinTools,1663544,238,49)
{
link(Handle,681110:Handle,[(244,44)(220,44)(220,100)(132,100)])
}
Add(Timer,15899657,70,56)
{
Enable=1
AutoStop=1
link(onTimer,681110:doEnum,[])
}
END_SDK
Add(Image,630805,182,273)
{
Top=58
Width=600
Height=2
Layout="гориз"
ViewStyle=1
Picture=[ZIPF600000078DA73F2DDC400016640AC01C49A40CC08C61260F11A2056D6836018D8BB69E94021066A00004D495835]
}
Add(Image,16716409,231,273)
{
Top=334
Width=600
Height=2
Layout="гориз"
ViewStyle=1
Picture=[ZIPF600000078DA73F2DDC400016640AC01C49A40CC08C61260F11A2056D6836018D8BB69E94021066A00004D495835]
}
Add(Label,7237425,595,280)
{
Left=188
Top=349
Width=181
Height=36
Color=15723495
Font=[Arial,20,1,0,204]
Layout="гориз"
HeightScale=14
Caption="Нажмите любую клавишу"
AutoSize=1
Alignment=2
Point(doFont)
}
Add(Hub,14395067,189,161)
{
link(onEvent1,14294857:doOperation,[])
link(onEvent2,10088731:doHeight,[])
}
Add(Math,14294857,217,161)
{
OpType=2
Op2=1.7
link(onResult,10088731:doWidth,[])
}
Add(Hub,5567757,546,21)
{
link(onEvent1,11296761:onEvent1,[])
link(onEvent2,15324881:doText,[(572,34)(572,90)])
}
END_SDK


--- Добавлено в 2020-01-12 09:06:50

andrestudio писал(а):
Пока только в IC, может в компонент завернуть?

Да, пригодится.

Редактировалось 1 раз(а), последний 2020-01-12 09:06:50
карма: 2

0
Ответов: 4611
Рейтинг: 504
#34: 2020-01-12 09:08:26 ЛС | профиль | цитата
fox-video, да нет проблем, сейчас отправлю в личку
карма: 6

0
Ответов: 4611
Рейтинг: 504
#35: 2020-01-12 22:31:55 ЛС | профиль | цитата
ButtonImg и AlphaImagesManager стандартный батон с поддержкой альфа иконок (png,ico) плюс менеджер к ним. Пока есть ещё нюансы но если время на неделе будет доделаю. Добавил TextAlign
Демка тут -> https://forum.hiasm.com/getfile/38881


карма: 6

0
Ответов: 134
Рейтинг: 6
#36: 2020-01-13 05:40:04 ЛС | профиль | цитата
andrestudio писал(а):
Пока есть ещё нюансы

Это помигивание кнопок?
]

Редактировалось 1 раз(а), последний 2020-01-13 05:40:29
карма: 2

0
Ответов: 4611
Рейтинг: 504
#37: 2020-01-13 19:46:24 ЛС | профиль | цитата
fox-video, у меня такого ярко выраженного эффекта мерцания нет, может у меня комп старый, х.з. Но кое что я в плане отрисовки изменил, у меня тоже вроде получше стало. Пересобрал, проверь. Добавил возможность менять пиктограммы в реальном времени, появилась возможность анимации. При хорошей фантазии даже прогресс бар можно в этой кнопке отрисовать
демка тут -> https://forum.hiasm.com/getfile/38882



--- Добавлено в 2020-01-13 19:48:03

Схема далеко не оптимальная это я понимаю, но для демонстрации и понимания сойдёт

Редактировалось 2 раз(а), последний 2020-01-13 19:50:11
карма: 6

0
Ответов: 134
Рейтинг: 6
#38: 2020-01-14 05:33:12 ЛС | профиль | цитата
andrestudio писал(а):
Добавил возможность менять пиктограммы в реальном времени

Это здорово, но вот мерцание кнопок портит всю картину.



Редактировалось 1 раз(а), последний 2020-01-14 05:33:22
карма: 2

0
Ответов: 4611
Рейтинг: 504
#39: 2020-01-14 21:53:30 ЛС | профиль | цитата
fox-video, попробуй https://forum.hiasm.com/getfile/38884
полностью переделал прорисовку, (уеб....я правда но должно работать), если так то двинем дальше. осталось немного.
Слушай чем гифки с курсором делаешь?
карма: 6

0
Ответов: 134
Рейтинг: 6
#40: 2020-01-15 05:21:26 ЛС | профиль | цитата
andrestudio, мерцание пропало!

andrestudio писал(а):
Слушай чем гифки с курсором делаешь?

Программой oCam https://yadi.sk/d/Te21BRkuO-4e4w
карма: 2

0
Ответов: 4611
Рейтинг: 504
#41: 2020-01-30 17:37:30 ЛС | профиль | цитата
fox-video, был в отпуске две недели, уезжал в синиямск
Батон готов был давно но я нет
пару демок ещё успел сляпать но потом уехал со страшной скоростью
демки -> https://forum.hiasm.com/getfile/38893
full парни в личку отправляю



p.s тут вообще что то меняется Такое ощущение что демагогия профессоров по фиксингу окончательно добьёт HiAsm.
Нда, видать мне только после дефрагментации идеи приходят, чёт так грустно это всё
карма: 6

0
Ответов: 134
Рейтинг: 6
#42: 2020-01-30 18:06:47 ЛС | профиль | цитата
andrestudio писал(а):
был в отпуске две недели, уезжал в синиямск

Здорово! Я сам давненько уже в отпуске не был
карма: 2

0
Ответов: 4611
Рейтинг: 504
#43: 2020-01-31 13:59:29 ЛС | профиль | цитата
fox-video писал(а):
Я сам давненько уже в отпуске не был
Обязательно сходи и отдохни хорошенько
Как Вы понимаете на основе этих кодов у Вас будет оригинальный ToolBar, осталось немного, сегодня приедет подруга, сестра, в очередной раз мне влупят наряд (2 дня капельницы, витамины и всё такое), я вернусь из нерваны к жизни и снова встрою. Зато Вам не придётся читать 3 страницы профессорской деятельности такой там Kol или не такой там Kol, всё там будет работать и в delphi и в fpc Ваш andrestudio
карма: 6

0
Ответов: 4611
Рейтинг: 504
#44: 2020-03-29 11:16:14 ЛС | профиль | цитата
Портировал линейку которая довольно достоверно старается имитировать линейку из Word-98, c FPC пока есть проблемы потому пока Demo -> https://forum.hiasm.com/getfile/38933

Тут ещё конечно много работы чтобы это хозяйство по PHandle к RichEdit прикрутить но попробуем что получится.
Есть ещё такой вопрос (к тем кто получает мои компоненты и пользуется ими)
Тут слишком до..я настроек цвета, я конечно могу их все включить в компонент но надо ли
Вот примерный перечень свойств, в примере всё по дефолту.

    Dragging : boolean;
    DragType : TDragObject;
    DragOffset : integer;
    Offset : integer;
    LeftMargin : integer;
    RightMargin : integer;
    PaperWidth : integer;
    TabDistance : integer;
    WholeUnit : integer;
    HalfUnit : integer;
    SmallUnit : integer;
    VerySmallUnit : integer;
    MinimumPaperSpace : integer;
    FirstLineIndent : integer;
    HangingIndent : integer;
    LeftIndent : integer;
    RightIndent : integer;
    TickType : TTickType;
    TickShape : TTickShape;
    ShowNumbers : boolean;
    BorderColor : TColor;
    MarginColor : TColor;
    MarginTickColor : TColor;
    PaperColor : TColor;
    LongTickColor : TColor;
    ShortTickColor : TColor;
    NumberTickColor : TColor;
    TabMarkerColor : TColor;
    MarginEdgeColor : TColor;
    IndentFace : TColor;
    IndentHighlight : TColor;
    IndentShadow : TColor;
    IndentLine : TColor;
    GhostFace : TColor;
    GhostHighLight : TColor;
    IndentBorder : TColor;
    TabBlockFace : TColor;
    TabBlockHighlight : TColor;
    TabBlockShadow : TColor;
    TabImage : TColor;
карма: 6

0
файлы: 1Ruler_demo_test.zip [111KB] [85]
Ответов: 134
Рейтинг: 6
#45: 2020-03-29 18:37:24 ЛС | профиль | цитата
andrestudio писал(а):
я конечно могу их все включить в компонент но надо ли

Оч. много настроек , пусть остаются по дефолту.
карма: 2

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