Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie popupów w oknie rozmowy
Konnekt | Forum > Developerzy > Tworzenie wtyczek
bulanh
Witam.

Chciałbym zrobić popup'a, który wyskakuje po naciśnięciu na guzik w oknie rozmowy. Coś takiego jak jest w GGImage. Zrobiłem to tak:

CODE

IPrepare:
UIGroupAdd(IMIG_MSGWND, IMIG_POPUP_4C, 0, "grupa", 0);
UIActionAdd(IMIG_POPUP_4C, IMIA_1_4C, 0, 0);

ActionProc:
  POINT p;
  GetCursorPos(&p);
  HWND hWnd = (HWND)ICMessage(IMI_GROUP_GETHANDLE, (int)&sUIAction(0, IMIG_MSGWND), 0);
  sIMessage_UIMakePopup s(sUIAction(IMIG_MSGWND, IMIG_POPUP_4C, anBase->act.cnt), TPM_LEFTALIGN, p.x, p.y, 0, hWnd);
  ICMessage(IMI_ACTION_MAKEPOPUPMENU, (int)&s);



Ale menu się nie wyświetla. Dobrze w ogóle rozumiem jak działa komunikat IMI_ACTION_MAKEPOPUPMENU? W pierwszym parametrze rekordu podajemy akcję, która zawiera identyfikator grupy do wyświetlenia (rozumiem, że akcje należące do grupy są wyświetlane jako kolejne pozycje w menu), a później idą parametry takie jak do TrackPopupMenu()?

Pozdrowienia
Buła
hao
Może musisz w IMIG_POPUP_4C dodać trochę więcej pozycji? Wywołanie wygląda na prawidłowe...

Zamiast IMI_GROUP_GETHANDLE wygodniej użyć f-cji UIGroupHandle smile.gif Poza tym podaj może sUIAction(0, IMIG_MSGWND, anBase->act.cnt) jako jej parametr...

Rozumiesz dobrze, akcje (i podgrupy) zawarte w grupie pojawiają się jako menu...
bulanh
Witam.

Udało się. Co prawda przez przypadek, ale działa smile.gif Poprzednio chciałem zrobić to tak: dodaję akcję do grupy IMIG_MSGTB, a odbierając ją staram się utworzyć popup'a za pomocą IMI_ACTION_MAKEPOPUP. Oczywiście podawałem tam jakąś grupę, która zawierała akcję, jednak nie działało. Teraz mam zrobione tak, że do grupy IMIG_MSGTB mam dodaną swoją grupę, która zawiera akcje. I wszystko auto-magicznie się wyświetla, a ja tylko obsługuję akcje.

Pozdrowienia
Buła
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.