Образец PROPDLG: демонстрация поддержки страниц свойств

Обновлен: Ноябрь 2007

В образце PROPDLG показана доступная в MFC поддержка для страниц свойств или диалоговых окон с вкладками. В PROPDLG также показано безрежимное окно области.

Образец PROPDLG представляет простую программу для рисования объектов, в которой страницы свойств используются для ввода атрибутов формы и цвета выделенного объекта. Пример программы рисования с более широкими возможностями см. в образце DRAWCLI.

et63ay6a.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск образца PROPDLG

  1. Откройте решение propdlg.sln.

  2. В меню Построение выберите команду Построить.

  3. В меню Отладка выберите пункт Запуск без отладки.

После запуска образца щелкните в любом месте представления, чтобы добавить новую фигуру, которая первоначально представляет собой прямоугольник фиксированного размера. Щелкните в других местах, чтобы добавить дополнительные фигуры. Чтобы выделить фигуру, щелкните ее. В меню Object доступны три типа страниц свойств для обновления атрибутов выделенного объекта. В реальном приложении обычно доступен только один из следующих типов страниц свойств.

  • Простая страница свойств
    Всплывающее диалоговое окно с вкладками Style и Shape. Нажмите кнопку OK, чтобы применить свойства к выделенному объекту и закрыть диалоговое окно. Нажмите кнопку Cancel, чтобы закрыть диалоговое окно, не применяя свойства. В данных примерах кнопки Apply Now и Help всегда недоступны.

  • Страница свойств с функцией просмотра
    Также всплывающее диалоговое окно с двумя вкладками. Для этого диалогового окна существует дочернее окно просмотра. В окне просмотра показано, как будет выглядеть объект, если применить к нему текущие значения со страницы свойств. Это демонстрирует возможность настройки макета для страницы свойств. В этом примере также реализована кнопка Apply Now, которая становится доступной в случае изменения любого свойства.

  • Страница свойств в окне области
    Безрежимное диалоговое окно страницы свойств во фреймах окна области. Свойства в этом безрежимном диалоговом окне всегда отражают параметры выделенного объекта. Изменения значений на странице свойств немедленно применяются к выделенному объекту.

Ключевые слова

В этом образце показаны следующие ключевые слова:

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

et63ay6a.alert_note(ru-ru,VS.90).gifПримечание.

Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи.

См. также

Другие ресурсы

Примеры MFC