Ceci est un peu spécifique à C#. Le comportement par défaut d'une boîte de dialogue redimensionnable est qu'un clic de barre de titre maximise la boîte de dialogue et un second double clic restaure la taille. Cependant, ce que je veux, c'est que le bouton d'aide soit activé, ce qui signifie que les boutons minimiser et maximiser sont masqués, mais j'aimerais quand même que la barre de titre double le comportement du double clic. Cela pourrait être réalisable avec quelques sous-classes, mais peut-être que quelqu'un a de bonnes idées à ce sujet.Autoriser une barre de titre double-cliquer pour agrandir une boîte de dialogue mais sans les boutons max-min
1
A
Répondre
2
private const int WM_NCLBUTTONDBLCLK = 0xA3;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCLBUTTONDBLCLK:
if (this.WindowState==System.Windows.Forms.FormWindowState.Maximized)
this.WindowState=System.Windows.Forms.FormWindowState.Normal;
else if (this.WindowState == System.Windows.Forms.FormWindowState.Normal)
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
return;
}
base.WndProc(ref m);
}
2
Vous devriez pouvoir gérer le WM_NCHITTEST et rechercher HT_CAPTION, voir WM_NCHITTEST message pour plus de détails.
Vous devrez remplacer le WndProc pour pouvoir traiter ces messages, ceci est illustré dans Control.WndProc Method.
0
private const int WM_NCHITTEST = 0x0084;
// Let Windows drag this form for us
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_NCHITTEST:
m.Result = (IntPtr)2; // HTCLIENT
return;
}
base.WndProc(ref m);
}
Questions connexes
- 1. Masquer les boutons de la barre de titre à Cocoa
- 2. Comment agrandir les boutons d'une barre d'outils wx?
- 3. Android - affiche une barre de progression indéterminée sans la boîte de dialogue
- 4. Boîte de dialogue jQuery UI - impossible de supprimer les boutons
- 5. Masquage de la boîte de dialogue au démarrage pour une application de la barre d'état système
- 6. CMFCRebar dans une boîte de dialogue
- 7. Boîte de dialogue Qt sans icône de fenêtre (menu système)
- 8. Définir le titre de la boîte de dialogue de confirmation
- 9. Comment inclure l'aide '?' dans la barre de titre de winform
- 10. Désactiver des boutons individuels dans une barre de boutons
- 11. Vous devez enregistrer une boîte de dialogue?
- 12. Retour à une boîte de dialogue spécifique
- 13. Les commandes d'étalement pour remplir l'espace comme une boîte de dialogue se redimensionne
- 14. Ajouter une classe aux boutons de la boîte de dialogue jquery
- 15. Actualiser UpdatePanel après une boîte de dialogue "File Download" Boîte
- 16. Une bonne boîte de dialogue "À propos"
- 17. dojo - comment autoriser un module à ouvrir une boîte de dialogue
- 18. WIX/DTF - Boîte de dialogue avec une liste, un champ d'édition et des boutons d'ajout/suppression
- 19. Cloner des boutons de dialogue jqueryui en haut de la boîte de dialogue
- 20. Comment soumettre une boîte de dialogue jQuery en utilisant des boutons avec des valeurs différentes
- 21. Comment imprimer une boîte de dialogue ou une fenêtre Qt?
- 22. Appeler une boîte de dialogue modale JNI désactive l'icône de la barre des tâches
- 23. Boîte de dialogue modale
- 24. Comment simuler une boîte de dialogue modale depuis une applet?
- 25. Comment puis-je implémenter une boîte de dialogue de confirmation pour une action critique?
- 26. Agrandir une MDIChild d'une autre application VB.NET
- 27. Boîte de dialogue de rappel de suppression
- 28. QT4 Glisser la fenêtre sans barre de titre
- 29. Afficher ou masquer une barre de titre à la demande
- 30. Vous essayez de redimensionner une boîte de dialogue jQuery dans IE6?
Merci, qui a aidé, sauf qu'il avait besoin d'être remplacé par WM_NCLBUTTONDBLCLK –
qui est en supposant bien sûr que votre utilisateur n'a pas changé les boutons ... Je ne suis pas sûr si le système d'exploitation serait alors voir un clic droit, mais postez le message WM_NCLBUTTONDBLCLK. –