Образец PROPDLG: демонстрация поддержки страниц свойств
Обновлен: Ноябрь 2007
В образце PROPDLG показана доступная в MFC поддержка для страниц свойств или диалоговых окон с вкладками. В PROPDLG также показано безрежимное окно области.
Образец PROPDLG представляет простую программу для рисования объектов, в которой страницы свойств используются для ввода атрибутов формы и цвета выделенного объекта. Пример программы рисования с более широкими возможностями см. в образце DRAWCLI.
Примечание о безопасности. |
---|
Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
В меню Справка среды Visual Studio выберите пункт Примеры.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.
Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.
Построение и запуск образца
Построение и запуск образца PROPDLG
Откройте решение propdlg.sln.
В меню Построение выберите команду Построить.
В меню Отладка выберите пункт Запуск без отладки.
После запуска образца щелкните в любом месте представления, чтобы добавить новую фигуру, которая первоначально представляет собой прямоугольник фиксированного размера. Щелкните в других местах, чтобы добавить дополнительные фигуры. Чтобы выделить фигуру, щелкните ее. В меню 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
Примечание. |
---|
Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи. |