begin process at 2012 02 11 12:31:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

menu contextuel étendu ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

menu contextuel étendu ?

mardi 10 mai 2005 à 17:52:46 | menu contextuel étendu ?

Clem

Bonjour !
Je cherche à faire un petit programme qui rajouterai une option dans le menu contextuel des "edit", mais en vain.
J'utilise pour détecter les menus un WNDPROC hook sur WM_CONTEXTMEN, (WM_INITMENU à lui aussi été essayer sans réussites ) qui fonctionne lui a merveille (test avec MessageBox ok quand je clique droit sur un edit quelconque), je récupère le handle du menu, j'y ajoute un item en premier (InsertMenu) et  un  a la fin (ApprendMenu), je remet le menu modifié vers la structure, et renvoi la structure a la chaine de hook, aucun résultat le menu reste inchangé, donc je demande a l'aiiiiiiiiiide lol je béni celui qui me trouve^^
LRESULT CALLBACK msgBack(int nCode, WPARAM wParam, LPARAM lParam) {
    CWPSTRUCT * cwp;
    //char clsname[256];
    HMENU mnu;
    if (nCode == HC_ACTION && wParam == NULL) {
            cwp = (CWPSTRUCT*)lParam;
            if (cwp->message == WM_CONTEXTMENU) { //WM_CONTEXTMENU / WM_INITMENU ?) {
                MessageBoxA(0, "lol", "lol", 0);
                GetClassNameA(cwp->hwnd, clsname, sizeof(clsname));
                if (!stricmp(clsname, "Edit")) {
                    mnu = (HMENU)GetMenu(cwp->hwnd);
                    if (!mnu) MessageBoxA(0, "no mnu", "lol", 0);
                    InsertMenu(mnu, 0, MF_BYPOSITION, 1000, TEXT("item1"));
                    AppendMenu(mnu, MF_SEPARATOR, 0, NULL);
                    AppendMenu(mnu, MF_STRING, 1001,TEXT("About..."));
                    SetMenu(cwp->hwnd, mnu);
                    DrawMenuBar(cwp->hwnd);
                    lParam=(LPARAM)cwp;
                    //TrackPopupMenu(mnu, NULL, 0, 0, cwp->hwnd, NULL);
                    return CallNextHookEx(MsgHook, nCode, wParam, lParam);
                }
            }
    }
    return CallNextHookEx(MsgHook, nCode, wParam, lParam);
}

...

JAPDLL_API bool StartHook() {
    if (!MsgHook) MsgHook = SetWindowsHookEx(WH_CALLWNDPROC, msgBack, hdll, 0);
    if (!MsgHook) return false;
    return true;
}

lundi 26 septembre 2005 à 14:20:34 | Re : menu contextuel étendu ?

neohp

salut clem

je suis a la recherche de qqchose qui se rapproche de ce que tu veux faire : ajouter un item dans n'importe quel menu contextuel associés au clic droit dans les application : euh, mieux formulé : quand on fait un clic droit dans une appli (word, outlook, acrobat, etc ) on y voit un item genre TOTO et associer un action quand on clique sur TOTO.
Bon je sais que c'est completment aléatoire, mais si jamais y'a un bout de code qui permet de faire qqchose.. (il parait que y'a des appli comme sa qui arrivent a se foutre dans les menu de toutes les autres)

si tu as eu des piste, si tu arrive a faire qqchose en rapport avec sa, sa serait super sympa de m'expliquer la marche a suivre.... si c'est possible de faire la chose..


A+


Cette discussion est classée dans : menu, wm, lparam, mnu, cwp


Répondre à ce message

Sujets en rapport avec ce message

Problème menu [ par LordBob ] Bonjour a tous,voila j'ai ecrit le tout début d'un programme... celui ci pour l'instant, ne fait que se ranger dans la systray... j'ai commencé a fair pb avec iwebbrowser2 C++ API Win 32 [ par spyto ] Bonjour,Je tourne en rond, je ne vois pas où ça buggue !!!Voilà, j'ai développé un truc en Win32 pur (j'utilise MSVS.NET C++ 2003)J'ai emprunté une so Dialogue procedure dans une classe [ par bioopovega ] Bonjour,D'abord, je ne sais pas si cela correspond bien au thème, mais je ne sais pas ou le mettre.J'ai un probleme, je crée une boite de dialogue a p TEXTURE OPENGL [ par Batman60 ] SALUTje voudrais afficher des textures bmp sur les faces d'un cube ,un défilement de 10 textures par exemple ,qui s'affichent une par une ,la même sur Le LPARAM de SendMessage: incrémentation [ par sunvi ] Bonjour, Je cherche à envoyer un WM_PARENTNOTIFY à une fenêtre, avec comme WPARAM= WM_LBOTTONDOWN. en regardant sur le site de msdn, j'ai trouvé qu'il Problème avec le lParam de la fonction de hook clavier. [ par HeavenForsaker ] Bonjour, Voici la fonction prise sur MSDN : LRESULT CALLBACK KeyboardProc(    int code,    WPARAM wParam,    LPARAM lParam</ MouseHook [ par mouloudh ] Bonjour, J'ai déjà posé une question sur le sujet: comment récupérer le Hook dans une DialogBox, finalement on m'en a déssuadé, et depuis j'ai un peu [C win32] DialogBox qui ne s'affiche pas [ par FineLizzyX ] Bonjour, Voulant éviter de faire des exécutables de taille énorme, qui se traînent et qu'il faut accompagner de dll énormes elles aussi, je développe Tetris game [ par hindou11 ] Bonjour, je viens de me lancer dans la SDL, mais il se trouve que je plante un peu......je suis entrain de programmer le jeu du tetris mais je m'emb


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales