2010-08-03 7 views
0

Créez une application SDI qui incorpore l'objet suivant hiérarchie . CVeiw < - (classe dérivée de CWnd)Dessiner sur un canevas enfant

• La classe CWnd doit répondre à toutes les notifications de taille et de redimensionner en conséquence. Il devrait maximiser lui-même pour utiliser toute la zone client. • La classe devrait être capable de supporter les interfaces suivantes. • ShowRectangle() - Un rectangle doit être dessiné à l'intérieur de la zone cliente. • ShowCircle() - Le premier paramètre étant une structure qui définit la dimension et la couleur du cercle. • Effacer tout - Efface le canevas. • Les méthodes ci-dessus dans la classe doit être invoquée lorsque l'utilisateur choisit Dessine -> Cercle, Dessin -> Rectangle, Draw -> Effacer dans le menu (menu doit être généré dynamiquement)

J'ai mis en œuvre le. class Dérivé de CWnd et d'une fenêtre en tant qu'enfant de CVeiw et ajout d'un menu dynamique et de leur choix dans le fichier Mainfrm.cpp.

Maintenant, mon problème est, comment dessiner sur la toile de la fenêtre enfant lorsque les événements sont traités à l'intérieur du Mainfrm.cpp ??

Répondre

0

Vous pouvez également utiliser la classe d'affichage en tant que cible pour les événements de menu. Déplacez les gestionnaires hors de la classe d'application et dans la vue.

+0

vous pouvez vérifier mon code source http://hotfile.com/dl/59489401/c9b5da6/SDIApplication.zip.html – jagad89

+0

Lors de l'archivage de vos projets, vous pouvez supprimer le débogage et les dossiers Release, ce qui vous rend dépose une beaucoup plus petit! – dwo

+0

Pourquoi la classe CChild - vous n'avez pas besoin de créer une fenêtre pour dessiner quelque chose, vous avez déjà la classe de vue à dessiner. – dwo

Questions connexes