2010-10-09 6 views
0

Quelle est la manière correcte de sous-classer un contrôle de tabulation dans winAPI, ayant des fenêtres exécutant à la fois le dessin par défaut et le vôtre. Parce que BeginPaint() et EndPaint() appellent dans le proc par défaut, je ne vois pas un moyen de le faire. J'ai réussi à le faire fonctionner avec GetDC(), mais il y avait des bugs qui m'ont énervé.Contrôle de tabulation de sous-classe

Si ce que je demande est impossible, quelle est la meilleure façon de dessiner les onglets par moi-même?

Répondre

1

Le sous-classement n'est pas requis dans votre situation. Le contrôle de tabulation prend en charge le bit de style TCS_OWNERDRAWFIXED, ce qui permet à sa fenêtre parente de gérer les messages WM_DRAWITEM et de dessiner les onglets lui-même.

Il y a a nice exemple sur Codeguru. Il utilise MFC mais ne vous laissez pas arrêter. Découvrez leur méthode CTabCtrlEx::DrawItem().

+0

C'est l'inverse de ce que je veux. J'ai besoin de dessiner l'arrière-plan moi-même, et laisser Windows faire les onglets. –

+0

Désolé, ce n'était pas clair dans votre question (surtout la dernière ligne). Avez-vous essayé de gérer [WM_ERASEBKGND] (http://msdn.microsoft.com/en-us/library/ms648055%28VS.85%29.aspx) alors? –

Questions connexes