bonjour,
je recherche une aide pour creer un menu qui apparaitrai sous un bouton lorsque je cliquerai dessus. J'essai de regarder du coté des popup menu, mais j'ai un peu de mal pour trouver.
Quelqu'un pourrait il m'aider un peu.
merci
bonjour,
je recherche une aide pour creer un menu qui apparaitrai sous un bouton lorsque je cliquerai dessus. J'essai de regarder du coté des popup menu, mais j'ai un peu de mal pour trouver.
Quelqu'un pourrait il m'aider un peu.
merci
Salut,
ça dépend de ton OS / Appliaction GUI ( Qt, MFC ...)
un exemple sous Windows avec l'API Win32
hWnd est le handle de la window parente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 HMENU hPopupMenu = CreatePopupMenu(); InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_POPUP_MYCOMMAND, "Ma Commande"); SetForegroundWindow(hWnd); TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_LEFTALIGN, xpos, ypos, 0, hWnd);
xpos et ypos sont les coordonnées à l'écran, que tu peux obtenir avec (par exemple pour la souris) :
donc xpos = p.x et ypos = p.y
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 POINT p; GetCursorPos(&p);
merci de ta réponse.
Pour donner plus de détail je suis sous windows vista, je travaille sur QT.
Dans ce cas tu trouveras des réponses dans le forum Qt, par exemple:
http://www.developpez.net/forums/d66...pup-miniscule/
merci pour ton aide.
donc voila ce que j'ai fais.
Dans mon .h j'ai mis :
dans mon cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // pour menu popup QMenu *contextMenu; QAction *dvd; QAction *cd; QAction *divx ;
A la compilation tout se passe bien. Mais lorsque je clic sur mon bouton, ca me met que l'application a cesser de fonctionner et ca ferme l'appli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 void FormPrinc::createMenu() { contextMenu = new QMenu(this); // On cree le menu // Creation des actions (entrées de menu) dvd = new QAction(tr("dvd"), this); dvd->setCheckable(true); cd = new QAction(tr("cd"), this); cd->setCheckable(true); divx = new QAction(tr("divx"), this); divx->setCheckable(true); } void FormPrinc::on_btMultimedia_clicked() { this->addAction(dvd); this->setContextMenuPolicy(Qt::ActionsContextMenu); }
Quelqu'un peut il m'aider ? merci
j'ai fais quelque changement,
mon cpp :
Que dois je mettre dans ma fonction on_btMultimedia_clicked() pour faire apparaitre mon menu ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 void FormPrinc::createMenu() { contextMenu = new QMenu(this); // On cree le menu // Creation des actions (entrées de menu) dvd = new QAction(tr("dvd"), this); dvd->setCheckable(true); cd = new QAction(tr("cd"), this); cd->setCheckable(true); divx = new QAction(tr("divx"), this); divx->setCheckable(true); this->addAction(dvd); this->setContextMenuPolicy(Qt::ActionsContextMenu); } void FormPrinc::on_btMultimedia_clicked() { }
merci
Partager