IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Builder 6.0
сообщение
Сообщение #1


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


При создании динамически кнопки необходимо что бы она оказалась поверх всех компонентов...
BringToFont() и SendToBack() не работает в этом случае...Как быть?..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Положи TPanel (с размером, равным размеру кнопки) на форму, а уж на нее - свою кнопку, тогда кнопка будет "сверху"...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(volvo @ 4.01.2008 12:58) *

Положи TPanel (с размером, равным размеру кнопки) на форму, а уж на нее - свою кнопку, тогда кнопка будет "сверху"...


А как то ещё можно?..Потому что кнопок много...то есть зарание неизвесто сколько нужно панелей...
Одна большая панель также не подходит... unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Ты не понял... При создании кнопки - создавай перед этим панель, тоже динамически...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(volvo @ 4.01.2008 13:42) *

Ты не понял... При создании кнопки - создавай перед этим панель, тоже динамически...


А как вставить на динамически созданную панель кнопку?



MyButton *B = new MyButton(this);
TPanel *P = new TPanel(Panel1);

Main->InsertControl(P);
Main->P->InsertControl(B);




Так не работает...

Добавлено через 12 мин.
Цитата(Fanat @ 4.01.2008 13:52) *

А как вставить на динамически созданную панель кнопку?



MyButton *B = new MyButton(this);
TPanel *P = new TPanel(Panel1);

Main->InsertControl(P);
Main->P->InsertControl(B);




Так не работает...



Всё...спасибо разобрался...

Сообщение отредактировано: Fanat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Я бы сделал так:

class MyButton : public TSpeedButton
{
TPanel *parent;
public:
int n, m;
__fastcall MyButton(Classes::TComponent* AOwner, const TRect& rect);
};

__fastcall MyButton::MyButton(Classes::TComponent* AOwner, const TRect& rect)
:TSpeedButton(AOwner)
{
parent = new TPanel(AOwner);
parent->BoundsRect = rect;
parent->BevelOuter = bvNone;
parent->Parent = dynamic_cast<TWinControl*>(AOwner);

m = n = 0;
this->Parent = parent;
};

void __fastcall TForm1::Button1Click(TObject *Sender)
{
static MyButton* Button = new MyButton(this, Rect(10, 10, 10+23, 10+23));
Button->m = 10;
Button->n = 20;
Button->Show();
}

(эта тема является логическим продолжением темы о наследовании от Button-а, я не ошибся?)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(volvo @ 4.01.2008 15:22) *

(эта тема является логическим продолжением темы о наследовании от Button-а, я не ошибся?)


Нет, не ошибся...Очень интересно спасибо...=)
А что это за свойства?..
parent->BoundsRect
parent->BevelOuter
parent->Parent

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
А что это за свойства?..
Как это "что за свойства"? blink.gif Обычные свойства TPanel...

Первое - координаты прямоугольника, содержащего панель.
Второе - стиль отображения наружной границы панели.
Третье - собственно "родитель" панели...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 17:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name