Исходники
Статьи
Языки программирования
.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 говорит, меньше какого размера нельзя задвинуть разделитель. А так - все. |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рейтинги
|