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

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

Как манипулировать дочерними окнами? [D6, WinXP]


001 ©   (2004-10-03 20:32:00) 

Есть MDIForm - Form1.
Есть класс дочернего окна (MDIChild), допустим TForm2;
Потенциально может быть создано неопределенное число этих окон.
Каждое из них создается по щелчку на строке в БД.  
Но если по этой строке уже кликали, т.е. окно уже было ранее создано (и не закрыто), то нужно не открывать еще одно такое же, а вынести на передний план то, ранее созданное.
Помогите реализовать.. механизм нужен.
Я хочу TForm2(FFF).Tag приравнивать к унику в БД, но как тогда мне пробежаться по всем созданным дочерним окнам в поиске\сравнения этого уника?
или кто может предложить что-то более разумное?


GanibalLector   (2004-10-04 01:56:00) [1]

Как запасной вариант,напиши на Caption окна какой-нибудь текст(например="Носки Васи Пупкина";) )и проверяй findwindowex.


001   (2004-10-04 01:40:00) [2]

>> Piter ©   (03.10.04 21:30) [6]
>> ну прост очеловек хотел пробегать по Tag'у... тут дело его. Я просто показал КАК >> пробежать...

Да, мне именно это и надо было знать: как пробежать по дочерним..

>> jack128 ©   (03.10.04 21:23) [4]
>> В данном случае лудше у класса TForm2 нужно объявить свойство и смотреть уже значение этого свойства..

Так и будет. Поскольку в базе куча связей с другими таблицами, одного Tag не достаточно, необходимо несколько параметров.

Благодарствуем..


KilkennyCat   (2004-10-03 22:53:00) [3]


> Piter ©   (03.10.04 21:18) [3]


блин, я забыл! вот фигня-то... скоро наверное, вообще мозги спекутся в сторону глобального усложнения примитивных вещей :(


Piter   (2004-10-03 21:30:00) [4]

нет, ну прост очеловек хотел пробегать по Tag'у... тут дело его. Я просто показал КАК пробежать...


jack128   (2004-10-03 21:24:00) [5]

jack128 ©   (03.10.04 21:23) [4]
лудше у класса TForm2 объявить свойство и


jack128   (2004-10-03 21:23:00) [6]

Piter ©   (03.10.04 21:18) [3]
В данном случае лудше у класса TForm2 нужно объявить свойство и смотреть уже значение этого свойства..
А Tag обычно используют для стандартных компонентов (TButton, TMemo)..


Piter   (2004-10-03 21:18:00) [7]

KilkennyCat ©   (03.10.04 20:48) [1]

имхо, неправильный способ. Совсем неправильный. Для этого TAG есть... А не Name


Piter   (2004-10-03 21:17:00) [8]

for i:=0 to form1.mdichildCount - 1 do
 if form1.MDIChildren[i] is TForm2 then
   if TForm2(MDIChildren[i]).Tag=XXX then ...


KilkennyCat   (2004-10-03 20:48:00) [9]

Я бы просто создавал окна с именем строки, т.е - строка имеет номер 15 - окно будет TForm15
После клика проверяем, есть ли у нас окно ('TForm + inttostr(row))...


Наверх

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