Bonjour,

je suis sous Windows 7 x64 et j'utilise PySide avec Python 3.

Par curiosité j'ai cherché à mettre en pratique la technique employée ici http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx qui permet d'enlever la zone non cliente d'une fenêtre sous Windows tout en conservant les boutons de la barre de titre.

J'ai donc cherché à intercepter les messages de la sorte

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
 
from PySide.QtGui import QApplication, QWidget
 
class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
 
    def winEvent(self, msg, result):
        print(msg)
        return QWidget.winEvent(self, msg, result)
 
if __name__ == '__main__':
    app = QApplication([])
    win = Window()
    win.show()
    app.exec_()
mais je n'ai pas trouvé quoi que ce soit de très utile.

Le but final et de pouvoir implémenter ce fameux DwmDefWindowProc qui permet d'avoir les boutons de la barre de titre fonctionnels tout en ayant la possibilité de dessiner sur la totalité de la fenêtre (barre de titre inclue) un peu comme le font Chrome et Firefox.

Je sais également qu'il est possible d'intercepter les évènements de l'application au niveau de la QApplication mais j'aimerai éviter de ralentir le tout en faisant un hook depuis Python.

Si quelqu'un a une piste je suis preneur.

PS: Je sais que ce genre de technique n'est absolument pas portable mais c'est juste pour savoir si c'est possible.