Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Динамически заполняемый Label


Автор: Rutti 27.4.2006, 11:00
При нажатии Label1 на форме №1 открывается другая форма (№2) на котором пустой Lable получает Caption  нажатой Label.

Код

.
.
.
        Label1->Width=Rand.Length(); // Rand - это Caption нажатой Label
        Label1->Caption=Rand;
        Label1->Cursor=crHandPoint;
        Label1->Font->Color=clSilver;

        Label1->Left=(Panel1->Width -   Label1->Width )/2;
        Label1->Top=(Panel1->Height/2 - Label1->Height)/2;

        Label1->Parent=Form4->Panel1;

        Label1->OnClick=Label1Click;
.
.
.


Если после этого выйти в основною форму (№1) и опять нажать ту же Label, то в форме №2 Caption у Label отображает только 3 символа вместо полной строки.

Что это и как это? 

Автор: Aline 27.4.2006, 11:15
Rutti

У тебя здесь неправильно получается: Label1->Width=Rand.Length(); // Rand - это Caption нажатой Label

чтобы получить ширину в пикселях, надо вот так сделать:

Label1->Width = Canvas->TextWidth(Rand); 

Автор: Rutti 13.5.2006, 16:36
Aline

Спасибо!
А вот я поменял программно размер шрифта Caption'а и сделал его жирным и опять повторилась та же ерунда.  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)