MZ@ !L!This program cannot be run in DOS mode. $a %d%d%d`'dsw d%d$dGw!dj$dxn!dx`'d\o'd%ed\`&dzo,db$dRich%dPELN`;! @i<P0 ` P .text3@ `.rdataP P@@.datapp@.rsrc@@.reloc  @Bjhx=dPd%QVhF(D$D$t L3hD$F(D$D$t 3hD$F p(D$D$t 3hD$F=(D$D$t s3L$F^d ÐVWqtjPOu_^VAuN I >uN>uN?D^D^HDD$P|'Yjh=dPd%QUVWht$k+~d3ωl${(|SD$c(L$hS|SRdž_^]d VD$t V&^jh>dPd%VWt$D$|$ PTD$'dPd%QVt$PTD$$L$dPd%QVt$PTD$#L$dPd%QSUVWht$%^d3ˉ|$"|S͈\$"E|SD$+#hS hptD$ T"L$_^][d ÐVD$t V!^jh#?dPd%VWt$D$|$ PTD$"jujju'QPPj~jj~ PPj}jj}PPtWjhrPQ_^[ÐL$thtH t jtÐVF t,tt#jhVdž j.^Ðjh%@dPd%QSUVWht$~dD$WD$|SD$D$D$D$dždžhSD$hptD$ VyhptmhptahptQL$_^][d ÐVD$t V^jh@dPd%VWt$D$|$ PTD$wPQP)tWjhrPQ _^Ðdjh@Pd%WG UL$ L$D$,-QjjhPD$<աtD$=SV5QL$ T$QD$ RPtL$$jQL$hPpPփL$$OT$jRL$D$L$(PhPpQD$@tPD$8*PL$bL$(D$4=tu;T$hDpRփtPD$h8pPփt=L$h0pQփt*L$h(pQփtT$RjhPՍL$D$4zL$D$4lD$^[OdjjhQՋ?L$D$,/L$ D$,]L$ _d (ÐdjhAPd%SVWt3SShPQL$ L$ QRNd\$$D$ L$PQPD$ L$\$eT$ RfWD$h|pPtPD$ JP8L$\$WL$hppQitPD$ PL$\$WT$h\pR.D$PtPL$\$SkL$ D$L$_^[d Ðjh_AdPd%SVWL$ D$NL$D$$=tD$$D$tu|$05QD$L$ PT$QRtpD$0jPL$ZhPpPփuL$PQփt2ۍL$0uRD$ut$,hptD$L$D$$L$ D$$rL$_^[d T$0jRL$t$,D$0PD$(D$L$0D$$!두jhAdPd%SVWjL$ D$ P3QNd\$$UT$WhPpR'QPtD$$L$\$WT$h|pRQPtD$$|L$\$WWT$hppRQPtD$$L?L$\$WT$h\pRpD$VPtL$\$L$ D$L$_^[d ÐQVWjhrjhp]hpPQ%WhD$/Wh_^YÐVjD$t Vq^|$u|H P,H3ɉP(H H, D$u@D$PhtRj@tjht0ht u Pht jhAdPd%QVWj D$3;lj|$t 3jD$FHNhphp( L$ ~ ~(~,~0~8~DF$F4F@_^d ÐjhAdPd%VL$D$D$ L$PhpQD$ *t$( T$RD$L$D$_L$ ^d ÐVWwHtV GH_^ÐVW|$ uNHWv_^D$IHPjhHBdPd%@SUVW3|$D$`T$RP|$`QXD$T$$RPQ |$`|$D$T$`RPD$`Q(ZD$`;Rh0YPD$P|$D$T$@WRjPD$hQ 5Q-Q3D$HhXL$PQT$@R։|$D$T$RP\$`QD$L$ P L$0D$XQ~ jhpD$`t$0jhpD$h|$<\$@D$ WV\$LPD$tY\$TY\$XY R(WVՋ5QT$0RֳL$ \$XX D$D$XPՋD$T$@jRjPQ  3D$D$X;tPQD$`L$D$X;t QRD$`;D$XtPQD$D$X;tPRL$P_^]d [LD$S\$U-PVWjjPSjjՋNVjQt VWjSjjՋ_^][ÐPQÐD$Vt$W>t T$VRPtWP_^ th/ YÐtjhpBdPd%QVt$N XZ0> ZP>X>c>q>>>>  Z>>>>>> ??? @[0?8? p[P?X?c?q?????  [??????? @@  8\0@8@C@Q@_@m@{@@@ \@@@@@@ \@@AAA 8]HA0A8A@A x]pAxAAAA ]A ]AA  ^BBBB B(B0B8B@B ^`BhB ^BB ^B _BBBBBBBBCC CC C(C 0C8C@C  _`ChCpCxCCCCCCCCC`bPLbbQ`LcPbcQpbcQbcQ6c*J H  7yQ +YX  L K q@  I 9On 6 R G iz7 \B Zm { 17]!o V $7fcbccb&cbb jcczcZc#& MFC42.DLLI__CxxFrameHandlerY_mbscmpMSVCRT.dllU__dllonexit_onexit^free_inittermmalloc_adjust_fdivMultiByteToWideCharKERNEL32.dllRedrawWindowSendMessageALoadBitmapAEnableWindowUSER32.dllOLEAUT32.dllmfcapwz.dll/HM_FILEDIALOGVIEWDOCUMENTMAINFRAMEF_CLASS_F_IMPLEMENTATION_F_HEADER_F_BASECLASS_APPLICATION*WCE_WIZARDTRUE%d/entry:"wWinMainCRTStartup"link.exeF_IMPLEMENTATION_DIALOGDlg.cppF_HEADER_DIALOGDlg.hF_BASECLASS_DIALOGCSTFullScreenDialogF_CLASS_DIALOGDlgF_IMPLEMENTATION_VIEWView.cppF_HEADER_VIEWView.hF_BASECLASS_VIEWCSTFullScreenViewF_CLASS_VIEWViewF_IMPLEMENTATION_DOCUMENTDoc.cppF_HEADER_DOCUMENTDoc.hF_BASECLASS_DOCUMENTCDocumentF_CLASS_DOCUMENTDocF_IMPLEMENTATION_MAINFRAMEMainFrm.cppF_HEADER_MAINFRAMEMainFrm.hF_BASECLASS_MAINFRAMECFrameWndF_CLASS_MAINFRAMECMainFrameF_IMPLEMENTATION_APPLICATION.cppF_HEADER_APPLICATION.hF_BASECLASS_APPLICATIONCWinAppF_CLASS_APPLICATIONAppCFS_DIALOG_TITLEFS_RESOURCE_LANGUAGEFS_PROJECT_TYPE_DIALOGFS_PROJECT_TYPE_DOCVIEWFS_PROJECT_TYPE_DOCLISTFS_PROJECT_TYPEFS_STATIC_MFCFS_IE_MENU_BARFS_GENERATE_COMMENTSFS_FEATURE_WINSOCKSFS_FEATURE_SHAREDNEWFS_FEATURE_ACTIVEXFS_DOCVIEW_SUPPORTEDH(@XHp,D0XH`nx2J f8Ph$<Z(@XTpj|0 H0`$xFbz <8RPdh4Pl ( *@ X Bp     x 8  u0 xH y` }x ~     8 P h                     (  8  H  X  h  x                      (  8  H  X  h  x                    ( 8 H X h x           ( 8 H X h x           ( 8 H X h x        /i ;B3HK XWZ= 8dH6i M{|ENxV3[^ @lWnw[68} `HX>vaYj:PpX hhX x9@6$x  @ Y:   0 498J86P$p0tuz x@YF`/hs8XG8099hsHgh`ȡ\(6` 3TEMPLATESTFULLSCREEN.HSTFULLSCREEN.CPPFULLSCREEN.ICO NEWPROJ.INF CONFIRM.INF DS_DIALOG.CPP DS_DIALOG.H DS_NEWRES.H DS_README.TXT DS_RESOURCE.H DS_ROOT.CPP DS_ROOT.H DS_ROOT.RC DS_STDAFX.CPP DS_STDAFX.H DS_XXX.VCB DS_XXX.VCC DS_ROOT.ICO DS_ROOT.RC2 DT_DIALOG.CPP DT_DIALOG.H DT_NEWRES.H DT_README.TXT DT_RESOURCE.H DT_ROOT.CPP DT_ROOT.H DT_ROOT.RC DT_STDAFX.CPP DT_STDAFX.H DT_XXX.VCB DT_XXX.VCC DT_ROOT.ICO DT_ROOT.RC2 LS_DOC.CPPLS_DOC.HLS_MAINFRM.CPP LS_MAINFRM.H LS_NEWRES.H LS_README.TXT LS_RESOURCE.H LS_ROOT.CPP LS_ROOT.H LS_ROOT.RC LS_STDAFX.CPP LS_STDAFX.H LS_VIEW.CPP LS_VIEW.H LS_XXX.VCB LS_XXX.VCC LS_CMDBAR.BMPLS_CMDBAR4.BMP LS_ROOT.ICO LS_ROOT.RC2 LT_DOC.CPPLT_DOC.HLT_DOCLISTSTATICALLFEATURES.VCBLT_DOCLISTSTATICALLFEATURES.VCCLT_MAINFRM.CPP LT_MAINFRM.H LT_NEWRES.H LT_README.TXT LT_RESOURCE.H LT_ROOT.CPP LT_ROOT.H LT_ROOT.RC LT_STDAFX.CPP LT_STDAFX.H LT_VIEW.CPP LT_VIEW.H LT_CMDBAR.BMP LT_ROOT.ICO LT_ROOT.RC24VS_VERSION_INFO?\StringFileInfo8040904b0Comments CompanyName.FileDescriptionWCE Pocket PC MFC Full Screen AppWizard (exe)6 FileVersion1, 0, 0, 1HInternalNameFullScreenAppWizard|,LegalCopyrightCopyright Vassili Philippov (SpbTeam) 2001(LegalTrademarksHOriginalFilenameTESTWIZARD3.DLL PrivateBuild|.ProductNameWCE Pocket PC MFC Full Screen AppWizard (exe): ProductVersion1, 0, 0, 1 SpecialBuildDVarFileInfo$Translation @@ 8MS Sans SerifPyuP What type of application would you like to create? P#o Single document with Doc &List X1E Single document P?9 Dialog basedPN Document/&View architecture support?PdWhat language you like your &resource in?!PvMP pix@@ 8MS Sans SerifPyuP What features would you like to include?PI &Windows SocketsP"D Active&X ControlsP/7 &Shared New@J(Control bar type @V@ Basic &MenuBar @di Internet Explorer &ReBarsP pjxP9kPlease enter a &title for your dialog:PDD@@8MS Sans SerifPyuP Z}P Would you like to generate source file comments? P5 &Yes, please P,= No, &thank youPUHow would you like to use the MFC library? PfE As a shared &DLL Ptc As a &statically linked library@@ 8MS Sans SerifPyP AppWizard creates the &following classes for you:PhP'C&lass name:P%Header file:P%Base class:P=Implementation file:PJ PJ PF PF ///////////////////////////////////////////////////////////////////////////// // File name: STFullScreen.h // Author: Vassili Philippov (vasja@spbteam.com) // Created: May 2001 // Last changed: 26 July 2001 // Version: 1.3 // Description: Classes for organizing full screen applications #if !defined(AFX_STFULLSCREEN_H__61332875_BE69_4783_AB30_CB75D099EB1C__INCLUDED_) #define AFX_STFULLSCREEN_H__61332875_BE69_4783_AB30_CB75D099EB1C__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 ///////////////////////////////////////////////////////////////////////////// // Commands that are handled by full screen view and dialog // This command is sent to full screen dialog or view to switch full screen // state (on/off) #define ID_SWITCH_FULLSCREEN 24545 ///////////////////////////////////////////////////////////////////////////// // Full screen related messages // This message is sent to full screen dialog or view to refresh full screen // state and mode. It's necessary because this operation cannot be done during // initialization and should be postponed. #define WM_USER_REFRESH_FULLSCREEN (WM_USER+1) ///////////////////////////////////////////////////////////////////////////// // Full screen mode flags // All elements are shown. This mode corresponds to standard applications. #define FSF_NORMAL 0x0000 // Command bar is hidden. #define FSF_HIDECOMMANDBAR 0x0001 // Task bar is hidden. #define FSF_HIDETASKBAR 0x0002 // SIP button is hidden. #define FSF_HIDESIPBUTTON 0x0004 // Start icon is hidded. #define FSF_HIDESTARTICON 0x0008 // All elements (command bar, task bar, SIP button and start icon) and hidden. // This mode corresponds to full screen application. #define FSF_FULLSCREEN 0x000F ///////////////////////////////////////////////////////////////////////////// // Full screen icon positions // Full screen icon in the top left corner. #define FSI_TOPLEFT 1 // Full screen icon in the top right corner. #define FSI_TOPRIGHT 2 // Full screen icon in the bottom left corner. #define FSI_BOTTOMLEFT 3 // Full screen icon in the bottom right corner. #define FSI_BOTTOMRIGHT 4 ///////////////////////////////////////////////////////////////////////////// // CSTFullScreen class that provides basic functionality for organizing // full screen behaviour. This class provides static functions and should // not be instantiated. class CSTFullScreen { public: // Returns size of the device screen. For Pocket PC this size should // be 240x320; static CSize GetScreenSize(); // Returns bounds rectangle of the window by full screen mode and // state. If state is "full screen" (TRUE) and mode is FSF_FULLSCREEN // then window size is equal to screen size. If some additional elements // should be shown (for example if mode hides only task bar but // doesn't hide command bar) then window size is less then screen size // for the height of these elements. static CRect GetFullScreenWindowRect(DWORD dwFullScreenMode, BOOL bInFullSceenState); // Refreshes window "fullscreennees" depending on full screen mode // and state. static BOOL RefreshFullScreen(CWnd *pWnd, HWND hCommandBar, DWORD dwFullScreenMode, BOOL bInFullSceenState); }; ///////////////////////////////////////////////////////////////////////////// // CSTFullScreenIcon window that is a convinient button to switch full screen // mode on/off. class CSTFullScreenIcon : public CWnd { public: CSTFullScreenIcon(); public: virtual ~CSTFullScreenIcon(); virtual BOOL Create (LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, UINT nPosition, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL); // Inserts the icon into the given command bar. If the icon is already inserted // it will not be inserted again virtual void InsertIconInDialogToolbar(CCeCommandBar *pCb); // Sets icon position index. nIconPosition parameter should be on of // FSI_TOPLEFT, FSI_TOPRIGHT, FSI_BOTTOMLEFT or FSI_BOTTOMRIGHT. // Icon position depends on full screen mode and state of the parent // window. void SetIconPosition(UINT nIconPosition, DWORD dwFullScreenMode, BOOL bInFullSceenState); // Sets icon that will be shown in the full screen mode and will be inserted // into the parent command bar. void SetIcon(HICON hIcon); protected: // Calculates bounding rectangle of the icon depending on m_nIconPosition virtual CRect GetIconRectangle(DWORD dwFullScreenMode, BOOL bInFullSceenState); //Index of icon position on the screen. Could be FSI_TOPLEFT, FSI_TOPRIGHT, FSI_BOTTOMLEFT or FSI_BOTTOMRIGHT UINT m_nIconPosition; // Flag that shows whether the icon is added into the parent's toolbar or not BOOL m_bIsToolbarIconSet; // Icon that will be shown in the full screen mode and will be inserted // into the parent command bar HICON m_hIcon; // Image list of the command bar. Is used to change the icon if the icon changed. CCeCommandBar *m_pCommandBar; //{{AFX_MSG(CSTFullScreenIcon) afx_msg void OnPaint(); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // CSTFullScreenDialogLite dialog is a base class for full screen dialogs that // provides basic functionality to organize full screen dialog. class CSTFullScreenDialogLite : public CDialog { // Construction public: CSTFullScreenDialogLite(UINT nIDTemplate, CWnd* pParentWnd = NULL); //Full screen related methods public: // Switches full screen state. If the dialog was in full screen // state it changes to normal state and back. // In normal state all additional elements are shown. In full screen // state additional elements depends on full screen mode property. void SwitchFullScreenState(); // Sets full screen state property. If bFullScreen is TRUE then // the dialog will be in full screen state. If FALSE in normal state. // In normal state all additional elements are shown. In full screen // state additional elements depends on full screen mode property. void SetFullScreenState(BOOL bFullScreen); // Returns TRUE if the dialog is in the full screen state. Returns // FALSE if the dialog is in the normal state. BOOL GetFullScreenState(); // Sets full screen mode. This property affects dialog appearance // only in the full screen state. Full screen mode could be a // combination of FSF_NORMAL, FSF_HIDECOMMANDBAR, FSF_HIDETASKBAR, // FSF_HIDESIPBUTTON and FSF_HIDESTARTICON constants. void SetFullScreenMode(DWORD dwFullScreenMode); // Returns full screen mode. DWORD GetFullScreenMode(); // This function is rewritten to fix "Today" bug. // "Today" bugs: dialog based application is shown when you try to // call standard Today program. virtual int DoModal(); // Implementation protected: virtual BOOL RefreshFullScreen(); DWORD m_dwFullScreenMode; BOOL m_bInFullSceenState; // Generated message map functions //{{AFX_MSG(CSTFullScreenDialogLite) virtual BOOL OnInitDialog(); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnFullScreenRefresh(WPARAM wParam, LPARAM lParam); afx_msg void OnFullScreenSwitch(); afx_msg void OnDestroy(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // CSTFullScreenViewLite window is a base class for full screen views that // provides basic functionality to organize full screen dialog. class CSTFullScreenViewLite : public CView { protected: CSTFullScreenViewLite(); DECLARE_DYNCREATE(CSTFullScreenViewLite) //Full screen related methods public: // Switches full screen state. If the view was in full screen // state it changes to normal state and back. // In normal state all additional elements are shown. In full screen // state additional elements depends on full screen mode property. void SwitchFullScreenState(); // Sets full screen state property. If bFullScreen is TRUE then // the view will be in full screen state. If FALSE in normal state. // In normal state all additional elements are shown. In full screen // state additional elements depends on full screen mode property. void SetFullScreenState(BOOL bFullScreen); // Returns TRUE if the view is in the full screen state. Returns // FALSE if the view is in the normal state. BOOL GetFullScreenState(); // Sets full screen mode. This property affects view appearance // only in the full screen state. Full screen mode could be a // combination of FSF_NORMAL, FSF_HIDECOMMANDBAR, FSF_HIDETASKBAR, // FSF_HIDESIPBUTTON and FSF_HIDESTARTICON constants. void SetFullScreenMode(DWORD dwFullScreenMode); // Returns full screen mode. DWORD GetFullScreenMode(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CSTFullScreenViewLite) protected: virtual void OnDraw(CDC* pDC); virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView); //}}AFX_VIRTUAL protected: virtual ~CSTFullScreenViewLite(); virtual BOOL RefreshFullScreen(); DWORD m_dwFullScreenMode; BOOL m_bInFullSceenState; //{{AFX_MSG(CSTFullScreenViewLite) afx_msg void OnFullScreenRefresh(WPARAM wParam, LPARAM lParam); afx_msg void OnFullScreenSwitch(); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // CSTFullScreenDialog dialog is a good base class to organize full function // full screen dialog with full screen mode switch on/off icon. class CSTFullScreenDialog : public CSTFullScreenDialogLite { public: CSTFullScreenDialog(UINT nIDTemplate, CWnd* pParentWnd = NULL); // standard constructor //Full screen related methods public: // Sets icon image that will be shown on the full scren icon control void SetFullScreenIcon(HICON hIcon); // Sets position where full screen icon will be shown. Could be one of // FSI_TOPLEFT, FSI_TOPRIGHT, FSI_BOTTOMLEFT and FSI_BOTTOMRIGHT. void SetFullScreenIconPosition(UINT nFullScreenIconPosition); // Returns full screen icon control. CSTFullScreenIcon *GetFullScreenIcon(); // Implementation protected: virtual BOOL RefreshFullScreen(); CSTFullScreenIcon m_FullScreenIcon; UINT m_nFullScreenIconPosition; // Generated message map functions //{{AFX_MSG(CSTFullScreenDialog) virtual BOOL OnInitDialog(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // CSTFullScreenview window is a good base class to organize full function // full screen view with full screen mode switch on/off icon. class CSTFullScreenView : public CSTFullScreenViewLite { protected: CSTFullScreenView(); DECLARE_DYNCREATE(CSTFullScreenView) // Operations public: // Sets icon image that will be shown on the full scren icon control void SetFullScreenIcon(HICON hIcon); // Sets position where full screen icon will be shown. Could be one of // FSI_TOPLEFT, FSI_TOPRIGHT, FSI_BOTTOMLEFT and FSI_BOTTOMRIGHT. void SetFullScreenIconPosition(UINT nFullScreenIconPosition); // Returns full screen icon control. CSTFullScreenIcon *GetFullScreenIcon(); //{{AFX_VIRTUAL(CSTFullScreenView) protected: virtual void OnDraw(CDC* pDC); //}}AFX_VIRTUAL protected: virtual ~CSTFullScreenView(); virtual BOOL RefreshFullScreen(); CSTFullScreenIcon m_FullScreenIcon; UINT m_nFullScreenIconPosition; //{{AFX_MSG(CSTFullScreenView) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STFULLSCREEN_H__61332875_BE69_4783_AB30_CB75D099EB1C__INCLUDED_) #include "stdafx.h" #include "STFullScreen.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // CSTFullScreen ////////////////////////////////////////////////////////////////////// CSize CSTFullScreen::GetScreenSize() { CSize size; CDC *pDC = AfxGetMainWnd()->GetDC(); size.cx = pDC->GetDeviceCaps(HORZRES); size.cy = pDC->GetDeviceCaps(VERTRES); AfxGetMainWnd()->ReleaseDC(pDC); return size; } CRect CSTFullScreen::GetFullScreenWindowRect(DWORD dwFullScreenMode, BOOL bInFullSceenState) { #define MENU_HEIGHT 26 //By default window size equals to screen size CSize size = GetScreenSize(); int top = 0; //If command bar is shown then window height should be decreased //by command bar height if (!(dwFullScreenMode & FSF_HIDECOMMANDBAR) || !bInFullSceenState) { size.cy -= MENU_HEIGHT; } //If task bar is shown then window height should be decreased by //task bar height if (!(dwFullScreenMode & FSF_HIDETASKBAR) || !bInFullSceenState) { top += MENU_HEIGHT; size.cy -= MENU_HEIGHT; } return CRect(CPoint(0, top), size); } BOOL CSTFullScreen::RefreshFullScreen(CWnd *pWnd, HWND hCommandBar, DWORD dwFullScreenMode, BOOL bInFullSceenState) { ASSERT(pWnd); //Before hide command bar we should hipe SIP panel if ((dwFullScreenMode & FSF_HIDECOMMANDBAR) && bInFullSceenState) { SHSipPreference(pWnd->m_hWnd, SIP_FORCEDOWN); } //Get main window and check that it's foreground CWnd *pMainWindow = AfxGetMainWnd(); ASSERT(pMainWindow); if (pMainWindow==NULL) return FALSE; pMainWindow->SetForegroundWindow(); HWND hWnd = pMainWindow->GetSafeHwnd(); CRect rect = GetFullScreenWindowRect(dwFullScreenMode, bInFullSceenState); if ((dwFullScreenMode & FSF_HIDECOMMANDBAR) && bInFullSceenState) { //Is command bar should be hidden then we should resize our window //first to prevent blinking pMainWindow->MoveWindow(rect); ::CommandBar_Show(hCommandBar, FALSE); } else { //Is command bar should be shown then we should show it and only then //resize our window to prevent blinking ::CommandBar_Show(hCommandBar, TRUE); pMainWindow->MoveWindow(rect); } if ((dwFullScreenMode & FSF_HIDETASKBAR) && bInFullSceenState) { SHFullScreen(hWnd, SHFS_HIDETASKBAR); } else { SHFullScreen(hWnd, SHFS_SHOWTASKBAR); } if ((dwFullScreenMode & FSF_HIDESIPBUTTON) && bInFullSceenState) { SHFullScreen(hWnd, SHFS_HIDESIPBUTTON); } else { SHFullScreen(hWnd, SHFS_SHOWSIPBUTTON); } if ((dwFullScreenMode & FSF_HIDESTARTICON) && bInFullSceenState) { SHFullScreen(hWnd, SHFS_HIDESTARTICON); } else { SHFullScreen(hWnd, SHFS_SHOWSTARTICON); } return TRUE; } ////////////////////////////////////////////////////////////////////// // CSTFullScreenIcon ////////////////////////////////////////////////////////////////////// CSTFullScreenIcon::CSTFullScreenIcon() : m_bIsToolbarIconSet(FALSE), m_nIconPosition(FSI_BOTTOMLEFT), m_hIcon(NULL), m_pCommandBar(NULL) { } CSTFullScreenIcon::~CSTFullScreenIcon() { } BEGIN_MESSAGE_MAP(CSTFullScreenIcon, CWnd) //{{AFX_MSG_MAP(CSTFullScreenIcon) ON_WM_PAINT() ON_WM_LBUTTONUP() //}}AFX_MSG_MAP END_MESSAGE_MAP() void CSTFullScreenIcon::OnPaint() { CPaintDC dc(this); if (m_hIcon!=NULL) { dc.DrawIcon(CPoint(0,0), m_hIcon); } else { dc.MoveTo(2,2); dc.LineTo(15,15); dc.MoveTo(2,14); dc.LineTo(15, 1); } } void CSTFullScreenIcon::OnLButtonUp(UINT nFlags, CPoint point) { if (GetParent()) { GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(ID_SWITCH_FULLSCREEN, 0), 0); } CWnd::OnLButtonUp(nFlags, point); } void CSTFullScreenIcon::InsertIconInDialogToolbar(CCeCommandBar *pCb) { if (m_bIsToolbarIconSet) { //If the icon is already inserted in the command bar then nothing to do return; } m_pCommandBar = pCb; CToolBarCtrl &cbc = m_pCommandBar->GetToolBarCtrl(); //Checks if the button is already inserted then nothing to do if (cbc.GetButtonCount()>0) { TBBUTTON firstButton; cbc.GetButton(0, &firstButton); if (firstButton.idCommand==ID_SWITCH_FULLSCREEN) { m_bIsToolbarIconSet = true; return; } } CImageList *pCommandBarImageList = cbc.GetImageList(); if (pCommandBarImageList==NULL) { pCommandBarImageList = new CImageList(); pCommandBarImageList->Create(16, 16, ILC_COLORDDB, 2, 1); cbc.SetImageList(pCommandBarImageList); } int nCommandBarImageListPosition = pCommandBarImageList->Add(m_hIcon); TBBUTTON iconInfo; iconInfo.fsState = TBSTATE_ENABLED; iconInfo.fsStyle = TBSTYLE_BUTTON; iconInfo.iBitmap = nCommandBarImageListPosition; iconInfo.idCommand = ID_SWITCH_FULLSCREEN; iconInfo.iString = 0; cbc.InsertButton(0, &iconInfo); m_pCommandBar->SetSizes(CSize(23,22), CSize(16,16)); m_pCommandBar->RedrawWindow(); //Icon is inserted m_bIsToolbarIconSet = true; } void CSTFullScreenIcon::SetIconPosition(UINT nIconPosition, DWORD dwFullScreenMode, BOOL bInFullSceenState) { m_nIconPosition = nIconPosition; if (m_hWnd) { MoveWindow(GetIconRectangle(dwFullScreenMode, bInFullSceenState)); } } CRect CSTFullScreenIcon::GetIconRectangle(DWORD dwFullScreenMode, BOOL bInFullSceenState) { CSize sizeScreen = CSTFullScreen::GetFullScreenWindowRect(dwFullScreenMode, bInFullSceenState).Size(); CSize sizeIcon = CSize(16, 16); CRect rect; switch (m_nIconPosition) { case FSI_TOPLEFT: rect = CRect(CPoint(0, 0), sizeIcon); break; case FSI_TOPRIGHT: rect = CRect(CPoint(sizeScreen.cx-sizeIcon.cx, 0), sizeIcon); break; case FSI_BOTTOMLEFT: rect = CRect(CPoint(0, sizeScreen.cy-sizeIcon.cy), sizeIcon); break; case FSI_BOTTOMRIGHT: rect = CRect(CPoint(sizeScreen.cx-sizeIcon.cx, sizeScreen.cy-sizeIcon.cy), sizeIcon); break; default: rect = CRect(CPoint(0, 0), sizeIcon); } return rect; } BOOL CSTFullScreenIcon::Create (LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, UINT nPosition, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) { CRect rect = GetIconRectangle(FSF_FULLSCREEN, TRUE); return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext); } void CSTFullScreenIcon::SetIcon(HICON hIcon) { m_hIcon = hIcon; if (m_hWnd) { RedrawWindow(); } if ((m_pCommandBar!=NULL) && (m_bIsToolbarIconSet)) { CToolBarCtrl &cbc = m_pCommandBar->GetToolBarCtrl(); CImageList *pCommandBarImageList = cbc.GetImageList(); if (pCommandBarImageList==NULL) { pCommandBarImageList = new CImageList(); pCommandBarImageList->Create(16, 16, ILC_COLORDDB, 2, 1); cbc.SetImageList(pCommandBarImageList); } int nCommandBarImageListPosition = pCommandBarImageList->Add(m_hIcon); TBBUTTON iconInfo; iconInfo.fsState = TBSTATE_ENABLED; iconInfo.fsStyle = TBSTYLE_BUTTON; iconInfo.iBitmap = nCommandBarImageListPosition; iconInfo.idCommand = ID_SWITCH_FULLSCREEN; iconInfo.iString = 0; cbc.DeleteButton(0); cbc.InsertButton(0, &iconInfo); m_pCommandBar->SetSizes(CSize(23,22), CSize(16,16)); m_pCommandBar->RedrawWindow(); } } ////////////////////////////////////////////////////////////////////// // CSTFullScreenDialogLite ////////////////////////////////////////////////////////////////////// CSTFullScreenDialogLite::CSTFullScreenDialogLite(UINT nIDTemplate, CWnd* pParentWnd /*= NULL*/) : CDialog(nIDTemplate, pParentWnd), m_dwFullScreenMode(FSF_FULLSCREEN), m_bInFullSceenState(TRUE) { } BEGIN_MESSAGE_MAP(CSTFullScreenDialogLite, CDialog) //{{AFX_MSG_MAP(CSTFullScreenDialogLite) ON_WM_ACTIVATE() ON_WM_DESTROY() ON_MESSAGE(WM_USER_REFRESH_FULLSCREEN, OnFullScreenRefresh) ON_COMMAND(ID_SWITCH_FULLSCREEN, OnFullScreenSwitch) //}}AFX_MSG_MAP END_MESSAGE_MAP() BOOL CSTFullScreenDialogLite::RefreshFullScreen() { return CSTFullScreen::RefreshFullScreen(this, m_pWndEmptyCB->m_hWnd, m_dwFullScreenMode, m_bInFullSceenState); } BOOL CSTFullScreenDialogLite::OnInitDialog() { CDialog::OnInitDialog(); PostMessage(WM_USER_REFRESH_FULLSCREEN); return TRUE; } void CSTFullScreenDialogLite::OnDestroy() { CDialog::OnDestroy(); } void CSTFullScreenDialogLite::OnFullScreenSwitch() { SwitchFullScreenState(); } void CSTFullScreenDialogLite::OnFullScreenRefresh(WPARAM wParam, LPARAM lParam) { RefreshFullScreen(); } void CSTFullScreenDialogLite::SwitchFullScreenState() { m_bInFullSceenState = !m_bInFullSceenState; RefreshFullScreen(); } void CSTFullScreenDialogLite::SetFullScreenState(BOOL bFullScreen) { m_bInFullSceenState = bFullScreen; RefreshFullScreen(); } BOOL CSTFullScreenDialogLite::GetFullScreenState() { return m_bInFullSceenState; } void CSTFullScreenDialogLite::SetFullScreenMode(DWORD dwFullScreenMode) { m_dwFullScreenMode = dwFullScreenMode; RefreshFullScreen(); } DWORD CSTFullScreenDialogLite::GetFullScreenMode() { return m_dwFullScreenMode; } void CSTFullScreenDialogLite::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CDialog::OnActivate(nState, pWndOther, bMinimized); if (nState!=WA_INACTIVE) { PostMessage(WM_USER_REFRESH_FULLSCREEN); } } int CSTFullScreenDialogLite::DoModal() { CString strParentClass; CWnd objParentWindow; strParentClass = AfxRegisterWndClass(0); objParentWindow.CreateEx(0, strParentClass, ::AfxGetAppName(), WS_VISIBLE, -1, -1, 0, 0, 0, 0); // can be constructed with a resource template or InitModalIndirect ASSERT(m_lpszTemplateName != NULL || m_hDialogTemplate != NULL || m_lpDialogTemplate != NULL); // load resource as necessary LPCDLGTEMPLATE lpDialogTemplate = m_lpDialogTemplate; HGLOBAL hDialogTemplate = m_hDialogTemplate; HINSTANCE hInst = AfxGetResourceHandle(); if (m_lpszTemplateName != NULL) { hInst = AfxFindResourceHandle(m_lpszTemplateName, RT_DIALOG); HRSRC hResource = ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG); hDialogTemplate = LoadResource(hInst, hResource); } if (hDialogTemplate != NULL) lpDialogTemplate = (LPCDLGTEMPLATE)LockResource(hDialogTemplate); // return -1 in case of failure to load the dialog template resource if (lpDialogTemplate == NULL) return -1; // disable parent (before creating dialog) HWND hWndParent = PreModal(); // This line should not be commented but I cannot compile otherwise // AfxUnhookWindowCreate(); BOOL bEnableParent = FALSE; if (hWndParent != NULL && ::IsWindowEnabled(hWndParent)) { ::EnableWindow(hWndParent, FALSE); bEnableParent = TRUE; } TRY { // create modeless dialog // This line should not be commented but I cannot compile otherwise // AfxHookWindowCreate(this); if (CreateDlgIndirect(lpDialogTemplate, &objParentWindow, hInst)) { if (m_nFlags & WF_CONTINUEMODAL) { // enter modal loop DWORD dwFlags = MLF_SHOWONIDLE; if (GetStyle() & DS_NOIDLEMSG) dwFlags |= MLF_NOIDLEMSG; VERIFY(RunModalLoop(dwFlags) == m_nModalResult); } // hide the window before enabling the parent, etc. if (m_hWnd != NULL) SetWindowPos(NULL, 0, 0, 0, 0, SWP_HIDEWINDOW| SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_NOZORDER); } } CATCH_ALL(e) { // This line should not be commented but I cannot compile otherwise // DELETE_EXCEPTION(e); m_nModalResult = -1; } END_CATCH_ALL #if defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 300) if(m_pWndEmptyCB != NULL) { m_pWndEmptyCB->DestroyWindow(); delete m_pWndEmptyCB; m_pWndEmptyCB = NULL; } #endif // _WIN32_WCE_PSPC if (bEnableParent) ::EnableWindow(hWndParent, TRUE); if (hWndParent != NULL && ::GetActiveWindow() == m_hWnd) ::SetActiveWindow(hWndParent); // destroy modal window DestroyWindow(); PostModal(); // unlock/free resources as necessary if (m_lpszTemplateName != NULL || m_hDialogTemplate != NULL) UnlockResource(hDialogTemplate); if (m_lpszTemplateName != NULL) FreeResource(hDialogTemplate); return m_nModalResult; } ////////////////////////////////////////////////////////////////////// // CSTFullScreenViewLite ////////////////////////////////////////////////////////////////////// IMPLEMENT_DYNCREATE(CSTFullScreenViewLite, CView) CSTFullScreenViewLite::CSTFullScreenViewLite() : m_dwFullScreenMode(FSF_FULLSCREEN), m_bInFullSceenState(TRUE) { } CSTFullScreenViewLite::~CSTFullScreenViewLite() { } BEGIN_MESSAGE_MAP(CSTFullScreenViewLite, CView) //{{AFX_MSG_MAP(CSTFullScreenViewLite) ON_MESSAGE(WM_USER_REFRESH_FULLSCREEN, OnFullScreenRefresh) ON_COMMAND(ID_SWITCH_FULLSCREEN, OnFullScreenSwitch) ON_WM_CREATE() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() void CSTFullScreenViewLite::OnDraw(CDC* pDC) { } BOOL CSTFullScreenViewLite::RefreshFullScreen() { return CSTFullScreen::RefreshFullScreen(this, GetParentFrame()->m_hCommandBar, m_dwFullScreenMode, m_bInFullSceenState); } void CSTFullScreenViewLite::OnDestroy() { m_bInFullSceenState = FALSE; RefreshFullScreen(); CView::OnDestroy(); } void CSTFullScreenViewLite::OnFullScreenSwitch() { SwitchFullScreenState(); } void CSTFullScreenViewLite::OnFullScreenRefresh(WPARAM wParam, LPARAM lParam) { RefreshFullScreen(); } void CSTFullScreenViewLite::SwitchFullScreenState() { m_bInFullSceenState = !m_bInFullSceenState; RefreshFullScreen(); } void CSTFullScreenViewLite::SetFullScreenState(BOOL bFullScreen) { m_bInFullSceenState = bFullScreen; RefreshFullScreen(); } BOOL CSTFullScreenViewLite::GetFullScreenState() { return m_bInFullSceenState; } void CSTFullScreenViewLite::SetFullScreenMode(DWORD dwFullScreenMode) { m_dwFullScreenMode = dwFullScreenMode; RefreshFullScreen(); } DWORD CSTFullScreenViewLite::GetFullScreenMode() { return m_dwFullScreenMode; } int CSTFullScreenViewLite::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; PostMessage(WM_USER_REFRESH_FULLSCREEN); return 0; } void CSTFullScreenViewLite::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) { if (bActivate) { PostMessage(WM_USER_REFRESH_FULLSCREEN); } CView::OnActivateView(bActivate, pActivateView, pDeactiveView); } ////////////////////////////////////////////////////////////////////// // CSTFullScreenDialog ////////////////////////////////////////////////////////////////////// CSTFullScreenDialog::CSTFullScreenDialog(UINT nIDTemplate, CWnd* pParentWnd /*= NULL*/) : CSTFullScreenDialogLite(nIDTemplate, pParentWnd), m_nFullScreenIconPosition(FSI_BOTTOMLEFT) { } BEGIN_MESSAGE_MAP(CSTFullScreenDialog, CSTFullScreenDialogLite) //{{AFX_MSG_MAP(CSTFullScreenDialog) //}}AFX_MSG_MAP END_MESSAGE_MAP() BOOL CSTFullScreenDialog::RefreshFullScreen() { BOOL bResult = CSTFullScreenDialogLite::RefreshFullScreen(); m_FullScreenIcon.InsertIconInDialogToolbar((CCeCommandBar*)m_pWndEmptyCB); m_FullScreenIcon.SetIconPosition(m_nFullScreenIconPosition, m_dwFullScreenMode, m_bInFullSceenState); if (m_bInFullSceenState && (m_dwFullScreenMode & FSF_HIDECOMMANDBAR)) { m_FullScreenIcon.ShowWindow(SW_SHOW); } else { m_FullScreenIcon.ShowWindow(SW_HIDE); } return bResult; } BOOL CSTFullScreenDialog::OnInitDialog() { CSTFullScreenDialogLite::OnInitDialog(); m_FullScreenIcon.SetIcon(GetIcon(FALSE)); m_FullScreenIcon.Create(NULL, _T("FullScreenSwitchIcon"), WS_CHILD | WS_VISIBLE, FSI_BOTTOMLEFT, this, 45); return TRUE; } CSTFullScreenIcon *CSTFullScreenDialog::GetFullScreenIcon() { return &m_FullScreenIcon; } void CSTFullScreenDialog::SetFullScreenIcon(HICON hIcon) { m_FullScreenIcon.SetIcon(hIcon); } void CSTFullScreenDialog::SetFullScreenIconPosition(UINT nFullScreenIconPosition) { m_nFullScreenIconPosition = nFullScreenIconPosition; m_FullScreenIcon.SetIconPosition(nFullScreenIconPosition, m_dwFullScreenMode, m_bInFullSceenState); } ////////////////////////////////////////////////////////////////////// // CSTFullScreenView ////////////////////////////////////////////////////////////////////// IMPLEMENT_DYNCREATE(CSTFullScreenView, CSTFullScreenViewLite) CSTFullScreenView::CSTFullScreenView() : m_nFullScreenIconPosition(FSI_BOTTOMLEFT) { } CSTFullScreenView::~CSTFullScreenView() { } BEGIN_MESSAGE_MAP(CSTFullScreenView, CSTFullScreenViewLite) //{{AFX_MSG_MAP(CSTFullScreenView) ON_WM_CREATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() void CSTFullScreenView::OnDraw(CDC* pDC) { } BOOL CSTFullScreenView::RefreshFullScreen() { BOOL bResult = CSTFullScreenViewLite::RefreshFullScreen(); CCeCommandBar *pCb = (CCeCommandBar*)CCeCommandBar::FromHandle(GetParentFrame()->m_hCommandBar); m_FullScreenIcon.InsertIconInDialogToolbar(pCb); m_FullScreenIcon.SetIconPosition(m_nFullScreenIconPosition, m_dwFullScreenMode, m_bInFullSceenState); if (m_bInFullSceenState && (m_dwFullScreenMode & FSF_HIDECOMMANDBAR)) { m_FullScreenIcon.ShowWindow(SW_SHOW); } else { m_FullScreenIcon.ShowWindow(SW_HIDE); } return bResult; } int CSTFullScreenView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CSTFullScreenViewLite::OnCreate(lpCreateStruct) == -1) return -1; m_FullScreenIcon.SetIcon(GetIcon(FALSE)); m_FullScreenIcon.Create(NULL, _T("FullScreenSwitchIcon"), WS_CHILD | WS_VISIBLE, FSI_BOTTOMLEFT, this, 45); return 0; } CSTFullScreenIcon *CSTFullScreenView::GetFullScreenIcon() { return &m_FullScreenIcon; } void CSTFullScreenView::SetFullScreenIcon(HICON hIcon) { m_FullScreenIcon.SetIcon(hIcon); } void CSTFullScreenView::SetFullScreenIconPosition(UINT nFullScreenIconPosition) { m_nFullScreenIconPosition = nFullScreenIconPosition; m_FullScreenIcon.SetIconPosition(nFullScreenIconPosition, m_dwFullScreenMode, m_bInFullSceenState); } (( wwwwwwppwwwppppppqppppwwwwwwp$$// newproj.inf = template for list of template files $$// format is 'sourceResName' \t 'destFileName' $$// The source res name may be preceded by any combination of '=', '-', '!', '?', ':', '#', and/or '*' $$// '=' => the resource is binary $$// '-' => the file should not be added to the project (all files are added to the project by default) $$// '!' => the file should be marked exclude from build $$// '?' => the file should be treated as a help file $$// ':' => the file should be treated as a resource $$// '#' => the file should be treated as a template (implies '!') $$// '*' => bypass the custom AppWizard's resources when loading $$// if name starts with / => create new subdir /res STFULLSCREEN.CPP STFullScreen.cpp STFULLSCREEN.H STFullScreen.h =:FULLSCREEN.ICO res\FullScreen.ico $$IF(FS_PROJECT_TYPE_DIALOG) $$IF(FS_STATIC_MFC) DT_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) DT_README.TXT ReadMe.txt $$ENDIF =:DT_ROOT.ICO res\$$root$$.ico :DT_ROOT.RC2 res\$$root$$.rc2 DT_RESOURCE.H Resource.h DT_STDAFX.CPP StdAfx.cpp DT_STDAFX.H StdAfx.h DT_ROOT.CPP $$root$$.cpp DT_ROOT.H $$root$$.h DT_ROOT.RC $$root$$.rc =DT_XXX.VCB $$root$$.vcb DT_XXX.VCC $$root$$.vcc DT_DIALOG.CPP $$F_IMPLEMENTATION_DIALOG$$ DT_DIALOG.H $$F_HEADER_DIALOG$$ $$ELSE DS_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) DS_README.TXT ReadMe.txt $$ENDIF =:DS_ROOT.ICO res\$$root$$.ico :DS_ROOT.RC2 res\$$root$$.rc2 DS_RESOURCE.H Resource.h DS_STDAFX.CPP StdAfx.cpp DS_STDAFX.H StdAfx.h DS_ROOT.CPP $$root$$.cpp DS_ROOT.H $$root$$.h DS_ROOT.RC $$root$$.rc =DS_XXX.VCB $$root$$.vcb DS_XXX.VCC $$root$$.vcc DS_DIALOG.CPP $$F_IMPLEMENTATION_DIALOG$$ DS_DIALOG.H $$F_HEADER_DIALOG$$ $$ENDIF $$ENDIF $$IF(FS_PROJECT_TYPE_DOCLIST) $$IF(FS_STATIC_MFC) LT_ROOT.CPP $$root$$.cpp LT_ROOT.H $$root$$.h LT_ROOT.RC $$root$$.rc =LT_DOCLISTSTATICALLFEATURES.VCB $$root$$.vcb LT_DOCLISTSTATICALLFEATURES.VCC $$root$$.vcc LT_DOC.CPP $$F_IMPLEMENTATION_DOCUMENT$$ LT_DOC.H $$F_HEADER_DOCUMENT$$ LT_VIEW.CPP $$F_IMPLEMENTATION_VIEW$$ LT_VIEW.H $$F_HEADER_VIEW$$ LT_MAINFRM.CPP $$F_IMPLEMENTATION_MAINFRAME$$ LT_MAINFRM.H $$F_HEADER_MAINFRAME$$ LT_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) LT_README.TXT ReadMe.txt $$ENDIF =:LT_CMDBAR.BMP res\Cmdbar.bmp =:LT_ROOT.ICO res\$$root$$.ico :LT_ROOT.RC2 res\$$root$$.rc2 LT_RESOURCE.H Resource.h LT_STDAFX.CPP StdAfx.cpp LT_STDAFX.H StdAfx.h $$ELSE LS_MAINFRM.CPP $$F_IMPLEMENTATION_MAINFRAME$$ LS_MAINFRM.H $$F_HEADER_MAINFRAME$$ LS_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) LS_README.TXT ReadMe.txt $$ENDIF =:LS_CMDBAR.BMP res\Cmdbar.bmp =:LS_ROOT.ICO res\$$root$$.ico :LS_ROOT.RC2 res\$$root$$.rc2 LS_RESOURCE.H Resource.h LS_STDAFX.CPP StdAfx.cpp LS_STDAFX.H StdAfx.h LS_ROOT.CPP $$root$$.cpp LS_ROOT.H $$root$$.h LS_ROOT.RC $$root$$.rc =LS_XXX.VCB $$root$$.vcb LS_XXX.VCC $$root$$.vcc LS_DOC.CPP $$F_IMPLEMENTATION_DOCUMENT$$ LS_DOC.H $$F_HEADER_DOCUMENT$$ LS_VIEW.CPP $$F_IMPLEMENTATION_VIEW$$ LS_VIEW.H $$F_HEADER_VIEW$$ $$ENDIF $$ENDIF $$IF(FS_PROJECT_TYPE_DOCVIEW) $$IF(FS_STATIC_MFC) LT_ROOT.CPP $$root$$.cpp LT_ROOT.H $$root$$.h LT_ROOT.RC $$root$$.rc =LT_DOCLISTSTATICALLFEATURES.VCB $$root$$.vcb LT_DOCLISTSTATICALLFEATURES.VCC $$root$$.vcc LT_DOC.CPP $$F_IMPLEMENTATION_DOCUMENT$$ LT_DOC.H $$F_HEADER_DOCUMENT$$ LT_VIEW.CPP $$F_IMPLEMENTATION_VIEW$$ LT_VIEW.H $$F_HEADER_VIEW$$ LT_MAINFRM.CPP $$F_IMPLEMENTATION_MAINFRAME$$ LT_MAINFRM.H $$F_HEADER_MAINFRAME$$ LT_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) LT_README.TXT ReadMe.txt $$ENDIF =:LT_CMDBAR4.BMP res\Cmdbar.bmp =:LT_ROOT.ICO res\$$root$$.ico :LT_ROOT.RC2 res\$$root$$.rc2 LT_RESOURCE.H Resource.h LT_STDAFX.CPP StdAfx.cpp LT_STDAFX.H StdAfx.h $$ELSE LS_MAINFRM.CPP $$F_IMPLEMENTATION_MAINFRAME$$ LS_MAINFRM.H $$F_HEADER_MAINFRAME$$ LS_NEWRES.H newres.h $$IF(FS_GENERATE_COMMENTS) LS_README.TXT ReadMe.txt $$ENDIF =:LS_CMDBAR4.BMP res\Cmdbar.bmp =:LS_ROOT.ICO res\$$root$$.ico :LS_ROOT.RC2 res\$$root$$.rc2 LS_RESOURCE.H Resource.h LS_STDAFX.CPP StdAfx.cpp LS_STDAFX.H StdAfx.h LS_ROOT.CPP $$root$$.cpp LS_ROOT.H $$root$$.h LS_ROOT.RC $$root$$.rc =LS_XXX.VCB $$root$$.vcb LS_XXX.VCC $$root$$.vcc LS_DOC.CPP $$F_IMPLEMENTATION_DOCUMENT$$ LS_DOC.H $$F_HEADER_DOCUMENT$$ LS_VIEW.CPP $$F_IMPLEMENTATION_VIEW$$ LS_VIEW.H $$F_HEADER_VIEW$$ $$ENDIF $$ENDIF $$IF(FS_PROJECT_TYPE_DIALOG) Application type of $$root$$: Dialog-Based Full Screen Application targeting: Win32 (WCE ARM) Win32 (WCE MIPS) Win32 (WCE SH3) Win32 (WCE SH4) Win32 (WCE x86em) Classes to be created: Application: $$F_CLASS_APPLICATION$$ in $$F_HEADER_APPLICATION$$ and $$F_IMPLEMENTATION_APPLICATION$$ Dialog: $$F_CLASS_DIALOG$$ in $$F_HEADER_DIALOG$$ and $$F_IMPLEMENTATION_DIALOG$$ ST Full Screen library: CSTFullScreen, CSTFullScreenIcon, CSTFullScreenViewLite, CSTFullScreenView, CSTFullScreenDialogLite and CSTFullScreenDialog in STFullScreen.h and STFullScreen.cpp Features: + Uses shared DLL implementation + Localizable text in: English [United States] $$ENDIF $$IF(FS_PROJECT_TYPE_DOCLIST) Application type of $$root$$: Single Document Interface Full Screen Application, with Doc List support targeting: Win32 (WCE ARM) Win32 (WCE MIPS) Win32 (WCE SH3) Win32 (WCE SH4) Win32 (WCE x86em) Classes to be created: Application: $$F_CLASS_APPLICATION$$ in $$F_HEADER_APPLICATION$$ and $$F_IMPLEMENTATION_APPLICATION$$ Frame: $$F_CLASS_MAINFRAME$$ in $$F_HEADER_MAINFRAME$$ and $$F_IMPLEMENTATION_MAINFRAME$$ Document: $$F_CLASS_DOCUMENT$$ in $$F_HEADER_DOCUMENT$$ and $$F_IMPLEMENTATION_DOCUMENT$$ View: $$F_CLASS_VIEW$$ in $$F_HEADER_VIEW$$ and $$F_IMPLEMENTATION_VIEW$$ ST Full Screen library: CSTFullScreen, CSTFullScreenIcon, CSTFullScreenViewLite, CSTFullScreenView, CSTFullScreenDialogLite and CSTFullScreenDialog in STFullScreen.h and STFullScreen.cpp Features: + Menu bar in main frame with menu, buttons, and adornments + Uses shared DLL implementation + Localizable text in: English [United States] $$ENDIF $$IF(FS_PROJECT_TYPE_DOCVIEW) Application type of $$root$$: Single Document Interface Full Screen Application targeting: Win32 (WCE ARM) Win32 (WCE MIPS) Win32 (WCE SH3) Win32 (WCE SH4) Win32 (WCE x86em) Classes to be created: Application: $$F_CLASS_APPLICATION$$ in $$F_HEADER_APPLICATION$$ and $$F_IMPLEMENTATION_APPLICATION$$ Frame: $$F_CLASS_MAINFRAME$$ in $$F_HEADER_MAINFRAME$$ and $$F_IMPLEMENTATION_MAINFRAME$$ Document: $$F_CLASS_DOCUMENT$$ in $$F_HEADER_DOCUMENT$$ and $$F_IMPLEMENTATION_DOCUMENT$$ View: $$F_CLASS_VIEW$$ in $$F_HEADER_VIEW$$ and $$F_IMPLEMENTATION_VIEW$$ ST Full Screen library: CSTFullScreen, CSTFullScreenIcon, CSTFullScreenViewLite, CSTFullScreenView, CSTFullScreenDialogLite and CSTFullScreenDialog in STFullScreen.h and STFullScreen.cpp Features: + Menu bar in main frame with menu, buttons, and adornments + Uses shared DLL implementation + Localizable text in: English [United States] $$ENDIF // $$F_IMPLEMENTATION_DIALOG$$ : implementation file // #include "stdafx.h" #include "$$root$$.h" #include "$$F_HEADER_DIALOG$$" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_DIALOG$$ dialog $$F_CLASS_DIALOG$$::$$F_CLASS_DIALOG$$(CWnd* pParent /*=NULL*/) : CSTFullScreenDialog($$F_CLASS_DIALOG$$::IDD, pParent) { //{{AFX_DATA_INIT($$F_CLASS_DIALOG$$) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT $$IF(FS_GENERATE_COMMENTS) // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 $$ENDIF m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void $$F_CLASS_DIALOG$$::DoDataExchange(CDataExchange* pDX) { CSTFullScreenDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP($$F_CLASS_DIALOG$$) // NOTE: the ClassWizard will add DDX and DDV calls here //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP($$F_CLASS_DIALOG$$, CSTFullScreenDialog) //{{AFX_MSG_MAP($$F_CLASS_DIALOG$$) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_DIALOG$$ message handlers BOOL $$F_CLASS_DIALOG$$::OnInitDialog() { CSTFullScreenDialog::OnInitDialog(); $$IF(FS_GENERATE_COMMENTS) // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog $$ENDIF SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // Set icon to switch full screen mode on/off HICON hIcon = (HICON)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_FULLSCREEN_ICON), IMAGE_ICON, 16, 16, 0); SetFullScreenIcon(hIcon); CenterWindow(GetDesktopWindow()); // center to the hpc screen // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } // $$F_HEADER_DIALOG$$ : header file // #if !defined(AFX_XXXDLG_H__817A49A4_1147_4AE0_8A42_33BA913D243D__INCLUDED_) #define AFX_XXXDLG_H__817A49A4_1147_4AE0_8A42_33BA913D243D__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_DIALOG$$ dialog #include "STFullScreen.h" class $$F_CLASS_DIALOG$$ : public CSTFullScreenDialog { // Construction public: $$F_CLASS_DIALOG$$(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA($$F_CLASS_DIALOG$$) enum { IDD = IDD_$$SAFE_ROOT$$_DIALOG }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL($$F_CLASS_DIALOG$$) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: HICON m_hIcon; // Generated message map functions //{{AFX_MSG($$F_CLASS_DIALOG$$) virtual BOOL OnInitDialog(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_XXXDLG_H__817A49A4_1147_4AE0_8A42_33BA913D243D__INCLUDED_) #ifndef __NEWRES_H__ #define __NEWRES_H__ #define SHMENUBAR RCDATA #if !(defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 300)) #undef HDS_HORZ #undef HDS_BUTTONS #undef HDS_HIDDEN #include // for MenuBar #define I_IMAGENONE (-2) #define NOMENU 0xFFFF #define IDS_SHNEW 1 #define IDM_SHAREDNEW 10 #define IDM_SHAREDNEWDEFAULT 11 // for Tab Control #define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab #define TCS_BOTTOM 0x0002 #define TCS_RIGHT 0x0002 #define TCS_VERTICAL 0x0080 #define TCS_MULTISELECT 0x0004 // allow multi-select in button mode #define TCS_FLATBUTTONS 0x0008 #endif //_WIN32_WCE_PSPC #endif //__NEWRES_H__ ======================================================================== Microsoft Foundation Class Library for Windows CE: XXX ======================================================================== AppWizard has created this $$root$$ application for you. This application not only demonstrates the basics of using the Microsoft Foundation classes but is also a starting point for writing your application. This file contains a summary of what you will find in each of the files that make up your $$root$$ application. $$root$$.h This is the main header file for the application. It includes other project specific headers (including Resource.h) and declares the $$F_CLASS_APPLICATION$$ application class. $$root$$.cpp This is the main application source file that contains the application class $$F_CLASS_APPLICATION$$. $$root$$.rc This is a listing of all of the Microsoft Windows CE resources that the program uses. It includes the icons, bitmaps, and cursors that are stored in the RES subdirectory. This file can be directly edited in Microsoft eMbedded Visual C++. res\$$root$$.ico This is an icon file, which is used as the application's icon. This icon is included by the main resource file $$root$$.rc. res\$$root$$.rc2 This file contains resources that are not edited by Microsoft eMbedded Visual C++. You should place all resources not editable by the resource editor in this file. XXX.vcc This file contains information used by ClassWizard to edit existing classes or add new classes. ClassWizard also uses this file to store information needed to create and edit message maps and dialog data maps and to create prototype member functions. ///////////////////////////////////////////////////////////////////////////// AppWizard creates one dialog class: $$F_HEADER_DIALOG$$, $$F_IMPLEMENTATION_DIALOG$$ - the dialog These files contain your $$F_CLASS_DIALOG$$ class. This class defines the behavior of your application's main dialog. The dialog's template is in $$root$$.rc, which can be edited in Microsoft Developer Studio. ///////////////////////////////////////////////////////////////////////////// Other standard files: StdAfx.h, StdAfx.cpp These files are used to build a precompiled header (PCH) file named $$root$$.pch and a precompiled types file named StdAfx.obj. Resource.h This is the standard header file, which defines new resource IDs. Microsoft eMbedded Visual C++ reads and updates this file. ///////////////////////////////////////////////////////////////////////////// Other notes: AppWizard uses "TODO:" to indicate parts of the source code you should add to or customize. If your application uses MFC in a shared DLL, and your application is in a language other than the operating system's current language, you will need to copy the corresponding localized resources MFCWC$$ROOT$$.DLL from the Microsoft eMbedded Visual C++ CD-ROM onto the system or system32 directory, and rename it to be MFCLOC.DLL. ("$$root$$" stands for the language abbreviation. For example, MFCWCDEU.DLL contains resources translated to German.) If you don't do this, some of the UI elements of your application will remain in the language of the operating system. ///////////////////////////////////////////////////////////////////////////// //{{NO_DEPENDENCIES}} // Microsoft eMbedded Visual C++ generated include file. // Used by $$ROOT$$.RC // #define IDR_MAINFRAME 128 #define IDD_$$SAFE_ROOT$$_DIALOG 102 $$IF(FS_FEATURE_WINSOCKS) #define IDP_SOCKETS_INIT_FAILED 103 $$ENDIF #define IDR_FULLSCREEN_ICON 129 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 130 #define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif // $$root$$.cpp : Defines the class behaviors for the application. // #include "stdafx.h" #include "$$root$$.h" #include "$$F_HEADER_DIALOG$$" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_APPLICATION$$ BEGIN_MESSAGE_MAP($$F_CLASS_APPLICATION$$, CWinApp) //{{AFX_MSG_MAP($$F_CLASS_APPLICATION$$) $$IF(FS_GENERATE_COMMENTS) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! $$ENDIF //}}AFX_MSG END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_APPLICATION$$ construction $$F_CLASS_APPLICATION$$::$$F_CLASS_APPLICATION$$() : CWinApp() { $$IF(FS_GENERATE_COMMENTS) // TODO: add construction code here, // Place all significant initialization in InitInstance $$ENDIF } ///////////////////////////////////////////////////////////////////////////// // The one and only $$F_CLASS_APPLICATION$$ object $$F_CLASS_APPLICATION$$ theApp; ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_APPLICATION$$ initialization BOOL $$F_CLASS_APPLICATION$$::InitInstance() { $$IF(FS_FEATURE_WINSOCKS) if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; } $$ENDIF $$IF(FS_FEATURE_ACTIVEX) AfxEnableControlContainer(); $$ENDIF // Standard initialization $$IF(FS_GENERATE_COMMENTS) // If you are not using these features and wish to reduce the size // of your final executable, you should remove from the following // the specific initialization routines you do not need. $$ENDIF $$F_CLASS_DIALOG$$ dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { $$IF(FS_GENERATE_COMMENTS) // TODO: Place code here to handle when the dialog is // dismissed with OK $$ENDIF } else if (nResponse == IDCANCEL) { $$IF(FS_GENERATE_COMMENTS) // TODO: Place code here to handle when the dialog is // dismissed with Cancel $$ENDIF } // Since the dialog has been closed, return FALSE so that we exit the // application, rather than start the application's message pump. return FALSE; } // $$root$$.h : main header file for the $$root$$ application // #if !defined(AFX_XXX_H__8A5D9678_690B_447A_8CDE_045EFFF3C65D__INCLUDED_) #define AFX_XXX_H__8A5D9678_690B_447A_8CDE_045EFFF3C65D__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #ifndef __AFXWIN_H__ #error include 'stdafx.h' before including this file for PCH #endif #include "resource.h" // main symbols ///////////////////////////////////////////////////////////////////////////// // $$F_CLASS_APPLICATION$$: // See $$root$$.cpp for the implementation of this class // class $$F_CLASS_APPLICATION$$ : public CWinApp { public: $$F_CLASS_APPLICATION$$(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL($$F_CLASS_APPLICATION$$) public: virtual BOOL InitInstance(); //}}AFX_VIRTUAL // Implementation //{{AFX_MSG($$F_CLASS_APPLICATION$$) $$IF(FS_GENERATE_COMMENTS) // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code ! $$ENDIF //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_XXX_H__8A5D9678_690B_447A_8CDE_045EFFF3C65D__INCLUDED_) // Microsoft eMbedded Visual C++ generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" #include "newres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END 2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "#include ""newres.h""\r\n" "\0" END 3 TEXTINCLUDE DISCARDABLE BEGIN "#define _AFX_NO_SPLITTER_RESOURCES\r\n" "#define _AFX_NO_OLE_RESOURCES\r\n" "#define _AFX_NO_TRACKER_RESOURCES\r\n" "#define _AFX_NO_PROPERTY_RESOURCES\r\n" "\r\n" "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" "#ifdef _WIN32\r\n" "LANGUAGE 9, 1\r\n" "#pragma code_page(1252)\r\n" "#endif //_WIN32\r\n" "#include ""res\\$$root$$.rc2"" // non-Microsoft eMbedded Visual C++ edited resources\r\n" "#include ""afxres.rc"" // Standard components\r\n" "#include ""wceres.rc"" // WCE-specific components\r\n" "#endif\r\n" "\0" END ///////////////////////////////////////////////////////////////////////////// #endif // APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Icon // // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. IDR_FULLSCREEN_ICON ICON DISCARDABLE "res\\FullScreen.ico" IDR_MAINFRAME ICON DISCARDABLE "res\\$$root$$.ico" #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE 9, 1 #pragma code_page(1252) #endif //_WIN32 ///////////////////////////////////////////////////////////////////////////// // // Dialog // IDD_$$SAFE_ROOT$$_DIALOG DIALOG DISCARDABLE 0, 0, 139, 103 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION EXSTYLE WS_EX_APPWINDOW | WS_EX_CAPTIONOKBTN CAPTION "$$FS_DIALOG_TITLE$$" FONT 8, "System" BEGIN LTEXT "TODO: Place dialog controls here.",IDC_STATIC,13,33,112,17 END ///////////////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904B0" BEGIN VALUE "CompanyName", "\0" VALUE "FileDescription", "$$ROOT$$ WCE MFC Application\0" VALUE "FileVersion", "1, 0, 0, 1\0" VALUE "InternalName", "$$ROOT$$\0" VALUE "LegalCopyright", "Copyright (C) 2001\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename","$$ROOT$$.EXE\0" VALUE "ProductName", "$$root$$ Application\0" VALUE "ProductVersion", "1, 0, 0, 1\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO // #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_$$SAFE_ROOT$$_DIALOG, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 132 TOPMARGIN, 7 BOTTOMMARGIN, 96 END END #endif // APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // String Table // $$IF(FS_FEATURE_WINSOCKS) STRINGTABLE DISCARDABLE BEGIN IDP_SOCKETS_INIT_FAILED "Windows CE sockets initialization failed." END $$ENDIF #endif #ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // #define _AFX_NO_SPLITTER_RESOURCES #define _AFX_NO_OLE_RESOURCES #define _AFX_NO_TRACKER_RESOURCES #define _AFX_NO_PROPERTY_RESOURCES #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE 9, 1 #pragma code_page(1252) #endif //_WIN32 #include "res\\$$root$$.rc2" // non-Microsoft eMbedded Visual C++ edited resources #include "afxres.rc" // Standard components #include "wceres.rc" // WCE-specific components #endif ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED // stdafx.cpp : source file that includes just the standard includes // $$root$$.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__4C807100_F699_48CB_8F1B_99F09007B50B__INCLUDED_) #define AFX_STDAFX_H__4C807100_F699_48CB_8F1B_99F09007B50B__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include // MFC core and standard components #include // MFC extensions #if defined(_WIN32_WCE) && (_WIN32_WCE >= 211) && (_AFXDLL) #include // MFC support for Internet Explorer 4 Common Controls #endif $$IF(FS_FEATURE_ACTIVEX) #include // MFC OLE automation classes $$ENDIF #ifndef _AFX_NO_AFXCMN_SUPPORT #include // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT $$IF(FS_FEATURE_WINSOCKS) #include // MFC socket extensions $$ENDIF //{{AFX_INSERT_LOCATION}} // Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__4C807100_F699_48CB_8F1B_99F09007B50B__INCLUDED_) Microsoft C/C++ program database 2.00 JG1. v ,0x ;$e  v    )I*   $$%47""7""  v 7 "%7 7  7 *8*  '%4    e    (H 4@@@%   (4e@ @ %%(!! @ %BI