|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.07.2008, 02:20 | #21 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
BOBAH13, так это тв без ASkinEditor сделал?
Я вот с ASkin сделал: Последний раз редактировалось beegl; 03.07.2008 в 02:30. |
03.07.2008, 03:02 | #22 |
Форумчанин Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 183
|
Супер!
P.S. Я тоже собирался подобную компоненту делать
Until The End Of Time
|
03.07.2008, 08:41 | #23 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Гы. Что такое ASkinEditor ? Данная библиотека основывается на:
1. Сама система на слоях - UpdateWindowLayers 2. В скин можно упаковать Png, Цвет ( как в Web, вида #00AAFF ), Шрифт - имя, цвет, стиль ( жирный, курсив, подчеркнутый, зачеркнутый ), а так же изюминка, константа - подразумивается хранения числа, но например есть две константы, допустим пишите $form.width - 4.5 конечно 4.5 это не сойдет для Integer но программа - компонент посчитает для данной константы число равное Trunc(Form.Width - 4.5) Щас начинаю писать контролы, если есть какие идеи, пишите ( только не злоупотреблять ) |
03.07.2008, 10:15 | #24 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
ASkinEditor - http://www.alphaskins.com/dwnld.php
BOBAH13, а вот такое окошко сможеш сделать? .. : |
03.07.2008, 14:12 | #25 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Ну по сути... нарисовать и разметить в скине... и будет окошко еще лучше, но как я уже говорил, минус, а он же и плюс, что за такие эффекты (тени, прозрачности и т.п.) мы жертвуем не поддержкой контролов... хотя... я попробую сделать поддержку, может получиться Да... например у TButton есть PaintTo и все... Так что поддержку стандартных контролов тоже можно сделать.... думаю как раз сначала этим и займусь.
Последний раз редактировалось BOBAH13; 03.07.2008 в 14:32. |
03.07.2008, 14:44 | #26 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
BOBAH13, отлично, желаю успехов, я уже задралса, ничего не получаеца, думал сделать с помощью http://sunisoft.com/suiskin/index.htm , но не тут то оно было ).
|
03.07.2008, 22:04 | #27 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Народ, помогайте Начал копать в сторону VCL. Хуки - не катят, установка Application.OnMessage тоже... Переопределил каждому контролу новый обработчик сообщений окна и после обработки вызываю отрисовку данного окна... но проблема. Контролов может быть хоть 9 в периоде, у меня есть список контролов ( соответственно хендлы их ) но когда в обработчик ( мной переопределенный ) приходит одним параметром TMessage, получается у меня нет данных о контроле которому пришла данная мессага, получается в его обработчик. И вот же делема, пашет все на ура так, только вот как определить в обработчике контрола его владельца ). Может провернуть ченить с адресами обработчиков.. так а толку.. я не понимаю, помойму это не выполнимо Кто знает, как переопределить оконную процедуру контрола и чтобы в ней можно было узнать какому контролу ( или хендлу ) пришла мессага?!
|
04.07.2008, 12:47 | #28 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Ну ясно что никого Вышел с помощью SetWindowLong -> GWL_WNDPROC. А вот вопрос... по каким сообщениям приходящим контролам надо прорисовывать их ? Сделал WM_PAINT ну как сказать) очень криво и частями рисуются vcl
|
05.07.2008, 11:37 | #29 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
В прикрепленном проекте по нажатию на ShowForm в unit3 открывается форма из unit1. На форме есть компоненты, но WndProc всех компонентов одним вызовом переопределены на новую процедуру так, что ни один из них не рисуется, в том числе и сама форма. Там же методы GetControl/getParentForm позволяют по Handle получить компонент.
Несколько замечаний: - для хранения старого обработчика у меня использован Tag, что в библиотеке недопустимо. Нужно будет продумать другой вариант. - в NC области форма все-таки рисуется. Видно Windows по-умолчанию рисует какой-то стандартный вариант и только потом посылает событие. Если поводить по окну другим окном, то видно, что ничего не рисуется, но стоит нажать мышь и рамка окна восстанавливается. - часть компонентов VCL не являются окнами и не имеют Handle (например, TLabel). События WM_Paint приходят владельцу таких компонентов. - в TButton при смене фокуса рисуется рамка, показывающая активность. Каким событием непонятно. Понятно, что это не готовый вариант решения, но может как-то поможет. |
07.07.2008, 18:47 | #30 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Вот что готово или на моей страничке...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прозрачность формы PNG, 2xTCV и др. | Veiron | Мультимедиа в Delphi | 6 | 25.05.2008 01:19 |
Защита участков кода | BlackOmen | Общие вопросы Delphi | 5 | 12.03.2008 08:59 |
Как задать прозрачность формы | dimfil | Общие вопросы Delphi | 2 | 09.11.2007 09:53 |
как рисовать на канве битмапы учитывая прозрачность участков битмапа? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 23:06 |