Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Сокровищница
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  13:38[Войти] | [Зарегистрироваться]

Набор функций для создания диалоговых окон в стиле диалогов помощника MSOffice 2000.

Игорь Шевченко
дата публикации 26-04-2002 18:24

Набор функций для создания диалоговых окон в стиле диалогов помощника MSOffice 2000.

Заменяет стандартные диалоги из Dialogs.pas, создаваемые по функции CreateMessageDialog (ShowMessage, MessageDlg). Все диалоги можно перемещать мышью за область формы. Чего не стал добиваться, это поведения кнопок, аналогичного кнопкам в диалогах помощника: при наведении на них мышью, они меняют свой вид.
Каждое диалоговое окно можно ассоциировать с Control'ом (хвостик диалога будет указывать на Control), если параметр Control не указан или равен nil, то хвостик в диалогах появляться не будет, и диалог будет размещен по центру главной формы приложения.
Имеется ряд глобальных переменных, действующих на внешний вид всех диалогов:
  • MessageColor - цвет фона диалогов,
  • RoundRectCurve - Размер эллипса для скругления углов формы
  • TriangleWidth - Ширина треугольного хвостика
  • TriangleHeight - Высота треугольного хвостика
  • TriangleIndent - Смещение треугольного хвостика относительно края диалога
Состав:
  • unit HSFlatButton - компонент плоской кнопки для отображения в диалогах.
  • unit HSDialogs - собственно, функции для создания диалогов.
function CreateHSMessageDialog (const Msg: string; DlgType: TMsgDlgType;
                                Buttons: TMsgDlgButtons;
                                { Control, на который указывает хвостик }
                                AEditorControl : TControl = nil;
                                { Позиция хвостика относительно левого края Control }
                                AXCursorOffset : Integer = 20;
                                { Позиция хвостика относительно
                                 верхнего (или нижнего) края Control }
                                AYCursorOffset : Integer = 2): TCustomForm;

{ Замена функции MessageDlg }
function HSMessageDlg(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint;
  AEditorControl : TControl = nil;
  AXCursorOffset : Integer = 20;
  AYCursorOffset : Integer = 2): Integer;

{ Замена функции ShowMessage }
procedure HSShowMessage(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessageFmt }
procedure HSShowMessageFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessage cо стандартной пиктограммой "Ошибка" }
procedure HSShowError(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessageFmt cо стандартной пиктограммой "Ошибка" }
procedure HSShowErrorFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessage cо стандартной пиктограммой "Предупреждение" }
procedure HSShowWarning(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessageFmt cо стандартной пиктограммой
"Предупреждение" 
}
procedure HSShowWarningFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessage cо стандартной пиктограммой "Информация" }
procedure HSShowInfo(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Замена функции ShowMessageFmt cо стандартной пиктограммой "Информация" }
procedure HSShowInfoFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2);

{ Диалог подтверждения с кнопками "Да"/"Нет" и стандартной пиктограммой 
"Подтверждение" }
function HSConfirmMessage(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2) : Boolean;

{ Диалог подтверждения с кнопками "Да"/"Нет" и стандартной пиктограммой 
"Подтверждение", с параметрами для функции Format }
function HSConfirmMessageFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2) : Boolean;

{ Диалог подтверждения с кнопками "Да"/"Нет"/"Отмена" и стандартной 
пиктограммой "Подтверждение" }
function HSAskYesNoCancel(const Msg: string;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2) : Integer;

{ Диалог подтверждения с кнопками "Да"/"Нет"/"Отмена" и стандартной 
пиктограммой "Подтверждение", с параметрами для функции Format }
function HSAskYesNoCancelFmt(const Msg: string; Params : array of const;
                        AEditorControl : TControl = nil;
                        AXCursorOffset : Integer = 20;
                        AYCursorOffset : Integer = 2) : Integer;

 

В прикрепленном архиве (11.8K) содержатся unit's для диалогов и тестовый пример.

Любая критика, предложения и пожелания принимаются :-)

С уважением, Игорь Шевченко




Смотрите также материалы по темам:
[Перерисовка компонент] [Стандартные диалоги]

 Обсуждение материала [ 30-05-2008 11:26 ] 19 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования