Виртуальная библиотека Delphi - [37]
>// Конструктор
>////////////////////////////////////////////////////////////////////////////////
>constructor TLiteDialog.Create(AWndParent: THandle);
>begin
> inherited;
> // Формируем параметры диалога
> CreateDialogParams(FDlgParams);
> // Создаем диалог
> with FDlgParams do
> CreateDialogParam(hInstance, Template, WndParent, WndCallback, 0);
>end;
>////////////////////////////////////////////////////////////////////////////////
>// Деструктор
>////////////////////////////////////////////////////////////////////////////////
>destructor TLiteDialog.Destroy;
>begin
> // Уничтожаем диалог
> if IsWindow(FWndHandle) then DestroyWindow(FWndHandle);
> // Уничтожение по умолчанию
> inherited;
>end;
>////////////////////////////////////////////////////////////////////////////////
>// Формирование параметров диалога по умолчанию
>////////////////////////////////////////////////////////////////////////////////
>procedure TLiteDialog.CreateDialogParams(var DialogParams: TDialogParams);
>begin
> DialogParams.WndParent := FWndParent;
> DialogParams.Template := '';
>end;
>////////////////////////////////////////////////////////////////////////////////
>// Обработка сообщений по умолчанию
>////////////////////////////////////////////////////////////////////////////////
>procedure TLiteDialog.DefaultHandler(var Msg);
>begin
> // Возвращаемые значения по умолчанию
> with TMessage(Msg) do
> if Msg = WM_INITDIALOG then Result := 1
> else Result := 0;
>end;
>////////////////////////////////////////////////////////////////////////////////
>// TLiteDialogBox
>// _________________________________________________________
>// Инициализация / финализация
>////////////////////////////////////////////////////////////////////////////////
>////////////////////////////////////////////////////////////////////////////////
>// Формирование параметров диалога по умолчанию
>////////////////////////////////////////////////////////////////////////////////
>procedure TLiteDialogBox.CreateDialogParams(
>var DialogParams: TDialogParams);
>begin
> DialogParams.WndParent := FWndParent;
> DialogParams.Template := '';
>end;
>////////////////////////////////////////////////////////////////////////////////
>// Активизация модального диалога
>////////////////////////////////////////////////////////////////////////////////
>function TLiteDialogBox.ShowModal: Integer;
>begin
> // Формируем параметры диалога
> CreateDialogParams(FDlgParams);
> // Показываем диалог
> with FDlgParams do
> Result := DialogBoxParam(hInstance, Template, WndParent,
>WndCallback, 0);
>end;
>////////////////////////////////////////////////////////////////////////////////
>// Обработка сообщений по умолчанию
>////////////////////////////////////////////////////////////////////////////////
>procedure TLiteDialogBox.DefaultHandler(var Msg);
>begin
> // Возвращаемые значения по умолчанию
> with TMessage(Msg) do
> if Msg = WM_INITDIALOG then Result := 1
> else Result := 0;
>end;
>end.
5. Пример программы на основе библиотеки WinLite
В прилагаемом примере, построенном на основе разработанной автором библиотеки API-программирования WinLite, рассматриваются следующие проблемы:
• создание и показ окон;
• создание и показ диалогов;
• загрузка ресурсов;
• работа с трэем;
• активизация приложения по нажатию глобальной "горячей" клавиши;
• "прилипание" окна к границам рабочей области экрана;
• реализация графики OpenGL;
• субклассинг стандартных элементов управления;
• буферизация вывода в окно для устранения мерцания;
• создание дополнительного потока и передача сообщений между потоками;
• установка таймера.
KOL
KOL — Key Objects Library – это библиотека объектов для программирования в среде Delphi. Предоставляется бесплатно, с исходными текстами.
Поддерживаются версии Delph3, Delphi4, Delphi5. Библиотека KOL позволяет разрабатывать чрезвычайно компактные GUI-приложения (от 13,5К без сжатия — при условии использования предлагаемой замены системных модулей system, sysinit). Большая часть кода переведана на ассемблер.
К библиотеке прилагается программа — генератор справки (xHelpGen), формирующая подробную документацию по библиотеке в html-формате. Справка формируется на основе комментариев в исходных текстах, так что разработчики всегда имеют доступ к самой свежей и полной документации.
До сих пор программирование для KOL было полностью невизуальным, но с открытием проекта MCK (Mirror Classes Kit — набор зеркальных классов) появилась надежда на то, что очень скоро все прелести визуального программирования будут в полной мере доступны и для разработчиков, использующих KOL.
Состояние проекта KOL
• Базовый объект TObj функционально заменяет собой класс TObject из VCL. Он имеет похожий метод Free, который позволяет уничтожать объекты безопасно (игнорируя вызов для указателя nil), а так же пару методов RefInc и RefDec, позволяющих предотвратить удаление объекта из памяти между двумя соответствующими вызовами RefInc и RefDec.
◦ Очень полезный объект TList ("конструктор": NewList:PList). Подобно TList в VCL, позволяет хранить указатели на любые данные (или числа).
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.