Первый пост на эту тему вот. Второй – тут.
В этой посте займемся созданием обработчиков событий для пунктов меню нашего редактора.
Для создания обработчика события достаточно сделать двойной щелчок по кнопке и шаблон будет создан автоматически. Далее можно переходить к непосредственному написанию кода.
Начнем с пункта меню создания нового файла. Фактически создание нового представляет собой очистку текстового поля. Правда, перед очисткой следует проверить на наличие записей в нем и, если запись есть, предложить ее сохранить. Так и запишем:
if(Memo1->Lines->Count>0)
{
if(MessageBox(0,"Сохранить содержимое окна","Создание нового файла",MB_YESNO)==IDYES)
{
ToolButton5Click(Sender);
}
}
Memo1->Clear();
StatusBar1->Panels->Items[0]->Text="Безымянный документ";
Далее перейдем к открытию файла. Для этого будем использовать окно диалога OpenDialog1. Код обработчика события выглядит так:
if(OpenDialog1->Execute())
{
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
StatusBar1->Panels->Items[0]->Text=OpenDialog1->FileName;
}
Теперь нужно создать обработчик для события нажатия кнопки сохранения файла. Его код выглядит так:
if(SaveDialog1->Execute())
{
Memo1->Lines->SaveToFile(SaveDialog1->FileName);
StatusBar1->Panels->Items[0]->Text=SaveDialog1->FileName;
}
Переходим к меню «Вырезать». Для этого нам понадобится использовать буфер обмена. Код обработчика события:
Memo1->CutToClipboard();
Обработчик события для менюшки «Копировать» выглядит так:
Memo1->CopyToClipboard();
А для меню «Вставить»:
Memo1->PasteFromClipboard();
Осталось настроить обработчики для пунктов меню. Код уже написан, теперь нужно создать связи. Для этого достаточно выбрать из раскрывающегося списка существующую функцию для обработки данного события. Сделать это можно так: дважды щелкните по компоненту MainMenu1 и в свойствах каждого пункта меню, на вкладе Events выберите необходимое событие OnClick. Если давали кнопкам осмысленные имена – будет проще. В противном случае – придется поглядеть, что какая значит )))
Внешний вид получившегося редактора:
Вот и все. Результат можно скачать по ссылке.
нужно попробовать)
Спасибо большое очень полезная информация автору огромное спасибо,продолжайте в том же духе
Большое спасибо. я как раз искала это)
win7,RAD Ebarcadero XE5
работает только так