PROPDLG 示例:演示属性表支持

更新:2007 年 11 月

PROPDLG 示例阐释对属性表或选项卡式对话框的 MFC 支持。PROPDLG 还阐释一个无模式袖珍框架窗口。

PROPDLG 是一个简单的对象绘制程序,它使用属性表输入当前选定对象的形状和颜色属性。有关功能更丰富的对象绘制程序的示例,请参见 DRAWCLI 示例。

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

生成并运行示例

生成并运行 PROPDLG 示例

  1. 打开解决方案 propdlg.sln。

  2. 在“生成”菜单中单击“生成”。

  3. 在“调试”菜单中,单击“开始执行(不调试)”。

运行此示例时,在视图中的任意位置单击以添加新形状,它最初是一个固定大小的矩形。在其他地方单击以添加更多形状。若要选定一个形状,请单击该形状。“Object”菜单为更新当前选定对象的属性提供了三种类型的属性表。实际的应用程序通常会提供这些属性表中的一种:

  • Simple Property Sheet
    一个包含“Style”和“Shape”选项卡的弹出对话框。单击“确定”对当前选定的对象应用属性并退出对话框。单击“Cancel”退出对话框但不应用属性。“立即应用”和“帮助”按钮在这些说明中始终被禁用。

  • Property Sheet with Preview
    同样是一个包含两个选项卡的弹出对话框。此对话框还包含一个预览子窗口。该预览窗口显示应用属性表中的当前值时对象的外观。这阐释了可以如何自定义属性表的布局。此示例还实现“立即应用”按钮,无论更改任何属性时,都会启用该按钮。

  • Miniframe Property Sheet
    袖珍框架窗口中的无模式属性表对话框。此无模式对话框中的属性总是反映当前选定的对象。属性表中值的更改立即应用到当前选定的对象。

关键字

此示例说明以下关键字:

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++ 向导、库和编译器中所做的更改,但仍演示了如何完成所需的任务。

请参见

其他资源

MFC 示例