Artifact
23808e4333aa564aea827f27a94f15a36b3883f1:
0000: 2f 2a 0d 0a 70 72 6f 70 70 61 67 65 2e 68 70 70 /*..proppage.hpp
0010: 0d 0a ca eb e0 f1 f1 20 e4 eb ff 20 f1 ee e7 e4 ....... ... ....
0020: e0 ed e8 ff 20 f1 f2 f0 e0 ed e8 f6 fb 20 f1 e2 .... ........ ..
0030: ee e9 f1 f2 e2 20 c2 ca 2c 20 e7 e0 e3 f0 f3 e6 ..... .., ......
0040: e0 e5 ec ee e9 20 ed e5 20 ef ee 20 f1 f2 e0 ed ..... .. .. ....
0050: e4 e0 f0 f2 f3 2e 0d 0a c8 f1 ef ee eb fc e7 ee ................
0060: e2 e0 ed e8 e5 3a 0d 0a 20 31 2e 20 c2 20 f0 e5 .....:.. 1. . ..
0070: e4 e0 ea f2 ee f0 e5 20 f0 e5 f1 f3 f0 f1 ee e2 ....... ........
0080: 20 f1 ee e7 e4 e0 e9 f2 e5 20 e4 e8 e0 eb ee e3 ........ ......
0090: 2e 0d 0a 09 53 74 79 6c 65 20 2d 20 63 68 69 6c ....Style - chil
00a0: 64 0d 0a 09 42 6f 72 64 65 72 20 2d 20 6e 6f 6e d...Border - non
00b0: 65 0d 0a 09 56 69 73 69 62 6c 65 20 2d 20 66 61 e...Visible - fa
00c0: 6c 73 65 0d 0a 20 32 2e 20 c7 e0 ef f3 f1 f2 e8 lse.. 2. .......
00d0: f2 e5 20 43 6c 61 73 73 57 69 7a 61 72 64 2c 20 .. ClassWizard,
00e0: e2 fb e1 e5 f0 e8 f2 e5 20 22 f1 ee e7 e4 e0 f2 ........ "......
00f0: fc 20 ed ee e2 fb e9 20 ea eb e0 f1 f1 22 20 e4 . ..... ....." .
0100: eb ff 20 e4 e8 e0 eb ee e3 e0 0d 0a 20 33 2e 20 .. ......... 3.
0110: c2 20 f1 ee e7 e4 e0 ed ed ee ec 20 ea eb e0 f1 . ......... ....
0120: f1 e5 20 f0 e5 e0 eb e8 e7 f3 e9 f2 e5 20 f4 f3 .. .......... ..
0130: ed ea f6 e8 e8 3a 0d 0a 09 42 4f 4f 4c 20 49 73 .....:...BOOL Is
0140: 44 69 72 74 79 28 29 3b 20 2f 2f 20 c4 ee eb e6 Dirty(); // ....
0150: ed e0 20 e2 ee e7 e2 f0 e0 f9 e0 f2 fc 20 54 52 .. .......... TR
0160: 55 45 2c 20 e5 f1 eb e8 20 f1 e2 ee e9 f1 f2 e2 UE, .... .......
0170: e0 20 e8 e7 ec e5 ed e5 ed fb 0d 0a 09 42 4f 4f . ...........BOO
0180: 4c 20 4f 6e 41 70 70 6c 79 28 29 3b 20 2f 2f 20 L OnApply(); //
0190: c2 fb e7 fb e2 e0 e5 f2 f1 ff 20 ef f0 e8 20 ed .......... ... .
01a0: e0 e6 e0 f2 e8 e8 20 41 70 70 6c 79 20 e8 eb e8 ...... Apply ...
01b0: 20 4f 6b 2e 20 c4 ee eb e6 ed e0 20 e2 e5 f0 ed Ok. ...... ....
01c0: f3 f2 fc 20 54 52 55 45 2c 20 e5 f1 eb e8 20 f1 ... TRUE, .... .
01d0: e2 ee e9 f1 f2 e2 e0 20 f1 ee f5 f0 e0 ed e5 ed ....... ........
01e0: fb 0d 0a 09 73 74 61 74 69 63 20 4c 50 43 53 54 ....static LPCST
01f0: 52 20 47 65 74 54 69 74 6c 65 28 29 7b 72 65 74 R GetTitle(){ret
0200: 75 72 6e 20 22 c7 e0 e3 ee eb ee e2 ee ea 20 e2 urn "......... .
0210: ea eb e0 e4 ea e8 22 3b 7d 0d 0a 20 34 2e 20 cf ......";}.. 4. .
0220: f0 e8 20 e7 e0 e3 f0 f3 e7 ea e5 20 ea ee ec ef .. ........ ....
0230: ee ed e5 ed f2 fb 20 e2 fb e7 ee e2 e8 f2 e5 20 ...... ........
0240: f4 f3 ed ea f6 e8 fe 20 43 50 72 6f 70 50 61 67 ....... CPropPag
0250: 65 43 72 65 61 74 6f 72 3c c2 e0 f8 ca eb e0 f1 eCreator<.......
0260: f1 c4 e8 e0 eb ee e3 e0 3e 3a 3a 49 6e 69 74 28 ........>::Init(
0270: 29 0d 0a 0d 0a 20 20 cf f0 e8 20 f0 e0 e1 ee f2 ).... ... .....
0280: e5 20 f1 f2 f0 e0 ed e8 f6 fb 20 f1 e2 ee e9 f1 . ........ .....
0290: f2 e2 2c 20 ef f0 e8 20 e8 e7 ec e5 ed e5 ed e8 .., ... ........
02a0: e8 20 f1 e2 ee e9 f1 f2 e2 20 e4 eb ff 20 e0 ea . ....... ... ..
02b0: f2 e8 e2 e0 f6 e8 e8 20 ea ed ee ef ea e8 20 22 ....... ...... "
02c0: cf f0 e8 ec e5 ed e8 f2 fc 22 2c 0d 0a 20 20 e2 .........",.. .
02d0: fb e7 ee e2 e8 f2 e5 20 f4 f3 ed ea f6 e8 fe 20 ....... .......
02e0: 09 43 50 72 6f 70 50 61 67 65 43 72 65 61 74 6f .CPropPageCreato
02f0: 72 3c c2 e0 f8 ca eb e0 f1 f1 c4 e8 e0 eb ee e3 r<..............
0300: e0 3e 3a 3a 4d 61 6b 65 44 69 72 74 79 28 29 3b .>::MakeDirty();
0310: 0d 0a 2a 2f 0d 0a 0d 0a 23 70 72 61 67 6d 61 20 ..*/....#pragma
0320: 6f 6e 63 65 0d 0a 0d 0a 23 69 6e 63 6c 75 64 65 once....#include
0330: 20 22 74 72 61 70 73 2e 68 70 70 22 0d 0a 0d 0a "traps.hpp"....
0340: 74 65 6d 70 6c 61 74 65 3c 74 79 70 65 6e 61 6d template<typenam
0350: 65 20 54 3e 0d 0a 63 6c 61 73 73 20 43 50 72 6f e T>..class CPro
0360: 70 50 61 67 65 43 72 65 61 74 6f 72 0d 0a 7b 0d pPageCreator..{.
0370: 0a 70 75 62 6c 69 63 3a 0d 0a 0d 0a 09 2f 2f 20 .public:.....//
0380: d2 f3 f2 20 e1 f3 e4 e5 f2 20 f5 f0 e0 ed e8 f2 ... ..... ......
0390: f1 ff 20 f3 ea e0 e7 e0 f2 e5 eb fc 20 ed e0 20 .. ......... ..
03a0: 43 4f 6c 65 50 72 6f 70 65 72 74 79 50 61 67 65 COlePropertyPage
03b0: 53 69 74 65 0d 0a 09 73 74 61 74 69 63 20 43 4f Site...static CO
03c0: 6c 65 50 72 6f 70 65 72 74 79 50 61 67 65 53 69 lePropertyPageSi
03d0: 74 65 2a 26 20 47 65 74 50 61 67 65 53 69 74 65 te*& GetPageSite
03e0: 28 29 7b 73 74 61 74 69 63 20 43 4f 6c 65 50 72 (){static COlePr
03f0: 6f 70 65 72 74 79 50 61 67 65 53 69 74 65 2a 20 opertyPageSite*
0400: 70 53 69 74 65 3b 72 65 74 75 72 6e 20 70 53 69 pSite;return pSi
0410: 74 65 3b 7d 0d 0a 09 0d 0a 09 73 74 61 74 69 63 te;}......static
0420: 20 76 6f 69 64 20 4d 61 6b 65 44 69 72 74 79 28 void MakeDirty(
0430: 29 0d 0a 09 7b 0d 0a 09 09 69 66 28 43 4f 6c 65 )...{....if(COle
0440: 50 72 6f 70 65 72 74 79 50 61 67 65 53 69 74 65 PropertyPageSite
0450: 2a 20 70 53 69 74 65 3d 47 65 74 50 61 67 65 53 * pSite=GetPageS
0460: 69 74 65 28 29 29 0d 0a 09 09 09 70 53 69 74 65 ite()).....pSite
0470: 2d 3e 6d 5f 70 61 67 65 53 69 74 65 2e 4f 6e 53 ->m_pageSite.OnS
0480: 74 61 74 75 73 43 68 61 6e 67 65 28 50 52 4f 50 tatusChange(PROP
0490: 50 41 47 45 53 54 41 54 55 53 5f 44 49 52 54 59 PAGESTATUS_DIRTY
04a0: 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 63 6c 61 73 73 );...}.....class
04b0: 20 43 50 72 6f 70 50 61 67 65 44 6f 63 0d 0a 09 CPropPageDoc...
04c0: 7b 0d 0a 09 70 75 62 6c 69 63 3a 0d 0a 09 09 54 {...public:....T
04d0: 2a 20 6d 5f 70 44 6c 67 3b 0d 0a 09 09 44 57 4f * m_pDlg;....DWO
04e0: 52 44 20 6d 5f 62 75 66 5b 31 30 5d 3b 0d 0a 0d RD m_buf[10];...
04f0: 0a 09 09 43 50 72 6f 70 50 61 67 65 44 6f 63 28 ...CPropPageDoc(
0500: 29 20 3a 20 6d 5f 70 44 6c 67 28 4e 55 4c 4c 29 ) : m_pDlg(NULL)
0510: 0d 0a 09 09 7b 0d 0a 09 09 09 6d 65 6d 73 65 74 ....{.....memset
0520: 28 6d 5f 62 75 66 2c 20 30 2c 20 73 69 7a 65 6f (m_buf, 0, sizeo
0530: 66 28 6d 5f 62 75 66 29 29 3b 0d 0a 09 09 7d 0d f(m_buf));....}.
0540: 0a 0d 0a 09 09 76 6f 69 64 20 6f 70 65 72 61 74 .....void operat
0550: 6f 72 20 3d 20 28 63 6c 61 73 73 20 43 50 72 6f or = (class CPro
0560: 70 50 61 67 65 44 6f 63 20 63 6f 6e 73 74 20 26 pPageDoc const &
0570: 20 44 65 73 74 29 0d 0a 09 09 7b 0d 0a 09 09 09 Dest)....{.....
0580: 6d 5f 70 44 6c 67 20 3d 20 4e 55 4c 4c 3b 0d 0a m_pDlg = NULL;..
0590: 09 09 09 6d 65 6d 63 70 79 28 6d 5f 62 75 66 2c ...memcpy(m_buf,
05a0: 20 44 65 73 74 2e 6d 5f 62 75 66 2c 20 73 69 7a Dest.m_buf, siz
05b0: 65 6f 66 28 6d 5f 62 75 66 29 29 3b 0d 0a 09 09 eof(m_buf));....
05c0: 7d 3b 0d 0a 0d 0a 09 09 76 69 72 74 75 61 6c 20 };......virtual
05d0: 76 6f 69 64 20 5f 5f 73 74 64 63 61 6c 6c 20 76 void __stdcall v
05e0: 50 72 6f 63 30 30 28 76 6f 69 64 29 7b 7d 0d 0a Proc00(void){}..
05f0: 09 09 76 69 72 74 75 61 6c 20 76 6f 69 64 20 5f ..virtual void _
0600: 5f 73 74 64 63 61 6c 6c 20 76 50 72 6f 63 30 34 _stdcall vProc04
0610: 28 76 6f 69 64 29 7b 7d 0d 0a 09 09 76 69 72 74 (void){}....virt
0620: 75 61 6c 20 76 6f 69 64 20 5f 5f 73 74 64 63 61 ual void __stdca
0630: 6c 6c 20 43 6c 6f 73 65 50 72 6f 70 44 6c 67 28 ll ClosePropDlg(
0640: 76 6f 69 64 29 0d 0a 09 09 7b 0d 0a 09 09 09 64 void)....{.....d
0650: 65 6c 65 74 65 20 6d 5f 70 44 6c 67 3b 0d 0a 09 elete m_pDlg;...
0660: 09 09 47 65 74 50 61 67 65 53 69 74 65 28 29 3d ..GetPageSite()=
0670: 4e 55 4c 4c 3b 0d 0a 09 09 09 64 65 6c 65 74 65 NULL;.....delete
0680: 20 74 68 69 73 3b 0d 0a 09 09 7d 0d 0a 09 09 76 this;....}....v
0690: 69 72 74 75 61 6c 20 76 6f 69 64 20 5f 5f 73 74 irtual void __st
06a0: 64 63 61 6c 6c 20 76 50 72 6f 63 30 43 28 76 6f dcall vProc0C(vo
06b0: 69 64 29 7b 7d 0d 0a 09 09 76 69 72 74 75 61 6c id){}....virtual
06c0: 20 76 6f 69 64 20 5f 5f 73 74 64 63 61 6c 6c 20 void __stdcall
06d0: 43 72 65 61 74 65 50 72 6f 70 44 6c 67 28 48 57 CreatePropDlg(HW
06e0: 4e 44 20 68 4d 61 69 6e 57 6e 64 2c 20 43 52 65 ND hMainWnd, CRe
06f0: 63 74 2a 20 72 65 63 74 2c 20 42 4f 4f 4c 20 62 ct* rect, BOOL b
0700: 4d 6f 64 61 6c 29 0d 0a 09 09 7b 0d 0a 09 09 09 Modal)....{.....
0710: 6d 5f 70 44 6c 67 20 3d 20 6e 65 77 20 54 28 4e m_pDlg = new T(N
0720: 55 4c 4c 29 3b 0d 0a 09 09 09 41 66 78 53 65 74 ULL);.....AfxSet
0730: 52 65 73 6f 75 72 63 65 48 61 6e 64 6c 65 28 68 ResourceHandle(h
0740: 4d 79 49 6e 73 74 29 3b 0d 0a 09 09 09 6d 5f 70 MyInst);.....m_p
0750: 44 6c 67 2d 3e 43 72 65 61 74 65 28 54 3a 3a 49 Dlg->Create(T::I
0760: 44 44 2c 20 43 57 6e 64 3a 3a 46 72 6f 6d 48 61 DD, CWnd::FromHa
0770: 6e 64 6c 65 28 68 4d 61 69 6e 57 6e 64 29 29 3b ndle(hMainWnd));
0780: 0d 0a 09 09 09 41 66 78 53 65 74 52 65 73 6f 75 .....AfxSetResou
0790: 72 63 65 48 61 6e 64 6c 65 28 68 31 43 52 65 73 rceHandle(h1CRes
07a0: 6f 75 72 63 65 29 3b 0d 0a 09 09 09 6d 5f 70 44 ource);.....m_pD
07b0: 6c 67 2d 3e 4d 6f 76 65 57 69 6e 64 6f 77 28 72 lg->MoveWindow(r
07c0: 65 63 74 29 3b 0d 0a 09 09 7d 0d 0a 09 09 76 69 ect);....}....vi
07d0: 72 74 75 61 6c 20 76 6f 69 64 20 5f 5f 73 74 64 rtual void __std
07e0: 63 61 6c 6c 20 76 50 72 6f 63 31 34 28 76 6f 69 call vProc14(voi
07f0: 64 29 7b 7d 0d 0a 09 09 76 69 72 74 75 61 6c 20 d){}....virtual
0800: 76 6f 69 64 20 5f 5f 73 74 64 63 61 6c 6c 20 76 void __stdcall v
0810: 50 72 6f 63 31 38 28 76 6f 69 64 29 7b 7d 0d 0a Proc18(void){}..
0820: 09 09 76 69 72 74 75 61 6c 20 76 6f 69 64 20 5f ..virtual void _
0830: 5f 73 74 64 63 61 6c 6c 20 76 50 72 6f 63 31 43 _stdcall vProc1C
0840: 28 44 57 4f 52 44 20 64 77 50 61 72 61 6d 31 2c (DWORD dwParam1,
0850: 20 44 57 4f 52 44 20 64 77 50 61 72 61 6d 32 29 DWORD dwParam2)
0860: 7b 7d 0d 0a 09 09 76 69 72 74 75 61 6c 20 76 6f {}....virtual vo
0870: 69 64 20 5f 5f 73 74 64 63 61 6c 6c 20 41 63 74 id __stdcall Act
0880: 69 76 61 74 65 50 72 6f 70 44 6c 67 28 44 57 4f ivatePropDlg(DWO
0890: 52 44 20 64 77 46 6c 61 67 29 0d 0a 09 09 7b 0d RD dwFlag)....{.
08a0: 0a 09 09 09 69 66 28 6d 5f 70 44 6c 67 29 0d 0a ....if(m_pDlg)..
08b0: 09 09 09 09 6d 5f 70 44 6c 67 2d 3e 53 68 6f 77 ....m_pDlg->Show
08c0: 57 69 6e 64 6f 77 28 64 77 46 6c 61 67 29 3b 0d Window(dwFlag);.
08d0: 0a 09 09 7d 0d 0a 09 09 76 69 72 74 75 61 6c 20 ...}....virtual
08e0: 76 6f 69 64 20 5f 5f 73 74 64 63 61 6c 6c 20 76 void __stdcall v
08f0: 50 72 6f 63 32 34 28 76 6f 69 64 29 7b 7d 0d 0a Proc24(void){}..
0900: 09 09 76 69 72 74 75 61 6c 20 42 4f 4f 4c 20 5f ..virtual BOOL _
0910: 5f 73 74 64 63 61 6c 6c 20 49 73 53 61 76 65 64 _stdcall IsSaved
0920: 28 76 6f 69 64 29 0d 0a 09 09 7b 0d 0a 09 09 09 (void)....{.....
0930: 69 66 28 6d 5f 70 44 6c 67 20 26 26 20 6d 5f 70 if(m_pDlg && m_p
0940: 44 6c 67 2d 3e 49 73 44 69 72 74 79 28 29 29 0d Dlg->IsDirty()).
0950: 0a 09 09 09 09 72 65 74 75 72 6e 20 46 41 4c 53 .....return FALS
0960: 45 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20 54 52 E;.....return TR
0970: 55 45 3b 0d 0a 09 09 7d 0d 0a 09 09 76 69 72 74 UE;....}....virt
0980: 75 61 6c 20 48 52 45 53 55 4c 54 20 5f 5f 73 74 ual HRESULT __st
0990: 64 63 61 6c 6c 20 53 61 76 65 28 76 6f 69 64 29 dcall Save(void)
09a0: 0d 0a 09 09 7b 0d 0a 09 09 09 69 66 28 6d 5f 70 ....{.....if(m_p
09b0: 44 6c 67 29 0d 0a 09 09 09 09 72 65 74 75 72 6e Dlg)......return
09c0: 20 6d 5f 70 44 6c 67 2d 3e 4f 6e 41 70 70 6c 79 m_pDlg->OnApply
09d0: 28 29 20 3f 20 53 5f 4f 4b 20 3a 20 45 5f 46 41 () ? S_OK : E_FA
09e0: 49 4c 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20 53 IL;.....return S
09f0: 5f 4f 4b 3b 0d 0a 09 09 7d 0d 0a 09 7d 3b 0d 0a _OK;....}...};..
0a00: 0d 0a 09 73 74 72 75 63 74 20 53 50 72 6f 70 50 ...struct SPropP
0a10: 61 67 65 0d 0a 09 7b 0d 0a 09 70 75 62 6c 69 63 age...{...public
0a20: 3a 0d 0a 09 09 42 4f 4f 4c 20 6d 5f 62 48 61 73 :....BOOL m_bHas
0a30: 44 69 61 6c 6f 67 3b 0d 0a 09 09 44 57 4f 52 44 Dialog;....DWORD
0a40: 20 6d 5f 31 3b 0d 0a 09 09 44 57 4f 52 44 20 6d m_1;....DWORD m
0a50: 5f 32 3b 0d 0a 09 09 44 57 4f 52 44 20 6d 5f 33 _2;....DWORD m_3
0a60: 3b 0d 0a 09 09 44 57 4f 52 44 20 6d 5f 34 3b 0d ;....DWORD m_4;.
0a70: 0a 09 09 44 57 4f 52 44 20 6d 5f 35 3b 0d 0a 09 ...DWORD m_5;...
0a80: 09 44 57 4f 52 44 20 6d 5f 36 3b 0d 0a 09 09 44 .DWORD m_6;....D
0a90: 57 4f 52 44 20 6d 5f 44 6c 67 57 3b 0d 0a 09 09 WORD m_DlgW;....
0aa0: 44 57 4f 52 44 20 6d 5f 44 6c 67 48 3b 0d 0a 09 DWORD m_DlgH;...
0ab0: 09 44 57 4f 52 44 20 6d 5f 39 3b 0d 0a 09 09 44 .DWORD m_9;....D
0ac0: 57 4f 52 44 20 6d 5f 31 30 3b 0d 0a 09 09 57 4f WORD m_10;....WO
0ad0: 52 44 20 6d 5f 52 65 73 4e 75 6d 3b 0d 0a 09 09 RD m_ResNum;....
0ae0: 57 4f 52 44 20 6d 5f 52 65 73 54 79 70 65 3b 0d WORD m_ResType;.
0af0: 0a 09 09 43 50 72 6f 70 50 61 67 65 44 6f 63 2a ...CPropPageDoc*
0b00: 20 6d 5f 44 6c 67 44 6f 63 3b 0d 0a 09 09 43 53 m_DlgDoc;....CS
0b10: 74 72 69 6e 67 20 6d 5f 50 61 74 68 3b 0d 0a 09 tring m_Path;...
0b20: 09 44 57 4f 52 44 20 6d 5f 31 34 3b 0d 0a 09 09 .DWORD m_14;....
0b30: 44 57 4f 52 44 20 6d 5f 31 35 3b 0d 0a 09 09 44 DWORD m_15;....D
0b40: 57 4f 52 44 20 6d 5f 31 36 3b 0d 0a 09 09 44 57 WORD m_16;....DW
0b50: 4f 52 44 20 6d 5f 31 37 3b 0d 0a 09 09 44 57 4f ORD m_17;....DWO
0b60: 52 44 20 6d 5f 31 38 3b 0d 0a 0d 0a 09 09 53 50 RD m_18;......SP
0b70: 72 6f 70 50 61 67 65 28 29 20 3a 20 6d 5f 44 6c ropPage() : m_Dl
0b80: 67 44 6f 63 28 6e 65 77 20 43 50 72 6f 70 50 61 gDoc(new CPropPa
0b90: 67 65 44 6f 63 29 7b 7d 0d 0a 09 09 7e 53 50 72 geDoc){}....~SPr
0ba0: 6f 70 50 61 67 65 28 29 7b 64 65 6c 65 74 65 20 opPage(){delete
0bb0: 6d 5f 44 6c 67 44 6f 63 3b 7d 0d 0a 0d 0a 09 09 m_DlgDoc;}......
0bc0: 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 20 3d 20 void operator =
0bd0: 28 53 50 72 6f 70 50 61 67 65 20 63 6f 6e 73 74 (SPropPage const
0be0: 20 26 20 44 65 73 74 29 0d 0a 09 09 7b 0d 0a 09 & Dest)....{...
0bf0: 09 09 6d 65 6d 63 70 79 28 74 68 69 73 2c 20 26 ..memcpy(this, &
0c00: 44 65 73 74 2c 20 73 69 7a 65 6f 66 28 2a 74 68 Dest, sizeof(*th
0c10: 69 73 29 29 3b 0d 0a 09 09 09 6d 5f 44 6c 67 44 is));.....m_DlgD
0c20: 6f 63 20 3d 20 6e 65 77 20 43 50 72 6f 70 50 61 oc = new CPropPa
0c30: 67 65 44 6f 63 3b 0d 0a 09 09 09 2a 6d 5f 44 6c geDoc;.....*m_Dl
0c40: 67 44 6f 63 20 3d 20 2a 44 65 73 74 2e 6d 5f 44 gDoc = *Dest.m_D
0c50: 6c 67 44 6f 63 3b 0d 0a 09 09 7d 3b 0d 0a 0d 0a lgDoc;....};....
0c60: 09 09 53 50 72 6f 70 50 61 67 65 28 73 74 72 75 ..SPropPage(stru
0c70: 63 74 20 53 50 72 6f 70 50 61 67 65 20 63 6f 6e ct SPropPage con
0c80: 73 74 20 26 20 44 65 73 74 29 0d 0a 09 09 7b 0d st & Dest)....{.
0c90: 0a 09 09 09 2a 74 68 69 73 20 3d 20 44 65 73 74 ....*this = Dest
0ca0: 3b 0d 0a 09 09 7d 3b 0d 0a 09 7d 3b 0d 0a 09 0d ;....};...};....
0cb0: 0a 09 74 79 70 65 64 65 66 20 43 41 72 72 61 79 ..typedef CArray
0cc0: 3c 73 74 72 75 63 74 20 53 50 72 6f 70 50 61 67 <struct SPropPag
0cd0: 65 2c 20 73 74 72 75 63 74 20 53 50 72 6f 70 50 e, struct SPropP
0ce0: 61 67 65 3e 20 43 41 72 72 61 79 53 50 72 6f 70 age> CArraySProp
0cf0: 50 61 67 65 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 Page;.....static
0d00: 20 43 54 72 61 70 53 77 61 70 2a 26 20 47 65 74 CTrapSwap*& Get
0d10: 54 72 61 70 28 29 7b 73 74 61 74 69 63 20 43 54 Trap(){static CT
0d20: 72 61 70 53 77 61 70 2a 20 70 54 72 61 70 3b 20 rapSwap* pTrap;
0d30: 72 65 74 75 72 6e 20 70 54 72 61 70 3b 7d 0d 0a return pTrap;}..
0d40: 0d 0a 09 73 74 72 75 63 74 20 43 4f 6c 65 50 72 ...struct COlePr
0d50: 6f 70 65 72 74 79 50 61 67 65 53 69 74 65 57 72 opertyPageSiteWr
0d60: 61 70 20 3a 20 43 4f 6c 65 50 72 6f 70 65 72 74 ap : COlePropert
0d70: 79 50 61 67 65 53 69 74 65 0d 0a 09 7b 0d 0a 09 yPageSite...{...
0d80: 09 69 6e 74 20 4f 6e 49 6e 69 74 44 69 61 6c 6f .int OnInitDialo
0d90: 67 57 72 61 70 28 76 6f 69 64 29 0d 0a 09 09 7b gWrap(void)....{
0da0: 0d 0a 09 09 09 74 72 61 70 73 77 61 70 65 72 20 .....trapswaper
0db0: 74 72 28 2a 47 65 74 54 72 61 70 28 29 29 3b 0d tr(*GetTrap());.
0dc0: 0a 09 09 09 0d 0a 09 09 09 69 6e 74 20 72 65 74 .........int ret
0dd0: 3d 43 4f 6c 65 50 72 6f 70 65 72 74 79 50 61 67 =COlePropertyPag
0de0: 65 53 69 74 65 3a 3a 4f 6e 49 6e 69 74 44 69 61 eSite::OnInitDia
0df0: 6c 6f 67 28 29 3b 0d 0a 09 09 09 6d 5f 54 61 62 log();.....m_Tab
0e00: 43 74 72 6c 2e 49 6e 73 65 72 74 49 74 65 6d 28 Ctrl.InsertItem(
0e10: 6d 5f 54 61 62 43 74 72 6c 2e 47 65 74 49 74 65 m_TabCtrl.GetIte
0e20: 6d 43 6f 75 6e 74 28 29 2c 20 54 3a 3a 47 65 74 mCount(), T::Get
0e30: 54 69 74 6c 65 28 29 2c 20 30 29 3b 0d 0a 0d 0a Title(), 0);....
0e40: 09 09 09 53 50 72 6f 70 50 61 67 65 20 6e 65 77 ...SPropPage new
0e50: 50 72 6f 70 50 61 67 65 3b 0d 0a 09 09 09 6e 65 PropPage;.....ne
0e60: 77 50 72 6f 70 50 61 67 65 2e 6d 5f 62 48 61 73 wPropPage.m_bHas
0e70: 44 69 61 6c 6f 67 20 3d 20 46 41 4c 53 45 3b 0d Dialog = FALSE;.
0e80: 0a 0d 0a 09 09 09 43 41 72 72 61 79 53 50 72 6f ......CArraySPro
0e90: 70 50 61 67 65 2a 20 50 72 6f 70 50 61 67 65 73 pPage* PropPages
0ea0: 20 3d 20 72 65 69 6e 74 65 72 70 72 65 74 5f 63 = reinterpret_c
0eb0: 61 73 74 3c 43 41 72 72 61 79 53 50 72 6f 70 50 ast<CArraySPropP
0ec0: 61 67 65 2a 3e 28 26 6d 5f 50 72 6f 70 50 61 67 age*>(&m_PropPag
0ed0: 65 73 29 3b 0d 0a 09 09 09 50 72 6f 70 50 61 67 es);.....PropPag
0ee0: 65 73 2d 3e 41 64 64 28 6e 65 77 50 72 6f 70 50 es->Add(newPropP
0ef0: 61 67 65 29 3b 0d 0a 0d 0a 09 09 09 47 65 74 50 age);.......GetP
0f00: 61 67 65 53 69 74 65 28 29 3d 74 68 69 73 3b 0d ageSite()=this;.
0f10: 0a 09 09 09 72 65 74 75 72 6e 20 72 65 74 3b 0d ....return ret;.
0f20: 0a 09 09 7d 0d 0a 09 7d 3b 0d 0a 0d 0a 09 73 74 ...}...};.....st
0f30: 61 74 69 63 20 76 6f 69 64 20 49 6e 69 74 28 29 atic void Init()
0f40: 0d 0a 09 7b 0d 0a 09 09 43 54 72 61 70 53 77 61 ...{....CTrapSwa
0f50: 70 2a 26 20 74 72 3d 47 65 74 54 72 61 70 28 29 p*& tr=GetTrap()
0f60: 3b 0d 0a 09 09 74 72 3d 6e 65 77 20 43 54 72 61 ;....tr=new CTra
0f70: 70 53 77 61 70 3b 0d 0a 09 09 74 72 2d 3e 53 65 pSwap;....tr->Se
0f80: 74 54 72 61 70 42 79 4e 61 6d 65 28 22 66 72 61 tTrapByName("fra
0f90: 6d 65 2e 64 6c 6c 22 2c 20 22 3f 4f 6e 49 6e 69 me.dll", "?OnIni
0fa0: 74 44 69 61 6c 6f 67 40 43 4f 6c 65 50 72 6f 70 tDialog@COleProp
0fb0: 65 72 74 79 50 61 67 65 53 69 74 65 40 40 4d 41 ertyPageSite@@MA
0fc0: 45 48 58 5a 22 2c 0d 0a 09 09 09 26 43 4f 6c 65 EHXZ",.....&COle
0fd0: 50 72 6f 70 65 72 74 79 50 61 67 65 53 69 74 65 PropertyPageSite
0fe0: 57 72 61 70 3a 3a 4f 6e 49 6e 69 74 44 69 61 6c Wrap::OnInitDial
0ff0: 6f 67 57 72 61 70 29 3b 0d 0a 09 7d 0d 0a 7d 3b ogWrap);...}..};