** Roland |
Отправлено: 18.06.2004, 12:22 |
|
Не зарегистрирован
|
У меня задача вытащить из текстового файла инфу по n-му количеству обьектов, и представить каждый обьект в виде кнопки, чтобы нажав на нее я получил информацию об этом обьекте. Спасибо!!! |
|
olegenty |
Отправлено: 18.06.2004, 12:37 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
TButton *b = new TButton(Указатель на твою форму);
b->Top =
b->Left =
b->Bottom =
b->Right =
b->OnClick =
невредно хранить список кнопок и твоих объектов в TList или любом другом списочном компоненте, а так же написать и проассоциировать обработчик нажатия на кнопку...
|
|
Roland |
Отправлено: 18.06.2004, 13:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Я не вижу кнопку, что делать?
TButton *b = new TButton(*Form1);
b->Top = 00 ;
b->Left = 00 ;
b->Caption="demo";
b->Visible= true;
b->Enabled=true;
b->Height=20;
b->Width=20; |
|
olegenty |
Отправлено: 18.06.2004, 13:57 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
а так?
CODE |
TButton *b = new TButton(Form1);
|
|
|
Roland |
Отправлено: 18.06.2004, 14:08 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
не показывается. |
|
xTrim |
Отправлено: 18.06.2004, 14:38 |
|
Машинист паровоза
Группа: Участник
Сообщений: 208
|
|
|
AVC |
Отправлено: 18.06.2004, 14:38 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Ну вот у всех показывается, а у него не показывается. К подсказкам надо подходить вдумчиво.
Реальный код. Выдрал из программы
CODE |
btn = new TBitBtn(parent);
CopyObject(Bt_Sample, btn);
// xl = (reci->Title.Length() + 1) * abs(btn->Font->Size) + 8;
xl = this->Canvas->TextWidth(reci->Title + " ");
btn->Caption = reci->Title;
btn->Top = y0;
btn->Left = x0;
btn->Width = xl;
btn->Visible = false; // проставит OnResize
btn->Tag = int(reci); // TAxField::FQM_GoToList->Items[i]
if (i == 0) hint = " ";
else if (i == 1) hint = "Ctrl+";
else if (i == 2) hint = "Alt+";
else if (i == 3) hint = "Shift+";
else hint = "";
if (!hint.IsEmpty())
{ btn->Hint = "<" + hint.Trim() + "F9>";
btn->ShowHint = true;
}
|
Обратите внимание на parent. Он должен быть тем куда ставится кнопка. Если форма то this, если панель то Panel1 или как она у вас там. |
|
UA_Freeman |
Отправлено: 18.06.2004, 14:40 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Мдя....
Берёшь любой кусок кода из выше написанных, дописываешь
b->Parent=<твоя форма>;
b->Name+=GetTickCount();
и всё. Имя бутона надо менять потому, что на форме не можеть быть двух одноимённых контролов |
|
AVC |
Отправлено: 18.06.2004, 14:49 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Правильно. Забыл на минутку. Это все выполняет CopyObject — заполнение параметров из образца. Каюсь. |
|
Roland |
Отправлено: 18.06.2004, 18:31 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Спасибо всем!!!!
Все ОК!!!
Могет по пиву?javascript:emoticon('') |
|