Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinApi]zakładki, menu a wm_command

Ostatnio zmodyfikowano 2011-10-15 13:52
Autor Wiadomość
kill
Temat założony przez niniejszego użytkownika
[WinApi]zakładki, menu a wm_command
» 2011-10-15 11:28:34
Witam ponownie ^.^
Znowu mam problem a co z tym idzie pytanie do was aczkolwiek najpierw podam kawałek kodu:
C/C++
case WM_NOTIFY:
LPNMHDR r;
r =( LPNMHDR ) lParam;
if( r->code == NM_RCLICK && n->hwndFrom == hTab )
{
    POINT point;
    point.x = LOWORD( lParam );
    point.y = HIWORD( lParam );
    ClientToScreen( hTab, & point );
   
    TrackPopupMenu( GetSubMenu( it_Menu, 0 ), 0, point.x + 50, point.y + 20, 0, hTab, NULL );
}
To pozwala mi wyświetlić menu aczkolwiek chciałbym jakoś odebrać w WM_COMMAND, numer klikniętego przycisku w menu i numer zakładki na której to zostało to kliknięte.
Prosiłbym was o wskazówki ;>
P-42125
xevuel
» 2011-10-15 11:37:42
Też miałem taki problem.
C/C++
menu_value = TrackPopupMenu( GetSubMenu( menu_dir, 0 ), TPM_RETURNCMD, p.x, p.y, 0, hParent, NULL );
SendMessage( hwnd, WM_COMMAND, menu_value, 0 );
Flaga TPM_RETURNCMD powoduje, że menu zwróci wartość indeksu wybranej pozycji w menu. Następnie wysyłasz tą wartość do procedury komunikatów.

Poza tym, http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Kontrolki /Zakladki-TabCtrl/381.
P-42126
kill
Temat założony przez niniejszego użytkownika
» 2011-10-15 12:38:05
tylko jeszcze trzeba mi numer zakładki na którą kliknąłem PPM, tutaj TabCtrl_GetCurSel chyba mi nie pomoże bo to zwraca zaznaczoną zakładkę a ja chce móc się dobrać do każdej a nie tylko tej która jest wciśnięta przez LPM
P-42130
xevuel
» 2011-10-15 12:54:23
http://msdn.microsoft.com/en-us/library/windows/desktop/ff486046(v=VS.85).aspx. Spróbuj. Któreś z nich powinno robić to co chcesz.
P-42131
kill
Temat założony przez niniejszego użytkownika
» 2011-10-15 13:03:10
nistety nie widzie nic co mogłoby mi pomóc :<
zwracają jedynie wartość tego na którym jest to aktywne ;<
P-42132
xevuel
» 2011-10-15 13:28:02
Faktycznie, nic nie widzę...
Ale możesz zrobić to w ten sposób:
w odpowiedzi na komunikat NM_RCLICK możesz pobrać aktualną pozycję myszy, potem w tą pozycję wysłać kliknięcie programowe (SendMessage()). Wtedy zaznaczy ci się odpowiednia zakładka a ty pobierzesz indeks za pomocą TabCtrl_GetCurSel().
P-42135
kill
Temat założony przez niniejszego użytkownika
» 2011-10-15 13:34:03
hmm, ale ja nie chce zaznaczyć zakładki ;>
Chce zrobić coś żeby działało to tak:
klikam PPM - wyświetla się menu - wybieram zamknij - zakładka się zamyka ;>
P-42136
xevuel
» 2011-10-15 13:35:31
No to musisz sam poszukać :)

//EDIT:
Ew. możesz jeszcze z powrotem przełączyć na starą zakłądkę.
P-42137
« 1 » 2
  Strona 1 z 2 Następna strona