home *** CD-ROM | disk | FTP | other *** search
- #include "StdAfx.h"
- #include "Controls.h"
- #include "resource.h"
- #include "MyPropertySheet.h"
-
- #ifdef _DEBUG
- #undef THIS_FILE
- static char BASED_CODE THIS_FILE[] = __FILE__;
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // CMyPropertySheet
-
- IMPLEMENT_DYNAMIC( CMyPropertySheet, CPropertySheet )
-
- CMyPropertySheet::CMyPropertySheet( CWnd* pWndParent ) :
- CPropertySheet( IDS_PROPSHT_CAPTION, pWndParent )
- {
- AddPage( &m_Page5 );
- AddPage( &m_Page1 );
- AddPage( &m_Page2 );
- AddPage( &m_Page3 );
- AddPage( &m_Page4 );
- }
-
- CMyPropertySheet::~CMyPropertySheet()
- {
- }
-
- BEGIN_MESSAGE_MAP( CMyPropertySheet, CPropertySheet )
- //{{AFX_MSG_MAP(CMyPropertySheet)
- ON_WM_SYSCOMMAND()
- ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CMyPropertySheet message handlers
-
- BOOL CMyPropertySheet::OnInitDialog()
- {
- char str[256]="";
- GetCurrentDirectory(256,str);
- theApp.m_ExePath.Format("%s",str);
-
- CPropertySheet::OnInitDialog();
-
- // Add "About..." menu item to system menu.
-
- // IDM_ABOUTBOX must be in the system command range.
- ASSERT( (IDM_ABOUTBOX & 0xFFF0 ) == IDM_ABOUTBOX );
- ASSERT( IDM_ABOUTBOX < 0xF000 );
-
- CMenu* pSysMenu = GetSystemMenu( FALSE );
- if ( pSysMenu != NULL )
- {
- CString strAboutMenu;
- strAboutMenu.LoadString( IDS_ABOUTBOX );
- if ( !strAboutMenu.IsEmpty() )
- {
- pSysMenu->AppendMenu( MF_SEPARATOR );
- pSysMenu->AppendMenu( MF_STRING, IDM_ABOUTBOX, strAboutMenu );
- }
- }
-
- SetIcon( AfxGetApp()->LoadIcon( IDR_MAINFRAME ), TRUE );
-
- /////************************************************//////////////////////
- HMENU hmenu = CreateMenu();
- ::SetMenu(m_hWnd,hmenu);
- //::SetMenu(m_hWnd,LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1)));
-
- HMENU hmenuFile = CreatePopupMenu();
- HMENU hmenuSkines = CreatePopupMenu();
- HMENU hmenuHelp = CreatePopupMenu();
-
- AppendMenu(hmenuFile, MF_ENABLED | MF_STRING, IDR_FILE_OPEN, "&Open");
- AppendMenu(hmenuFile, MF_ENABLED | MF_STRING, ID_FILE_EXIT, "E&xit");
-
- //AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_ADDSKIN, "&AddSkin");
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_TOOLS_APPLYSKIN, "&ApplySkin");
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_TOOLS_REMOVESKIN, "&RemoveSkin");
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, 35600, "&DeleteSkin");
-
- AppendMenu(hmenuSkines, MF_SEPARATOR, 0, NULL);
-
- CString fileSize = "";
- theApp.customNumber = 0;
- WIN32_FIND_DATA fd;
- SetCurrentDirectory(theApp.skinPath);
- HANDLE h=FindFirstFile("*.*",&fd);
- while (FindNextFile (h,&fd))
- {
- if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
- {
- }
- else
- {
- if (strcmp (fd.cFileName, "GlaucousTrack.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_GLAUCOUSTRACK, fd.cFileName);
- else if (strcmp (fd.cFileName, "Metallic.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_METALLIC, fd.cFileName);
- else if (strcmp (fd.cFileName, "Ruby.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_RUBY, fd.cFileName);
- else if (strcmp (fd.cFileName, "SkinCrafter.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_SKINCRAFTER, fd.cFileName);
- else if (strcmp (fd.cFileName, "TechnoBronze.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_TECHNOBRONZE, fd.cFileName);
- else if (strcmp (fd.cFileName, "Tiger-eye.skf")==0)
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, ID_SKINS_TIGEREYE, fd.cFileName);
- else
- {
- AppendMenu(hmenuSkines, MF_ENABLED | MF_STRING, 35500+theApp.customNumber, fd.cFileName);
- //CheckMenuItem(hmenuSkines, 35500+theApp.customNumber, MF_CHECKED);
- theApp.customSkinNames[theApp.customNumber] = fd.cFileName;
- theApp.customNumber++;
- }
- }
- }
- FindClose(h);
-
- AppendMenu(hmenuHelp, MF_ENABLED | MF_STRING, ID_HELP_ABOUT, "About");
-
- // ─εßαΓδ σ∞ Γ≡σ∞σφφ√σ ∞σφ■ Ω ∞σφ■ Γσ≡⌡φσπε ≤≡εΓφ
- AppendMenu(hmenu, MF_ENABLED|MF_POPUP, (UINT)hmenuFile, "&File");
- AppendMenu(hmenu, MF_ENABLED|MF_POPUP, (UINT)hmenuSkines, "&Skines");
- AppendMenu(hmenu, MF_ENABLED|MF_POPUP, (UINT)hmenuHelp, "&Help");
- //BOOL res = AppendMenu(LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1)), MF_ENABLED|MF_POPUP, (UINT)hmenuFile, "&Skinez");
- /////************************************************//////////////////////
-
- CRect rectW;
- GetWindowRect(&rectW);
-
- rectW.bottom += GetSystemMetrics(SM_CYMENU);
-
- MoveWindow(&rectW);
-
- ModifyStyle(WS_POPUPWINDOW,WS_BORDER|WS_CAPTION|WS_THICKFRAME);
-
- HKEY hk;
- DWORD dwData;
-
- if(RegOpenKeyEx( HKEY_LOCAL_MACHINE,
- "Software\\SkinCrafter\\SkinCrafter Demo",
- 0, KEY_QUERY_VALUE, &hk) != ERROR_SUCCESS);
-
-
- char skinPath[_MAX_PATH] = "";
- if(RegQueryValueEx(hk,"SkinPath",NULL,NULL,(LPBYTE)skinPath,&dwData) == ERROR_SUCCESS)
- m_Page1.m_strSkinDir.Format("%s",skinPath);
-
-
- RegCloseKey(hk);
-
- SHFILEINFO shinfo;
- DWORD dw = SHGetFileInfo( m_Page1.m_strSkinDir, NULL,
- &shinfo,
- sizeof(shinfo),
- SHGFI_DISPLAYNAME );
- if(dw == 0)
- m_Page1.m_strSkinDir = theApp.m_ExePath;
-
- return TRUE;
- }
-
- void CMyPropertySheet::OnSysCommand( UINT nID, LPARAM lParam )
- {
- if ( (nID & 0xFFF0) == IDM_ABOUTBOX )
- {
-
- }
- else
- {
- CPropertySheet::OnSysCommand( nID, lParam );
- }
- }
-
- void CMyPropertySheet::OnFileOpen()
- {
- // TODO: Add your command handler code here
- CString Filter("SkinCrafter files (*.skf)|*.skf||");
-
- CFileDialog FileDlg(TRUE, "skf", NULL, NULL, Filter);
- FileDlg.m_ofn.lpstrTitle = "Select file";
-
- if(IDOK == FileDlg.DoModal())
- {
- CString SelectedFile = FileDlg.GetPathName();
-
- theApp.m_pSkin.LoadSkinFromFile(SelectedFile);
- theApp.m_pSkin.UpdateControl(0);
- }
-
- }
-