Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2008, 11:21   #1
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию Позвольте представить - Delphi Widget Library

Приветствую. Представляю ( пока только предосмотр ) библиотеки для использования "виджетов" для построения быстрых и удобных окон в дельфи. Библиотека разрабатывается на Delphi 7 и будет OpenSource. В данный момент это только начало и разрабатывается сайт для поддержки данной библиотеки. Библиотека разрабатывается с использованием GDI+.

Виджет - фактически это окно виндовс с поддержкой слоев которое может хранить в себе другие виджеты.

собственно пример в аттаче и вот как выглядит он, а именно инициализация виджетов... вся информация и описание будет на сайте, пока только ознакомление:

WidgetForm - простой класс от TObject хранящий обработчики событий.

Код:
begin
  WidgetForm := TWidgetForm.Create;
  
  WPanel := TWidgetWindow.Create;
  WPanel.WidgetName := 'Panel';
  WPanel.WidgetVisible := True;
  WPanel.WidgetMoveOnMouse := True;
  WPanel.WidgetLeft := 100;
  WPanel.WidgetTop := 100;
  WPanel.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\dwidget.png', 'bckg');
  WPanel.UseRenderAsSize('bckg');
  WidgetApplication.AddWidget(WPanel);

  WButton := TWidgetWindow.Create;
  WButton.WidgetName := 'Button';
  WButton.WidgetVisible := True;
  WButton.WidgetLeft := 10;
  WButton.WidgetTop := 3;
  WButton.OnClick := WidgetForm.OnClick;
  WButton.OnMouseDown := WidgetForm.OnMouseDown;
  WButton.OnMouseUp := WidgetForm.OnMouseDown;
  WButton.OnMouseEnter := WidgetForm.OnMouseEnter;
  WButton.OnMouseLeave := WidgetForm.OnMouseEnter;
  WButton.OnDrawRender := WidgetForm.OnRender;
  WButton.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\startnormal.png', 'normal');
  WButton.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\startover.png', 'over');
  WButton.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\startpressed.png', 'press');
  WButton.UseRenderAsSize('normal');
  WPanel.AddWidget(WButton);

  WLabel := TWidgetWindow.Create;
  WLabel.WidgetName := 'Label';
  WLabel.WidgetVisible := True;
  WLabel.SetWidgetRect2(645, 20, 115, 20);
  WLabel.SetTimer('timer', 500, WidgetForm.OnTimer, False);
  WLabel.OnAfterDrawRender := WidgetForm.OnAfterRender;
  WPanel.AddWidget(WLabel);
  WLabel.SetTimerState('timer', True);

  WClock := TWidgetWindow.Create;
  WClock.WidgetName := 'Clock';
  WClock.WidgetVisible := True;
  WClock.WidgetMoveOnMouse := True;
  WClock.WidgetLeft := 100;
  WClock.WidgetTop := 100;
  WClock.OnMouseEnter := WidgetForm.OnClockMouseEnter;
  WClock.OnMouseLeave := WidgetForm.OnMouseLeave;
  WClock.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\clock.png', 'bckg');
  WClock.UseRenderAsSize('bckg');
  WidgetApplication.AddWidget(WClock);
  
  WClose := TWidgetWindow.Create;
  WClose.WidgetName := 'Close';
  WClose.OnMouseLeave := WidgetForm.OnMouseLeave;
  WClose.SetRender(ExtractFilePath(ParamStr(0)) + 'Graphics\closebtn.png', 'bckg');
  WClose.UseRenderAsSize('bckg');
  WClose.WidgetLeft := WClock.WidgetWidth - 5;
  WClose.WidgetTop := 5 - WClose.WidgetHeight;
  WClock.AddWidget(WClose);
  
  WidgetApplication.Run; // это цикл, подобный TApplication.Run.. требуется если вы не используите модуль Forms.pas
  WidgetForm.Free;
end.
Реализация проекта на дельфи - Я
Идея и разработка сайта - LightPhoeniX7

думаю кому то все-таки понравится идея - т.к. еще никогда не было так легко и быстро делать окна используя слои виндовс

28.11.2008
Кому надо ссылка на проект с исходными кодами [скачать]
Вложения
Тип файла: zip Example.zip (109.0 Кб, 183 просмотров)

Последний раз редактировалось mihali4; 16.02.2009 в 15:25. Причина: Слияние постов
BOBAH13 вне форума Ответить с цитированием
Старый 29.11.2008, 09:03   #2
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 516
По умолчанию

а я не могу запустить, подскажите что надо сделать, ругаеться на DirectDraw
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 29.11.2008, 11:32   #3
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,453
По умолчанию

скачай http://ftp.heanet.ie/disk1/sourcefor...tX92_Apr07.exe и кинь DirectDraw в папку либс. Заработает.
beegl вне форума Ответить с цитированием
Старый 30.11.2008, 01:58   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ссылка на страничку проекта http://nemecsx.narod.ru/widgetlib/slideshow/index.htm
BOBAH13 вне форума Ответить с цитированием
Старый 16.02.2009, 15:11   #5
Iv_
Новичок
Джуниор
 
Регистрация: 16.02.2009
Сообщений: 1
По умолчанию

А можно к этому всему делу прикрутить компонент вэб-браузера???
Тогда можно как фон использовать png файл, а внутри делать различные фишечки с помощью простого html+javascript
Iv_ вне форума Ответить с цитированием
Старый 17.02.2009, 09:41   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

BOBAH13, просто супер. Сам когда то пробовал ,но гораздо большими усилиями ... и все равно не то ...
Еще раз благодарю !!!
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 17.02.2009, 13:13   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Симпатичненько, вот тока переезжайте с этого унылого народа прям срочно, хотя б на ayola.net или юкоз на крайняк. А то страница уже 15 минут загрузиться не может, 0.2 кб/с
пыщь
JTG вне форума Ответить с цитированием
Старый 17.02.2009, 18:07   #8
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Смотрю спрос маленький есть... там есть баги, перемещение к примеру, или когда много виджетов (окон). Будет свободное время (когда даже представить не могу) может допишу и обновлю.
BOBAH13 вне форума Ответить с цитированием
Старый 17.02.2009, 18:13   #9
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
может допишу и обновлю
Лично я буду ждать ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 03.01.2010, 16:52   #10
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Скомпилил пример, на ХР запустилось нормально, а на Win7 запустилось но не отобразилось, пришлось в процессах убивать.
Usov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ACL (API Controls Library) kiloz Win Api 4 25.06.2009 19:56
Microsoft Visual C++ Library (Runtime Error!) Карась Свободное общение 2 25.12.2008 23:31
Windows Layer Library BOBAH13 Мультимедиа в Delphi 1 23.08.2008 19:42
Ищу FlexGraphics Library 1.4 Full alexray Компоненты Delphi 1 30.01.2008 12:59
Выложите MSDN library KJIOyH Общие вопросы C/C++ 3 20.10.2007 11:21