Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Twincontrol.Controlscount


denis24 ©   (2004-11-24 12:30:00) 

Создаю в скролбаре кнопки (button1,button2,button3.....),потом удаляю некоторые из них.
Затем на их место опять хочу вставить новые
Но когда прохожу циклом по всем контролам что бы определить где свободное место
for i:=0 to frm1.ScrollBox3.ControlCount-1 do
if strtoint(copy((frm1.ScrollBox3.Controls[i] as TButton).name,8,2))<>i+1

У меня смещается эта i  относительно имени кнопки(button1,button2button3.....).
Вопрос ,Как отслеживать это controls[I],чтобы получать номер освободившегося места?


clickmaker   (2004-11-24 13:49:00) [1]


> if strtoint(copy((frm1.ScrollBox3.Controls[i] as TButton).name,8,2))<>i+1
>

Не стоит номера хранить в строке. Лишняя работа по разбору строки. Лучше Tag юзать


Плохиш   (2004-11-24 13:44:00) [2]


> denis24   (24.11.04 13:25) [4]

FindControls


denis24   (2004-11-24 13:25:00) [3]

Пишу

//создаю кнопку
with button do
begin
Parent := frm1.ScrollBox3;
Name := 'Button1';
.
//проверяю на существование
if frm1.ScrollBox3.FindComponent('button1')=nil then
и он его не находит ,хотя button с именем "button1" там точно есть.
Это как?


PRM   (2004-11-24 12:54:00) [4]

if ButtonOwner.FindComponent('Button2')=nil then
  //Компонента нет


denis24   (2004-11-24 12:49:00) [5]

У меня уникальный номер хранится в имени кнопки (Button1,bitton2,button3......)
А если удалить button2 то как в цикле получить номер свободного места ,тоесть в данном случае 2?


clickmaker   (2004-11-24 12:40:00) [6]

Не завязываться на i, а хранить уникальный номер в св-ве Tag, например


Наверх

Титульная страница Поиск, карта сайта Написать письмо