Partager via


PROPDLG, exemple : illustre la prise en charge d'une feuille de propriétés

Mise à jour : novembre 2007

L'exemple PROPDLG illustre la prise en charge MFC des feuilles de propriétés ou des boîtes de dialogue avec onglet. PROPDLG illustre également une fenêtre mini-frame non modale.

PROPDLG est un programme simple de dessin d'objets, qui utilise les feuilles de propriétés pour entrer les attributs de forme et de couleur d'un objet actuellement sélectionné. Pour obtenir un exemple de programme plus complet de dessin d'objets, consultez l'exemple DRAWCLI.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page Visual Studio 2008 Samples.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Des exemples et un fichier Readme sont copiés par défaut dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont accessibles en ligne.

Génération et exécution de l'exemple

Pour générer et exécuter l'exemple PROPDLG

  1. Ouvrez la solution propdlg.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Dans le menu Déboguer, cliquez sur Exécuter sans débogage.

Lorsque vous exécutez l'exemple, cliquez n'importe où dans la vue pour ajouter une nouvelle forme ; celle-ci est initialement un rectangle de taille fixe. Cliquez à un autre emplacement pour ajouter d'autres formes. Pour sélectionner une forme, cliquez sur celle-ci. Le menu Object propose trois types de feuilles de propriétés pour la mise à jour des attributs de l'objet actuellement sélectionné. Une application réelle n'offre généralement qu'un seul de ces types de feuilles de propriétés :

  • Feuille de propriétés simple
    Il s'agit d'une boîte de dialogue contextuelle comportant les onglets Style et Color. Cliquez sur OK pour appliquer les propriétés à l'objet actuellement sélectionné et quitter la boîte de dialogue. Cliquez sur Annuler pour quitter la boîte de dialogue sans appliquer les propriétés. Les boutons Appliquer maintenant et Aide sont toujours désactivés dans ces illustrations.

  • Feuille de propriétés avec aperçu
    Il s'agit également d'une boîte de dialogue contextuelle comportant deux onglets. En outre, cette boîte de dialogue comporte aussi une fenêtre d'aperçu enfant. La fenêtre d'aperçu montre quelle serait l'apparence de l'objet si les valeurs en cours de la feuille de propriétés étaient appliquées. Cela vous montre comment personnaliser la disposition d'une feuille de propriétés. Cet exemple implémente également le bouton Appliquer, qui est activé chaque fois que vous modifiez une propriété.

  • Feuille de propriétés mini-frame
    Il s'agit d'une boîte de dialogue de feuille de propriétés modale comprise dans une fenêtre mini-frame. Les propriétés de cette boîte de dialogue non modale reflètent toujours l'objet actuellement sélectionné. Les modifications des valeurs contenues dans la feuille de propriétés sont immédiatement appliquées à l'objet actuellement sélectionné.

Mots clés

Cet exemple illustre l'utilisation des mots clés suivants :

AfxGetMainWnd; CCmdUI::Enable; CDC::GetClipBox; CDialog::DoModal; CDocument::OnNewDocument; CDocument::SetModifiedFlag; CDocument::UpdateAllViews; CFrameWnd::Create; CFrameWnd::GetActiveFrame; CFrameWnd::GetActiveView; CFrameWnd::LoadFrame; CMDIFrameWnd::MDIGetActive; CObject::AssertValid; CObject::Dump; CObject::Serialize; CPen::CreatePen; CRect::Height; CRect::IntersectRect; CRect::IsRectNull; CRect::PtInRect; CRect::Width; CStatusBar::Create; CStatusBar::SetIndicators; CString::LoadString; CToolBar::Create; CToolBar::LoadBitmap; CToolBar::SetButtons; CView::DoPreparePrinting; CView::GetDocument; CView::OnBeginPrinting; CView::OnDraw; CView::OnEndPrinting; CView::OnPreparePrinting; CWinApp::AddDocTemplate; CWinApp::EnableShellOpen; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::RegisterShellFileTypes; CWnd::CenterWindow; CWnd::Create; CWnd::DoDataExchange; CWnd::FromHandle; CWnd::GetClientRect; CWnd::GetParent; CWnd::InvalidateRect; CWnd::IsWindowVisible; CWnd::OnCreate; CWnd::OnEraseBkgnd; CWnd::OnKeyDown; CWnd::OnLButtonDblClk; CWnd::OnLButtonDown; CWnd::OnPaint; CWnd::SendMessage; CWnd::ShowWindow; CWnd::UpdateWindow; DragAcceptFiles; Ellipse; FillRect; GetParent; GetWindowRect; RGB; Rectangle; RoundRect; SelectObject; SendMessage; SetFocus; SetWindowPos; UpdateWindow

Remarque :

Certains exemples, tels que celui-ci, n'ont pas été modifiés pour refléter les changements apportés aux Assistants, aux bibliothèques et au compilateur Visual C++, mais ils illustrent bien l'exécution de la tâche souhaitée.

Voir aussi

Autres ressources

Exemples MFC