Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Powiadomienie o otworzeniu okna rozmowy
Konnekt | Forum > Developerzy > Tworzenie wtyczek
bulanh
Witam.

W oknie rozmowy (dokładnie w grupie IMIG_MSGTB) mam swoją akcję. Ma to być guzik, który przyjmuje dwa stany: wciśnięty, albo nie (zależnie od wartości w tablicy kontaktów). W związku z tym chciałem sobie ustawić jakiś stan początkowy w momencie, gdy okno jest otwierane. Zamówiłem sobie dla akcji ACTR_INIT, a później tylko sprawdzałem czy akcja jest równa ACTN_CREATE. Sposób działa, ale tylko przy pierwszym otworzeniu okna. Przy każdym następnym powiadomienie nie jest wysyłane. Próbowałem także za pomocą ACTR_SHOW/ACTN_SHOW, ale przy tej kombinacji w ogóle nic nigdy nie jest wysyłane.
Dlatego też mam pytanie: jak zrobić tak, aby dowiedzieć się jakoś o każdym otworzeniu okna z rozmową (miło by było, gdyby ów sposób dostarczał informacji o ID kontaktu dla którego okno jest otwierane)?

Pozdrowienia
Buła.
hao
Ponieważ okno tworzone jest tylko przy pierwszym otwarciu... Każde kolejne to po prostu ukrywanie/pokazywanie okienka, więc ustawienie takiego przycisku zostanie zachowane.
Najlepiej gdybyś ustawiał "wciśnięcie" przycisku w chwili gdy zmieni się wartość za to odpowiadająca (i przy tworzeniu okienka)...

Informację o ID kontaktu masz w anBase->act->cnt
KoSiarzPL
Dodam tylko kilka groszy:
- komuniakt ACTN_SHOW nie jest wysyłąny do akcji umieszczonych w oknie rozmowy
- ACTN_CREATE jest wysyłąny przy tworzeniu okna. Jeśli użytkownik ma włączone zapamiętywanie okna rozmowy oraz zamknie i otworzy okno ponownie, nie jest to uznawane za otwarcie okna( nie zostaie wyslany ponowanie komunikat ACTN_CREATE). Nie musisz się tym zupełnie przejmować bo ustawienia okna są zachowywane (okno istnieje nadal w paięci).
- jeśli byś chciał sprawdzić czy jest otwarte okno rozmowy z danym kontaktem to używasz:
CODE
if( UIGroupHandle( sUIAction(0, IMIG_MSGWND, id_kontaktu) ) != 0 )
{
   // okno otwarte
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.