| |
| | | | |
Игорь Шевченко дата публикации 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.
Функция может не работать в некоторых версиях броузеров.
©
При использовании любых материалов «Королевства Delphi»
необходимо указывать источник информации.
Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются
собственностью их производителей.