|
Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Ishodniki.Ru » Online книги » C++ Builder по шагам Шаг 43 - Разделитель TSplitter Этот компонент
Теперь разделитель будет во время проектирования двигаться при изменении размеров нижнего объекта, а во время выполнения - при перетаскивании его самого. Что от него и требовалось :). Как пример кода к вышепоказанной (или вышезагруженной :)) форме: void __fastcall TForm1::LoadClick(TObject *Sender)
{
if(!dynamic_cast<TMenuItem*>(Sender))return;
if(!OpenDialog->Execute())return;
TMemo* memos[]={Memo1,Memo2};
memos[((TComponent*)Sender)->Tag]->Lines->LoadFromFile(OpenDialog->FileName);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CloseClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
Необходимо пояснить, что для элементов меню, видимых на экране ("Загрузить Memo1/2") я установил обработчик один - LoadClick, а свойство Tag - в 0 и 1 соответственно. В общем-то это было сделано для сокращения объяма кода ценой его простоты. Лично я подобное использую довольно часто. Еще у него есть пара свойств. Свойство Beveled управляет 3D отображением компонента. Свойство ResizeStyle управляет вариантами перемещения сплиттера. Свойство MinSize говорит, меньше какого размера нельзя задвинуть разделитель. А так - все. |
Форум Программиста
Новости
Обзоры
Магазин Программиста
Каталог ссылок
Поиск
Добавить файл
Обратная связь |