ListPrintSetup.cpp
上传用户:ledldq
上传日期:2007-01-04
资源大小:95k
文件大小:3k
源码类别:

打印编程

开发平台:

Visual C++

  1. // ListPrintSetup.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "PrintManager.h"
  5. #include "ListPrintSetup.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CListPrintSetup dialog
  13. CListPrintSetup::CListPrintSetup(CWnd* pParent /*=NULL*/)
  14. : CDialog(CListPrintSetup::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CListPrintSetup)
  17. //}}AFX_DATA_INIT
  18. }
  19. void CListPrintSetup::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CListPrintSetup)
  23. DDX_Control(pDX, IDOK, wndOk);
  24. DDX_Control(pDX, IDCANCEL, wndCancel);
  25. DDX_Control(pDX, IDC_TAB1, wndTab);
  26. DDX_Control(pDX, IDC_BT_PRINTOPT, wndPrintOpt);
  27. //}}AFX_DATA_MAP
  28. }
  29. BEGIN_MESSAGE_MAP(CListPrintSetup, CDialog)
  30. //{{AFX_MSG_MAP(CListPrintSetup)
  31. ON_BN_CLICKED(IDC_BT_PRINTOPT, OnBtPrintopt)
  32. ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CListPrintSetup message handlers
  37. void CListPrintSetup::OnUpdateDialog()
  38. {
  39. dlgSheet1.Update();
  40. dlgSheet2.Update();
  41. }
  42. BOOL CListPrintSetup::OnInitDialog() 
  43. {
  44. CDialog::OnInitDialog();
  45. CRect rc, drc;
  46. wndTab.GetClientRect(rc);
  47. wndOk.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
  48. wndCancel.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
  49. wndPrintOpt.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
  50. dlgSheet1.Create(CListPrintPage1::IDD, &wndTab);
  51. dlgSheet1.GetClientRect(drc);
  52. dlgSheet1.SetWindowPos(0,4,27,drc.Width(),rc.Height()-30,SWP_NOZORDER);
  53. dlgSheet2.Create(CListPrintPage2::IDD, &wndTab);
  54. dlgSheet2.SetWindowPos(0,4,27,drc.Width(),rc.Height()-30,SWP_NOZORDER);
  55. GfxAddTabItem(wndTab, 0, "Headers and Fonts");
  56. GfxAddTabItem(wndTab, 1, "Margins");
  57. dlgSheet1.ShowWindow(SW_SHOW);
  58. GfxSetTabDialog(0, &dlgSheet1);
  59. GfxSetTabDialog(1, &dlgSheet2);
  60. dlgSheet1.UpdateData(FALSE);
  61. dlgSheet2.UpdateData(FALSE);
  62. return TRUE;  // return TRUE unless you set the focus to a control
  63.               // EXCEPTION: OCX Property Pages should return FALSE
  64. }
  65. void CListPrintSetup::OnBtPrintopt() 
  66. {
  67. CPrintDialog pd(TRUE);
  68. AfxGetApp()->DoPrintDialog(&pd);
  69. }
  70. void CListPrintSetup::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
  71. {
  72. int idx = wndTab.GetCurSel();
  73. GfxSwitchTabDialog(idx, iNumDialog);
  74. *pResult = 0;
  75. }
  76. void CListPrintSetup::OnOK() 
  77. {
  78. OnUpdateDialog();
  79. CDialog::OnOK();
  80. }