Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Как манипулировать дочерними окнами?   Найти похожие ветки 

 
001   (2004-10-03 20:32) [0]

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


 
KilkennyCat ©   (2004-10-03 20:48) [1]

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


 
Piter ©   (2004-10-03 21:17) [2]

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


 
Piter ©   (2004-10-03 21:18) [3]

KilkennyCat ©   (03.10.04 20:48) [1]

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


 
jack128 ©   (2004-10-03 21:23) [4]

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


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

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


 
Piter ©   (2004-10-03 21:30) [6]

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


 
KilkennyCat ©   (2004-10-03 22:53) [7]


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


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


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

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

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

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

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

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


 
GanibalLector ©   (2004-10-04 01:56) [9]

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



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
4-1095284915
Wind
2004-09-16 01:48
2004.10.17
Буфер обмена


14-1096304163
Capone
2004-09-27 20:56
2004.10.17
delphi 1


6-1092351674
Shados
2004-08-13 03:01
2004.10.17
TThread и пинг списка хостов


14-1096290021
1008
2004-09-27 17:00
2004.10.17
Как из процедуры в DataModul-е завершить работу приложения?


1-1096303053
Nkrd
2004-09-27 20:37
2004.10.17
активный richedit