kti писал(а) 10. Декабря 2012 :: 05:38: Цитата:элемент формы можно сделать видимым даже если слой, которому он принадлежит - скрыт.
Да, это я знаю, просто так было-бы красивее, написал юзер сообщение, добавилась закладка, создались элементы.. а так приходится в цикле все элементы гасить, а нужные проявлять
Цитата:Т.е. у тебя есть 2 элемента формы типа "многострочная строка".
При активизации закладки ты присваиваешь им значения чата выбранного пользователя из аккумуляторов.
В какой-то момент (или при смене закладки или сразу после изменения) значения чата текущего пользователя записываешь во внутренные аккумуляторы.
Да, именно так! На этой закладке есть кнопка закрыть, с формулой
Атрибут.Формула="УдалитьЗакладку(" +НоваяЗакладка_ИД + ")";
при ее нажатии, слой удаляется, данные записываются (для истории), можно и не записывать..
Когда приходит сообщение, закладка создается (но не открывается), и заголовок моргает (через ФормаРасш.ПодсветкаЗакладки(i, 0)
Цитата:Собственно, слои, как таковые, даже и не нужны становятся.
в принципе, да. Можно просто кнопки наставить и управлять видимостью.
НАФИГА управлять видимостью?
Точнее даже не так - ЗАБЕЙ на множество реквизитов формы.
Тебе нужен ровно один набор для "вкладки чата" (я так понимаю, хочешь сделать что-то типо как в Квипе?).
Все, что дальше требуется - это по событию "ПриВыбореЗакладки" ассоциировать этот набор с новым текущим пользователем чата.
Собственно - лог и текущее сообщение гоняешь через аккумуляторы (юзай, например, список значений).
Кнопки работают с текущим пользователем (т.е. юзверь нажал кнопку "Хистори" - смотришь в текщую закладку, чтоб определить текщего пользователя и открываешь его историю; нажал юзверь кнопку "Отправить сообщение" - опять же, смотришь кто сейчас текущий пользователь и отправляешь сообщение ему).