您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > Visual C++开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

用VC实现小型矢量图形系统的开发
2001-12-05· ·曹勇刚··yesky

上一页  1 2 3 4 5 6  下一页


  1. 基于文档-视图结构的类

  在图1可以看到,本软件是基于多文档界面(MDI)的。由AppWizard选取多文档界面后,它会帮助我们生成基本的基于文档-视图结构的类。本软件使用DrawGraph为应用程序名,故有以下类:CMainFrame,CChildFrame,CDrawGraphApp,CDrawGraphDoc ,CDrawGraphView。


  其中:CDrawGraphApp(以后我用是应用程序类,支持应用程序的建立和基本交互,我们可以不必改它。CChildFrame类是视图文档的容器,除了在显示图标上的定制外,我们也可以不修改它。

  CMainFrame,CDrawGraphDoc ,CDrawGraphView用于分别实现主窗口、文档、视图的功能。

  1). 主窗口(CMainFrame)主要需要定制图标、工具条的建立、显示和交互。下面是类的定义,阴影部分是自己定制的(非AppWizard自动生成)

class CMainFrame : public CMDIFrameWnd

{

 DECLARE_DYNAMIC(CMainFrame)//支持动态建立

 public:

 CMainFrame();

 // Attributes

 public:

  // Operations

 public:

  // Overrides

  // ClassWizard generated virtual function overrides

  //{{AFX_VIRTUAL(CMainFrame)

 public:

  virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

//}}AFX_VIRTUAL

// Implementation

public:

int m_Depth;//立体深度

COLORREF m_fillcolor;//填充色

COLORREF m_pencolor;//边框色

LOGFONT m_font;//字体

int m_penstyle;//线型

UINT m_penwidth;//笔宽

void SaveToReg();//记录退出前的窗口状态

void ReadFromReg();//读取退出前的窗口状态

objecttype GetDrawType();//返回当前选中的绘图工具类别

virtual ~CMainFrame();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

protected: // control bar embedded members
 
 CStatusBar m_wndStatusBar;//状态栏

 CReBar m_wndReBar;//标准栏和属性栏的容器工具条

 CDialogBar m_wndDlgBar;//属性栏

 CToolBar m_wndToolBar;//标准栏

 CToolBar m_wndDrawTool;//绘图工具条

 UINT objtype;//选中工具的ID号

 // Generated message map functions

 protected:

  afx_msg void OnDropDown(NMHDR* pNotifyStruct,LRESULT* result);

  //{{AFX_MSG(CMainFrame)

  afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

  afx_msg void OnShowdrawtool();//显隐工具条

  afx_msg void OnUpdateShowdrawtool(CCmdUI* pCmdUI);

  afx_msg void OnFont();

  afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);

  afx_msg void OnColor();

  afx_msg void OnUpdateColor(CCmdUI* pCmdUI);

  afx_msg void OnFillcolor();

  afx_msg void OnUpdateFillcolor(CCmdUI* pCmdUI);

 //}}AFX_MSG

 afx_msg void OnSelectTool(UINT ID);//选中工具

 afx_msg void OnUpdateButtons(CCmdUI* pCmdUI);//处理按钮按下状态

 afx_msg void onchangedpenwidth();

 DECLARE_MESSAGE_MAP()

};

上一页  1 2 3 4 5 6  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 用VC++实现矢量地图背景下的实时显示
 Visual C++中实现对图像数据的读取显示
 在ComboBox中改变列表框的宽度
 RS-232-C端口实时监控软件的设计实现
 在VC++中读写INI文件
 在VC++下实现高彩色工具条
 用VC自制 “彩票选号器”
 为MFC和ATL控件创建签署的CAB文件
 中关村数据周年庆
 VC编程实现数字图像的边缘检测
 添加系统图象列表到列表控件
 VC编程实现灰度图像与彩色图像的相互转换
 Visual C++6.0开发灰度位图处理
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!