![]() |
![]() ![]() ![]() ![]() |
|
Диалог-компонент с кнопками Да, Нет, ОтменаDelphi , Программа и Интерфейс , Диалоги и Фреймы
Автор: Святослав
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Диалог с кнопками Yes, No, Cancel (компонент).
Работает примерно так же как TDialog (для удобства).
TYesOrNoDialog.ShowNoButton - показывать ли кнопку No.
TYesOrNoDialog.ShowCancelButton - показывать ли кнопку Cancel.
TYesOrNoDialog.Caption - заголовок диалгоа.
TYesOrNoDialog.Text - текст диалога.
function TYesOrNoDialog.Execute:Integer - показывает
диалог и возвращает значение MessageBox'a
Зависимости: Windows, Messages, SysUtils, Classes, Dialogs, Forms;
Автор: Святослав, lisin@asicdesign.ru, ICQ:138752432, Saint Petersburg
Copyright: (C) NetBreaker666[AWD]<SP666>@Svjatoslav_Lisin - т.е. я сам
Дата: 11 августа 2002 г.
***************************************************** }
unit YesOrNoDialog;
interface
uses
Windows, Messages, SysUtils, Classes, Dialogs, Forms;
type
TYesOrNoDialog = class(TComponent)
private
{ Private declarations }
_OnEx: TNotifyEvent;
__SNO: Boolean;
__SC: Boolean;
_Y, _N, _C: Boolean;
_Caption, _Text: string;
procedure SetNo(S: Boolean);
procedure SetCancel(S: Boolean);
protected
{ Protected declarations }
public
{ Public declarations }
property Yes: Boolean read _Y;
property No: Boolean read _N;
property Cancel: Boolean read _C;
published
{ Published declarations }
property ShowNoButton: Boolean read __SNO write SetNo;
property ShowCancelButton: Boolean read __SC write SetCancel;
property Caption: string read _Caption write _Caption;
property Text: string read _Text write _Text;
property OnExecute: TNotifyEvent read _OnEx write _OnEx;
function Execute: Integer;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('NetBreakers', [TYesOrNoDialog]);
end;
//Voen secret.
// 2301900
function TYesOrNoDialog.Execute: Integer;
var
Hn: THandle;
begin
Hn := Application.Handle;
if __SNO and __SC then
begin
Result := MessageBox(Hn, PChar(text), PChar(Caption), MB_YESNOCANCEL);
_Y := (Result = 6) or (Result = 1);
_N := Result = 7;
_C := REsult = 2;
Exit;
end;
if __SNO then
begin
Result := MessageBox(Hn, PChar(text), PChar(Caption), MB_YESNO);
_Y := (Result = 6) or (Result = 1);
_N := Result = 7;
_C := REsult = 2;
Exit;
end;
if __SC then
begin
Result := MessageBox(Hn, PChar(text), PChar(Caption), MB_OKCANCEL);
_Y := (Result = 6) or (Result = 1);
_N := Result = 7;
_C := REsult = 2;
Exit;
end;
Result := MessageBox(Hn, PChar(text), PChar(Caption), MB_OK);
_Y := (Result = 6) or (Result = 1);
_N := Result = 7;
_C := Result = 2;
end;
procedure TYesOrNoDialog.SetNo(S: Boolean);
begin
__SNO := S;
end;
procedure TYesOrNoDialog.SetCancel(S: Boolean);
begin
__SC := S;
end;
end.
Этот компонент Delphi для создания диалога с кнопками Да, Нет и Отмена. Компонент позволяет настроить заголовок, текст и видимость каждой кнопки через свойства. Вот разбивка кода:
Метод Метод затем обновляет состояние кнопок диалога на основе выбора пользователя. Если В целом, этот компонент предоставляет удобный способ создания диалога с кнопками Да, Нет и Отмена в приложениях Delphi. Диалог-компонент с кнопками Да, Нет и Отмена для удобного использования в приложениях. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Диалоги и Фреймы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||