Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: popmenu na guziku w oknie rozmowy
Konnekt | Forum > Developerzy > Tworzenie wtyczek
jacekm
Jak dodać popmenu pod guzik w oknie rozmowy?

~jacekm cool.gif
dulek000
Musisz je sam wyświetlić, poniżej analogiczny kod z SzuKacza:
CODE
POINT pt;
//tu musisz sam pobrać położenie kursora…
IMessage(&sIMessage_UIMakePopup(
  sUIAction(0, /*SzuKacz::ACT::criterionMenu - to Twoja grupa akcji jakie chcesz mieć w menu*/),
  TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_RIGHTALIGN|TPM_BOTTOMALIGN/*te wartości są potrzebne, aby wszystko wyglądało "Konnektowo"*/,
  pt.x,
  pt.y,
  0,
  hWnd)
);


I od razu - w oknie rozmowy nie będziesz miał problemów z UIMakePopup, ale jakbyś robił to z np. okienka ustawień to musisz do głównego okna K przesyłać kilka wiadomości:
CODE
LRESULT _stdcall Controller::cfgWindowProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam) {
  switch (iMsg) {
    case WM_DRAWITEM:
    case WM_MEASUREITEM:
    case WM_ENTERIDLE:
    case WM_INITMENUPOPUP: {
      return SendMessage((HWND)UIGroupHandle(sUIAction(0, IMIG_MAINWND)), iMsg, wParam, lParam);
      break;
    } default: {
      return CallWindowProc(getInstance()->cfgWndProc, hWnd, iMsg, wParam, lParam);
    }
  }
}
Mucha
Pytanie jest trochę nieprecyzyjne, bo ja np zrozumiałem je jako dodanie zwykłego przycisku na toolbar w oknie rozmowy i utworzenie tam własnej grupy.
CODE
UIGroupAdd(IMIG_MSGBAR , MSG_GRUP, ACTR_INIT, "kDuoView");
UIActionAdd(MSG_GRUP , BOLD  , ACTR_INIT, "Pogrubienie", ICO_BOLD );
UIActionAdd(MSG_GRUP , ITALIC  , ACTR_INIT, "Pochylenie", ICO_ITALIC );
UIActionAdd(MSG_GRUP , UNDERLINE  , ACTR_INIT, "Podkreślenie", ICO_UNDERLINE );
jacekm
Dzięki !

Mucha, twoje rozwiązanie w zupełności mi wystarczyło. Nie zwróciłem wcześniej uwagi że grupy guzików w oknie rozmowy tak ładnie się zwijają biggrin.gif

~jacekm cool.gif
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.