C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Програмное создание кнопок
Georg
Отправлено: 19.12.2003, 16:19


Дежурный стрелочник

Группа: Участник
Сообщений: 34



А можно ли в Buildere, програмно создавать кнопки как и в ВС5.
Asher
Отправлено: 19.12.2003, 16:25


Мастер участка

Группа: Модератор
Сообщений: 550



В смысле?
Какие конкретно кнопки?
Если TButton, TSpeedButton, TBitBtn или там TToolButton — то естественно можно
Georg
Отправлено: 19.12.2003, 16:55


Дежурный стрелочник

Группа: Участник
Сообщений: 34



TButton например.
Asher
Отправлено: 19.12.2003, 17:37


Мастер участка

Группа: Модератор
Сообщений: 550



TButton не пользуюсь, а сейчас писать лень biggrin.gif
Вот пример с TToolButton (Они все равно все практически одинаковые)
TToolBar *tlbToolMain; //панель команд
CODE

TToolButton *tbtNew; //Указатель на создаваемую кнопку
for (int i1 = 0; i1 < 10i1++){//
tbtNew = new TToolButton(this);/*Создать кнопку с назначением this владельцем, те. он отвечает за удаление. Если потом TComponent? то удалит сам, если нет, то лучше писать NULL и делать всем delete в деструкторе своего класса*/
tbtNew->Name = "tbtToolMain" + IntToStr(i1);//Имя кнопки
tbtNew->Tag = i1; //Индекс для доступа
tbtNew->DropdownMenu = NULL; //Нет контекстного меню
tbtNew->ImageIndex = -1; //Нет изображения (потом каждой персонально укажешь)
tbtNew->Parent = tlbToolMain; //Разместить на панели
tbtNew->AutoSize = true; //Размеры определяются панелью
tbtNew->Visible = true; //
tbtNew->Enabled = true; //
///tbtNew->Height = 22; //Прозапас, если AutoSize = false
///tbtNew->Width = 23; //Прозапас, если AutoSize = false
tbtNew->Style = tbsButton; //Стиль кнопки
} //for (int i1 = 0; i1 < 10i1++)


Отредактировано Asher — 19/12/2003, 19:40
Georg
Отправлено: 22.12.2003, 16:41


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Спасибо! С назначением функций нажатия и отпускания пришлось повазиться, но все заработало.

Вернуться в Вопросы программирования в C++Builder