Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9882 by zmatsuo, Fri Apr 22 15:37:38 2022 UTC revision 9883 by zmatsuo, Fri Apr 22 15:37:48 2022 UTC
# Line 1720  void CCygwinPropPageDlg::OnHelp() Line 1720  void CCygwinPropPageDlg::OnHelp()
1720    
1721  //////////////////////////////////////////////////////////////////////////////  //////////////////////////////////////////////////////////////////////////////
1722    
 #define REWRITE_TEMPLATE        1  
 // quick hack :-(  
 HINSTANCE TTCPropSheetDlg::ghInstance;  
 class TTCPropSheetDlg* TTCPropSheetDlg::gTTCPS;  
   
 LRESULT CALLBACK TTCPropSheetDlg::WndProc(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam)  
 {  
         switch(msg){  
         case WM_INITDIALOG:  
         case WM_SHOWWINDOW: {  
                 CenterWindow(dlg, m_hParentWnd);  
                 break;  
                 }  
         }  
         SetWindowLongPtrW(dlg, GWLP_WNDPROC, m_OrgProc);  
         SetWindowLongPtrW(dlg, GWLP_USERDATA, m_OrgUserData);  
         LRESULT result = CallWindowProcW((WNDPROC)m_OrgProc, dlg, msg, wParam, lParam);  
         m_OrgProc = SetWindowLongPtrW(dlg, GWLP_WNDPROC, (LONG_PTR)WndProcStatic);  
         m_OrgUserData = SetWindowLongPtrW(dlg, GWLP_USERDATA, (LONG_PTR)this);  
   
         return result;  
 }  
   
 LRESULT CALLBACK TTCPropSheetDlg::WndProcStatic(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam)  
 {  
         TTCPropSheetDlg*self = (TTCPropSheetDlg*)GetWindowLongPtr(dlg, GWLP_USERDATA);  
         return self->WndProc(dlg, msg, wParam, lParam);  
 }  
   
 int CALLBACK TTCPropSheetDlg::PropSheetProc(HWND hWnd, UINT msg, LPARAM lp)  
 {  
         switch (msg) {  
         case PSCB_PRECREATE:  
         {  
 #if defined(REWRITE_TEMPLATE)  
                 // テンプレートの内容を書き換える  
                 // http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl15-01/index.html  
                 size_t PrevTemplSize;  
                 size_t NewTemplSize;  
                 DLGTEMPLATE *NewTempl =  
                         TTGetNewDlgTemplate(ghInstance, (DLGTEMPLATE *)lp,  
                                                                 &PrevTemplSize, &NewTemplSize);  
                 NewTempl->style &= ~DS_CONTEXTHELP;             // check DLGTEMPLATEEX  
                 memcpy((void *)lp, NewTempl, NewTemplSize);  
                 free(NewTempl);  
 #endif  
                 break;  
         }  
         case PSCB_INITIALIZED:  
         {  
                 static const DlgTextInfo TextInfos[] = {  
                         { IDOK, "BTN_OK" },  
                         { IDCANCEL, "BTN_CANCEL" },  
                         { IDHELP, "BTN_HELP" },  
                 };  
                 TTCPropSheetDlg*self = gTTCPS;  
                 self->m_hWnd = hWnd;  
                 SetDlgTexts(hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);  
                 self->m_OrgProc = SetWindowLongPtrW(hWnd, GWLP_WNDPROC, (LONG_PTR)WndProcStatic);  
                 self->m_OrgUserData = SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)self);  
                 break;  
         }  
         }  
         return 0;  
 }  
   
 void TTCPropSheetDlg::AddPage(HPROPSHEETPAGE page)  
 {  
         hPsp[m_PageCount] = page;  
         m_PageCount++;  
 }  
   
 TTCPropSheetDlg::TTCPropSheetDlg(HINSTANCE hInstance, HWND hParentWnd)  
 {  
         m_hInst = hInstance;  
         m_hWnd = 0;  
         m_hParentWnd = hParentWnd;  
         memset(&m_psh, 0, sizeof(m_psh));  
         m_psh.dwSize = sizeof(m_psh);  
         m_psh.dwFlags = PSH_DEFAULT | PSH_NOAPPLYNOW | PSH_USECALLBACK;  
         //m_psh.dwFlags |= PSH_PROPTITLE;               // 「のプロパティー」が追加される?  
         m_psh.hwndParent = hParentWnd;  
         m_psh.hInstance = hInstance;  
         m_psh.pfnCallback = PropSheetProc;  
         m_PageCount = 0;  
 }  
 TTCPropSheetDlg::~TTCPropSheetDlg()  
 {  
         free((void*)m_psh.pszCaption);  
 }  
   
 void TTCPropSheetDlg::SetCaption(const wchar_t* caption)  
 {  
         m_psh.pszCaption = _wcsdup(caption);  
 }  
   
 INT_PTR TTCPropSheetDlg::DoModal()  
 {  
         m_psh.nPages = m_PageCount;  
         m_psh.phpage = hPsp;  
         ghInstance = m_hInst;  
         gTTCPS = this;  
         return PropertySheetW(&m_psh);  
 }  
   
 //////////////////////////////////////////////////////////////////////////////  
   
1723  // CAddSettingPropSheetDlg  // CAddSettingPropSheetDlg
1724  CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(HINSTANCE hInstance, HWND hParentWnd):  CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(HINSTANCE hInstance, HWND hParentWnd):
1725          TTCPropSheetDlg(hInstance, hParentWnd)          TTCPropSheetDlg(hInstance, hParentWnd, ts.UILanguageFileW)
1726  {  {
1727          // CPP,tmfcのTTCPropertyPage派生クラスから生成          // CPP,tmfcのTTCPropertyPage派生クラスから生成
1728          int i = 0;          int i = 0;

Legend:
Removed from v.9882  
changed lines
  Added in v.9883

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26