2009-09-25 6 views
0

J'ai un UserControl avec quelques boutons dessus. Je veux remplacer OnPaint et peindre d'autres choses sur le contrôle.UserControl OnPaint a toujours clipRect de {0,0,0,0}

Je remplace donc OnPaint.

Chaque fois que OnPaint est appelé, le ClipRectangle est toujours {0,0,0,0} et rien de ce que je fais n'est dessiné sur le contrôle.

Qu'est-ce que je fais mal?

+0

Pouvez-vous montrer le code que vous avez écrit? Et peut-être expliquer un peu ce que vous essayez de faire. – danish

Répondre

1

Ok, je l'ai analysé maintenant. C'est un peu bête. J'ai eu un TableLayoutPanel qui a été ancré au contrôle. Cela semble découper tous les domaines sur lesquels nous pouvons peindre.

J'ai créé un nouveau contrôle dérivé de TableLayoutPanel et utilisé à la place ce contrôle. Son OnPaint obtient le clip complet rect.

Cependant, ce n'était pas utile de toute façon ... Il semble que j'ai mal compris comment fonctionne la peinture Windows. Je pensais que je serais capable de peindre directement sur le dessus de mes commandes, mais ce n'est pas le cas. Les contrôles sont placés sur ma peinture.

va devoir déconner avec des panneaux pour obtenir ce travail, je pense ..