友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

深入浅出MFC第2版(PDF格式)-第222章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




#0307          // the document and a horizontal line 

#0308          pDC…》SetTextAlign(TA_LEFT); 

#0309          pDC…》TextOut(0;…25; strHeader);  // 1/4 inch down 

#0310 

#0311          // Draw a line across the page; below the header 

#0312          TEXTMETRIC textMetric; 

#0313          pDC…》GetTextMetrics(&textMetric); 

#0314          int y = …35 textMetric。tmHeight;        // line 1/10th inch below text 

#0315          pDC…》MoveTo(0; y);                        // from left margin 

#0316          pDC…》LineTo(pInfo…》m_rectDraw。right; y);    // to right margin 

#0317 

#0318          // Subtract out from the drawing rectange the space used by the header。 

#0319          y …= 25;    // space 1/4 inch below (top of) line 

#0320          pInfo…》m_rectDraw。top += y; 

#0321  } 



PENDLG。H 



#0001  class CPenWidthsDlg : public CDialog 

#0002  { 

#0003  // Construction 

#0004  public: 

#0005          CPenWidthsDlg(CWnd* pParent = NULL);   // standard constructor 

#0006 

#0007  // Dialog Data 

#0008          //{{AFX_DATA(CPenWidthsDlg) 

#0009          enum { IDD = IDD_PEN_WIDTHS }; 

#0010          int             m_nThinWidth; 

#0011          int             m_nThickWidth; 

#0012          //}}AFX_DATA 

#0013 

#0014 

#0015  // Overrides 

#0016          // ClassWizard generated virtual function overrides 

#0017          //{{AFX_VIRTUAL(CPenWidthsDlg) 

#0018          protected: 

#0019          virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support 

#0020          //}}AFX_VIRTUAL 

#0021 

#0022  // Implementation 

#0023  protected: 

#0024 

#0025          // Generated message map functions 

#0026          //{{AFX_MSG(CPenWidthsDlg) 

#0027          afx_msg void OnDefaultPenWidths(); 



                                                                                     901 


…………………………………………………………Page 964……………………………………………………………

                   第五篇    附錄  



                   #0028          //}}AFX_MSG 

                   #0029          DECLARE_MESSAGE_MAP() 

                   #0030  }; 



                   PENDLG。CPP 



                   #0001  #include 〃stdafx。h〃 

                   #0002  #include 〃Scribble。h〃 

                   #0003  #include 〃PenDlg。h〃 

                   #0004 

                   #0005  #ifdef _DEBUG 

                   #0006  #undef THIS_FILE 

                   #0007  static char THIS_FILE'' = __FILE__; 

                   #0008  #endif 

                   #0009 

                   #0010  ///////////////////////////////////////////////////////////////// 

                   #0011  // CPenWidthsDlg dialog 

                   #0012 

                   #0013 

                   #0014  CPenWidthsDlg::CPenWidthsDlg(CWnd* pParent /*=NULL*/) 

                   #0015          : CDialog(CPenWidthsDlg::IDD; pParent) 

                   #0016  { 

                   #0017          //{{AFX_DATA_INIT(CPenWidthsDlg) 

                   #0018          m_nThinWidth = 0; 

                   #0019          m_nThickWidth = 0; 

                   #0020          //}}AFX_DATA_INIT 

                   #0021  } 

                   #0022 

                   #0023 

                   #0024  void CPenWidthsDlg::DoDataExchange(CDataExchange* pDX) 

                   #0025  { 

                   #0026          CDialog::DoDataExchange(pDX); 

                   #0027          //{{AFX_DATA_MAP(CPenWidthsDlg) 

                   #0028          DDX_Text(pDX; IDC_THIN_PEN_WIDTH; m_nThinWidth); 

                   #0029          DDV_MinMaxInt(pDX; m_nThinWidth; 1; 20); 

                   #0030          DDX_Text(pDX; IDC_THICK_PEN_WIDTH; m_nThickWidth); 

                   #0031          DDV_MinMaxInt(pDX; m_nThickWidth; 1; 20); 

                   #0032          //}}AFX_DATA_MAP 

                   #0033  } 

                   #0034 

                   #0035 

                   #0036  BEGIN_MESSAGE_MAP(CPenWidthsDlg; CDialog) 

                   #0037          //{{AFX_MSG_MAP(CPenWidthsDlg) 

                   #0038          ON_BN_CLICKED(IDC_DEFAULT_PEN_WIDTHS; OnDefaultPenWidths) 

                   #0039          //}}AFX_MSG_MAP 

                   #0040  END_MESSAGE_MAP() 



