Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
strtpage.cpp
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 6k
Category:
Windows Kernel
Development Platform:
Visual C++
- #include "shwizard.h"
- #include <string.h>
- #include <tchar.h>
- #include <shlguidp.h>
- #include <shellids.h>
- #include <shlwapi.h>
- #include "winreg.h"
- void CCTF_ChoosePath::Describe(UINT uiDescId)
- {
- if (uiDescId)
- {
- TCHAR szText[MAX_PATH];
- LoadString(g_hAppInst, uiDescId, szText, ARRAYSIZE(szText));
- SendMessage(GetDlgItem(_hwndDlg, IDC_INTRO_DESC), WM_SETTEXT, 0, (LPARAM)szText);
- }
- }
- void GetHTMLFileName(void)
- {
- GetTemporaryTemplatePath(g_szFullHTMLFile);
- }
- typedef struct tagMapIDDIDC {
- DWORD idd;
- DWORD idc;
- TCHAR szRegValue[30];
- } MapIDDIDC;
- MapIDDIDC aDialogs[] = {
- {IDD_PAGEA3, IDC_WEBVIEW_TEMPLATE, REG_VAL_TEMPLATE_CHECKED},
- {IDD_PAGET1, IDC_LISTVIEW_STUFF, REG_VAL_LISTVIEW_CHECKED},
- {IDD_COMMENT, IDC_COMMENT, REG_VAL_COMMENT_CHECKED}};
- void CCTF_ChoosePath::OnInit()
- {
- // Set the default radio button
- Button_SetCheck(GetDlgItem(_hwndDlg, IDC_CUSTOMIZE), BST_CHECKED);
- Describe(IDS_CUSTOMIZE);
- // Set the default status of the check boxes
- for (int i = 0; i < ARRAYSIZE(aDialogs); i++)
- {
- DWORD dwType, dwChecked, cbData = sizeof(dwChecked);
- if (!(ERROR_SUCCESS == SHGetValue(HKEY_CURRENT_USER, REG_FC_WIZARD, aDialogs[i].szRegValue, &dwType, &dwChecked, &cbData)))
- {
- dwChecked = (aDialogs[i].idc == IDC_WEBVIEW_TEMPLATE);
- }
- Button_SetCheck(GetDlgItem(_hwndDlg, aDialogs[i].idc), dwChecked ? BST_CHECKED : BST_UNCHECKED);
- _pCommonInfo->SetPathChoice(aDialogs[i].idd, dwChecked);
- }
- // Disable IDC_REMOVE if not valid
- if (!IsBackgroundImageSet() && !IsIconTextColorSet() && !IsFolderCommentSet() && !IsWebViewTemplateSet())
- {
- EnableWindow(GetDlgItem(_hwndDlg, IDC_REMOVE), FALSE);
- }
- _pCommonInfo->OnSetActive(_hwndDlg); // Set the wizard buttons properly now.
- GetHTMLFileName(); // pre-load file paths
- }
- INT_PTR APIENTRY CCTF_ChoosePath::WndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- BOOL bRet = TRUE;
- CCTF_ChoosePath* pChoosePath = NULL;
- pChoosePath = (CCTF_ChoosePath*)GetWindowPtr(hwndDlg, GWLP_USERDATA);
- //ASSERT(pChoosePath);
- //ASSERT(pChoosePath->_hwndDlg == hwndDlg);
- switch (msg)
- {
- case WM_INITDIALOG:
- {
- CCTF_CommonInfo* pCommonInfo = (CCTF_CommonInfo*)((LPPROPSHEETPAGE)lParam)->lParam;
- //ASSERT(pCommonInfo);
- pChoosePath = new CCTF_ChoosePath(hwndDlg, pCommonInfo);
- if (pChoosePath)
- {
- SetWindowPtr(hwndDlg, GWLP_USERDATA, pChoosePath);
- pChoosePath->OnInit();
- }
- else
- {
- bRet = FALSE ;
- }
- break;
- }
- case WM_DESTROY:
- {
- SetWindowPtr(hwndDlg, GWLP_USERDATA, NULL);
- delete pChoosePath;
- break;
- }
- case WM_COMMAND:
- {
- UINT uiDescId = IDS_CUSTOMIZE; // Default to the desc for the customization option
- DWORD dwChecked;
- switch (LOWORD(wParam))
- {
- case IDC_CUSTOMIZE:
- pChoosePath->_pCommonInfo->SetPath(IDC_CUSTOMIZE);
- break;
- case IDC_REMOVE:
- pChoosePath->_pCommonInfo->SetPath(IDD_REMOVE);
- uiDescId = IDS_UNCUSTOMIZE;
- break;
- case IDC_LISTVIEW_STUFF:
- pChoosePath->_pCommonInfo->SetPathChoice(IDD_PAGET1, dwChecked = BOOLIFY(IsDlgButtonChecked(hwndDlg, IDC_LISTVIEW_STUFF)));
- SHSetValue(HKEY_CURRENT_USER, REG_FC_WIZARD, REG_VAL_LISTVIEW_CHECKED, REG_DWORD, (LPBYTE)&dwChecked, SIZEOF(dwChecked));
- break;
- case IDC_COMMENT:
- pChoosePath->_pCommonInfo->SetPathChoice(IDD_COMMENT, dwChecked = BOOLIFY(IsDlgButtonChecked(hwndDlg, IDC_COMMENT)));
- SHSetValue(HKEY_CURRENT_USER, REG_FC_WIZARD, REG_VAL_COMMENT_CHECKED, REG_DWORD, (LPBYTE)&dwChecked, SIZEOF(dwChecked));
- break;
- case IDC_WEBVIEW_TEMPLATE:
- pChoosePath->_pCommonInfo->SetPathChoice(IDD_PAGEA3, dwChecked = BOOLIFY(IsDlgButtonChecked(hwndDlg, IDC_WEBVIEW_TEMPLATE)));
- SHSetValue(HKEY_CURRENT_USER, REG_FC_WIZARD, REG_VAL_TEMPLATE_CHECKED, REG_DWORD, (LPBYTE)&dwChecked, SIZEOF(dwChecked));
- break;
- }
- pChoosePath->Describe(uiDescId);
- BOOL bEnableCheckBoxes = TRUE;
- if (IsDlgButtonChecked(hwndDlg, IDC_REMOVE))
- {
- // Disable the check boxes
- bEnableCheckBoxes = FALSE;
- }
- EnableWindow(GetDlgItem(hwndDlg, IDC_LISTVIEW_STUFF), bEnableCheckBoxes);
- EnableWindow(GetDlgItem(hwndDlg, IDC_COMMENT), bEnableCheckBoxes);
- EnableWindow(GetDlgItem(hwndDlg, IDC_WEBVIEW_TEMPLATE), bEnableCheckBoxes);
- pChoosePath->_pCommonInfo->OnSetActive(hwndDlg);
- break;
- }
- case WM_NOTIFY:
- {
- UINT uiCode = ((NMHDR FAR *)lParam)->code;
- switch (uiCode)
- {
- case PSN_QUERYCANCEL:
- bRet = FALSE;
- case PSN_KILLACTIVE:
- case PSN_RESET:
- pChoosePath->_pCommonInfo->OnCancel(hwndDlg);
- break;
- case PSN_SETACTIVE:
- pChoosePath->_pCommonInfo->OnSetActive(hwndDlg);
- break;
- case PSN_WIZNEXT:
- pChoosePath->_pCommonInfo->OnNext(hwndDlg);
- break;
- case PSN_WIZBACK:
- pChoosePath->_pCommonInfo->OnBack(hwndDlg);
- break;
- default:
- return(FALSE);
- }
- break;
- }
- default:
- bRet = FALSE;
- break;
- }
- return bRet;
- }