![]() |
![]() ![]() ![]() ![]() |
|
Урок 6 - Меню - как много в этом словеDelphi , Технологии , KOL и MCK
Ведущий раздела KOL и MCK: Анатолий aka XVeL Полную версию библиотеки KOL и MCK можно скачать здесь. Почти в любой программе есть меню. И у нас оно тоже будет. function NewMenu( AParent: PControl; FirstCmd: Integer; const Template: array of PChar; aOnMenuItem: TOnMenuItem ): PMenu; В AParent вы указываете к чему будет принадлежать меню. Если вы указали форму, то для нее это будет главное меню. Template - это массив, состоящий из пунктов меню. В этих пунктах могут встречаться специальные символы. Вот их список:
Описание некоторых свойств меню
Давайте добавим в наш редактор пару пунктов меню:
program Primer;
uses
Windows,
messages,
KOL;
{$R *.RES}
var
Form,
PanTools,
REdit,
butOpen,
butSave : PControl;
mainMenu : pMenu;
Dialog : pOpenSaveDialog;
procedure clikButOpenSave( Dummy : Pointer; Sender : PControl );
var
title : string;
begin
if sender = butOpen then
begin
Dialog.title := 'Открыть';
Dialog.OpenDialog := TRUE;
REdit.Clear;
end
else
begin
Dialog.title := 'Сохранить как...';
Dialog.OpenDialog := FALSE;
end;
if Dialog.Execute then
if sender = butOpen then
REdit.RE_LoadFromFile(Dialog.Filename, reText, false)
else
REdit.RE_SaveToFile(Dialog.Filename, reText, false);
form.StatusText[0] := PChar(Dialog.Filename);
end;
procedure ProcessingMenu ( Dummy : Pointer; Sender : pMenu; Item : Integer );
//обработка пунктов меню
begin
case Item of
1: begin {NEW}
REdit.Clear;
form.StatusText[0] := '';
end;
2: clikButOpenSave(nil, butOpen); {Open}
3: clikButOpenSave(nil, butSave); {Save As}
4: Applet.Close; {Exit}
end;{case}
end;
begin
form := NewForm( Applet, 'Редактор' );
panTools := NewPanel( Form, esRaised ).SetAlign( caTop );
panTools.Height := 35 ;
REdit := NewRichEdit( Form, [] ).SetAlign(caClient);
butOpen := NewButton( panTools, 'Open' ).SetSize(50, 25);
butSave := NewButton( panTools, 'Save as' ).SetSize(60, 25).PlaceRight;
Dialog := NewOpenSaveDialog( '', '', [] );
mainMenu := NewMenu(Form, 0,
[
'File',
'(',
'New',
'Open',
'Save As..',
'-',
'&Exit',
')'
],
TOnMenuItem( MakeMethod( nil, @ProcessingMenu ))
);
butOpen.OnClick := TOnEvent( MakeMethod( nil, @clikButOpenSave ));
butSave.OnClick := TOnEvent( MakeMethod( nil, @clikButOpenSave ));
Run( Form );
end.
В этой статье описывается создание меню в программе на языке Delphi с использованием библиотеки KOL и MCK. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||||||||||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||||||||||||||||||||||||||||