902 


…………………………………………………………Page 965……………………………………………………………

                                                   附錄B    Scribble Step5  完整原始碼 



#0041 

#0042  //////////////////////////////////////////////////////////////// 

#0043  // CPenWidthsDlg message handlers 

#0044 

#0045  void CPenWidthsDlg::OnDefaultPenWidths() 

#0046  { 

#0047          m_nThinWidth = 2; 

#0048          m_nThickWidth = 5; 

#0049          UpdateData(FALSE);  // causes DoDataExchange() 

#0050                  // bSave=FALSE means don't save from screen; 

#0051                  // rather; write to screen 

#0052  } 



STDAFX。H 



#0001  #include          // MFC core and standard ponents 

#0002  #include          // MFC extensions 

#0003  #include        // MFC templates 

#0004 

#0005  #ifndef _AFX_NO_AFXCMN_SUPPORT 

#0006  #include       // MFC support for Windows 95 mon Controls 

#0007  #endif // _AFX_NO_AFXCMN_SUPPORT 



STDAFX。CPP 



#0001  #include 〃stdafx。h〃 



RESOURCE。H 



#0001  //{{NO_DEPENDENCIES}} 

#0002  // Microsoft Visual C++ generated include file。 

#0003  // Used by SCRIBBLE。RC 

#0004  // 

#0005  #define IDD_ABOUTBOX                    100 

#0006  #define IDR_MAINFRAME                   128 

#0007  #define IDR_SCRIBBTYPE                  129 

#0008  #define IDD_PEN_WIDTHS                  131 

#0009  #define IDC_THIN_PEN_WIDTH              1000 

#0010  #define IDC_THICK_PEN_WIDTH             1001 

#0011  #define IDC_DEFAULT_PEN_WIDTHS          1002 

#0012  #define ID_PEN_THICK_OR_THIN            32772 

#0013  #define ID_PEN_WIDTHS                   32773 

#0014 

#0015  // Next default values for new objects 

#0016  // 



                                                                                     903 


…………………………………………………………Page 966……………………………………………………………

                   第五篇    附錄  



                   #0017  #ifdef APSTUDIO_INVOKED 

                   #0018  #ifndef APSTUDIO_READONLY_SYMBOLS 

                   #0019  #define _APS_3D_CONTROLS                1 

                   #0020  #define _APS_NEXT_RESOURCE_VALUE        132 

                   #0021  #define _APS_NEXT_MAND_VALUE         32774 

                   #0022  #define _APS_NEXT_CONTROL_VALUE         1003 

                   #0023  #define _APS_NEXT_SYMED_VALUE           101 

                   #0024  #endif 

                   #0025  #endif 



                   SCRIBBLE。RC 



                   #0001  //Microsoft Developer Studio generated resource script。 

                   #0002  // 

                   #0003  #include 〃resource。h〃 

                   #0004 

                   #0005  #define APSTUDIO_READONLY_SYMBOLS 

                   #0006  ///////////////////////////////////////////////////////////////// 

                   #0007  // 

                   #0008  // Generated from the TEXTINCLUDE 2 resource。 

                   #0009  // 

                   #0010  #include 〃afxres。h〃 

                   #0011 

                   #0012  ///////////////////////////////////////////////////////////////// 

                   #0013  #undef APSTUDIO_READONLY_SYMBOLS 

                   #0014 

                   #0015  ///////////////////////////////////////////////////////////////// 

                   #0016  // English (U。S。) resources 

                   #0017 

                   #0018  #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 

                   #0019  #ifdef _WIN32 

                   #0020  LANGUAGE LANG_ENGLISH; SUBLANG_ENGLISH_US 

                   #0021  #pragma code_page(1252) 

            
返回目录 上一页 下一页 回到顶部 0 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!