Привет, Гость! Регистрация RSS
Вторник, 03.12.2024
Главная » Файлы » Основные файлы сайта

Многодокументный MDI
[ Скачать с сервера (267.0 Kb) ] 20.11.2012, 22:35

Порядок выполнения

Для того чтобы создать готовый  шаблон, следует выполнить команду  File/ New/ Other  и на странице  Projects  выбрать пиктограмму MDI Application (Что такое MDI?).

Как видим, в приложении уже имеются меню, стандартные диалоги, кнопки. Теперь откомпилируем и проверяем работу этих элементов. Обратите внимание, в шаблоне не используются кнопки Save и Save As... поэтому на форму помещаем элемент SaveDialog. Далее создаем обработчики события для сохранения документов.

procedure TMainForm.FileSaveItemClick(Sender: TObject);
var
  Child: TMDIChild;
begin
  Name := Child.Caption;
  if SaveDialog1.Execute then Child.Memo1.Lines.SaveToFile(Name);
end;
Далее редактируем имена команд главного меню  и  имена подменю для каждой команды меню на  русский язык. 

А в конце изменяем содержимое формы About.

Я также добавил обработку для просмотра изображений, создав дополнительную форму MDIPic.

Вот коды для каждой кнопки меню и горячих клавиш.

...
procedure TMainForm.CreateMDIChild(const Name: string);
var
  Child: TMDIChild;
begin
  { create a new MDI child window }
  Child := TMDIChild.Create(Application);
  Child.Caption := Name;
  if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name);
end;

procedure TMainForm.FileNew1Execute(Sender: TObject);
begin
  CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));
end;

procedure TMainForm.FileOpen1Execute(Sender: TObject);
begin
  if OpenDialog.Execute then
    CreateMDIChild(OpenDialog.FileName);
end;

procedure TMainForm.HelpAbout1Execute(Sender: TObject);
begin
  AboutBox.ShowModal;
end;

procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.FileSaveItemClick(Sender: TObject);
var
  Child: TMDIChild;
begin
  Name := Child.Caption;
  if SaveDialog1.Execute then Child.Memo1.Lines.SaveToFile(Name);
end;

procedure TMainForm.N3Click(Sender: TObject);
var
  Child: TMdiPic;
  Name: string;
begin
  if (OpenDialog.Execute) then
    Name := OpenDialog.FileName;
  Child := TMDIPic.Create(Application);
  Child.Caption := Name;
  if FileExists(Name) then Child.Image1.Picture.LoadFromFile(Name);
end;

procedure TMainForm.FileSaveAsItemClick(Sender: TObject);
var
  Child: TMDIChild;
begin
  if SaveDialog1.Execute then Child.Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
...

З.Ы. пароль для архива: "delphiexample.at.ua"

Подпишись, чтобы получать свежие исходники!
Нравится
Категория: Основные файлы сайта | Добавил: Dark_Green | Теги: MDI Application, Интерфейс MDI, Многодокументный
Просмотров: 4309 | Загрузок: 1241 | Рейтинг: 0.0/0

Другие примеры
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]