Compartir a través de


Ejemplo PROPDLG: muestra compatibilidad con la hoja de propiedades

Actualización: noviembre 2007

El ejemplo PROPDLG ilustra la compatibilidad de MFC con hojas de propiedades o cuadros de diálogo con fichas. PROPDLG también ilustra una ventana de marco reducido no modal.

PROPDLG es un programa de dibujo de objetos simples que utiliza hojas de propiedades para la entrada de los atributos de forma y color de un objeto seleccionado actualmente. Si desea ver un ejemplo de programa de dibujo con más características, vea el ejemplo DRAWCLI.

Nota de seguridad:

Este código de ejemplo se proporciona para ilustrar un concepto y no debe utilizarse en aplicaciones o sitios Web, ya que quizás no ilustre las prácticas de codificación más seguras. Microsoft no asume ninguna responsabilidad por daños incidentales o consecuentes en caso de que el código de ejemplo se utilice para propósitos distintos de aquellos para los que se concibió.

Para obtener ejemplos e instrucciones para su instalación:

  • En el menú Ayuda de Visual Studio, haga clic en Ejemplos.

    Para obtener más información, vea Localizar archivos de ejemplo.

  • La lista de ejemplos completa con la versión más reciente está disponible en línea en la página Visual Studio 2008 Samples.

  • También encontrará ejemplos en el disco duro de su equipo. De manera predeterminada, los ejemplos y el archivo Léame se copian en una carpeta bajo \Archivos de programa\Visual Studio 9.0\Samples\. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Generar y ejecutar el ejemplo

Para generar y ejecutar el ejemplo PROPDLG

  1. Abra la solución propdlg.sln.

  2. En el menú Generar, haga clic en Generar.

  3. En el menú Depurar, haga clic en Iniciar sin depurar.

Cuando ejecute el ejemplo, haga clic en cualquier punto de la vista para agregar una forma nueva, que será inicialmente un rectángulo de tamaño fijo. Para agregar otras formas, haga clic en otros puntos. Para seleccionar una forma, haga clic en ella. El menú Object ofrece tres tipos de hojas de propiedades para actualizar los atributos del objeto seleccionado actualmente. Normalmente, una aplicación real sólo ofrece uno de estos tipos de hojas de propiedades:

  • Hoja de propiedades simple
    Un cuadro de diálogo con fichas Style y Shape. Haga clic en Aceptar para aplicar las propiedades al objeto seleccionado actualmente y salir del cuadro de diálogo. Haga clic en Cancel para salir del cuadro de diálogo sin aplicar las propiedades. Los botones Apply Now y Help estarán siempre deshabilitados en estos ejemplos.

  • Hoja de propiedades con vista previa
    También muestra un cuadro de diálogo emergente con dos fichas. Este cuadro de diálogo también tiene una ventana secundaria de vista previa. La ventana de vista previa muestra el aspecto que tendría el objeto si se aplicaran los valores actuales de la hoja de propiedades. Esto ilustra la forma de personalizar el diseño de una hoja de propiedades. En este ejemplo también se implementa el botón Apply Now, que se habilitará siempre que se cambie el valor de una propiedad.

  • Hoja de propiedades de marco reducido
    Un cuadro de diálogo no modal de hoja de propiedades que está dentro de una ventana de marco recudido. Las propiedades de este cuadro de diálogo no modal siempre corresponderán al objeto seleccionado actualmente. Los cambios realizados a los valores de la hoja de propiedades se aplicarán inmediatamente al objeto seleccionado actualmente.

Palabras clave

En este ejemplo, se muestra el uso de las siguientes palabras clave:

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

Nota:

Algunos ejemplos, como éste, no se han modificado para reflejar los cambios en los asistentes, las bibliotecas y el compilador de Visual C++, pero, aun así, muestran cómo realizar la tarea deseada.

Vea también

Otros recursos

Ejemplos de MFC