Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/teraterm/teraterm/prnabort.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7174 - (hide annotations) (download) (as text)
Sun Aug 5 13:28:57 2018 UTC (5 years, 8 months ago) by zmatsuo
File MIME type: text/x-c++src
File size: 3886 byte(s)
teraterm/teraterm/dnddlg.cpp フォントの削除をNCDESTROYで行うようにした
teraterm/teraterm/prnabort.cpp,h MFCを使わないようにした
teraterm/common/dlglib.c,h dnddlgからSetDlgFonts()を移動

1 zmatsuo 7174 /*
2 doda 6806 * Copyright (C) 1994-1998 T. Teranishi
3 zmatsuo 7174 * (C) 2007-2018 TeraTerm Project
4 doda 6806 * All rights reserved.
5     *
6 doda 6841 * Redistribution and use in source and binary forms, with or without
7     * modification, are permitted provided that the following conditions
8     * are met:
9 doda 6806 *
10 doda 6841 * 1. Redistributions of source code must retain the above copyright
11     * notice, this list of conditions and the following disclaimer.
12     * 2. Redistributions in binary form must reproduce the above copyright
13     * notice, this list of conditions and the following disclaimer in the
14     * documentation and/or other materials provided with the distribution.
15     * 3. The name of the author may not be used to endorse or promote products
16     * derived from this software without specific prior written permission.
17 doda 6806 *
18 doda 6841 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
19     * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21     * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22     * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27     * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 doda 6806 */
29 maya 3227
30     /* TERATERM.EXE, print-abort dialog box */
31 zmatsuo 7174 #include <windows.h>
32     #include <windowsx.h>
33 maya 3227 #include "teraterm.h"
34     #include "tttypes.h"
35     #include "ttlib.h"
36 zmatsuo 7174 #include "dlglib.h"
37 maya 3227 #include "tt_res.h"
38     #include "prnabort.h"
39    
40 zmatsuo 7174 LRESULT CALLBACK CPrnAbortDlg::OnDlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp)
41     {
42     static const DlgTextInfo TextInfos[] = {
43     { IDC_PRNABORT_PRINTING, "DLG_PRNABORT_PRINTING" },
44     { IDCANCEL, "BTN_CANCEL" },
45     };
46     static const int FontIDs[] = {
47     IDC_PRNABORT_PRINTING, IDCANCEL
48     };
49 maya 3227
50 zmatsuo 7174 CPrnAbortDlg *self = (CPrnAbortDlg *)GetWindowLongPtr(hDlgWnd, DWLP_USER);
51 maya 3227
52 zmatsuo 7174 switch (msg) {
53     case WM_INITDIALOG:
54     {
55     CPrnAbortDlg *self = (CPrnAbortDlg *)lp;
56     SetWindowLongPtr(hDlgWnd, DWLP_USER, (LONG_PTR)self);
57     SetDlgTexts(hDlgWnd, TextInfos, _countof(TextInfos), self->m_ts->UILanguageFile);
58     self->m_hNewFont =
59     SetDlgFonts(hDlgWnd, FontIDs, _countof(FontIDs),
60     self->m_ts->UILanguageFile, "DLG_SYSTEM_FONT");
61     return TRUE;
62     }
63 maya 3227
64 zmatsuo 7174 case WM_COMMAND:
65     {
66     WORD wID = GET_WM_COMMAND_ID(wp, lp);
67     const WORD wCMD = GET_WM_COMMAND_CMD(wp, lp);
68     if (wID == IDOK) {
69     self->DestroyWindow();
70     }
71     if (wID == IDCANCEL) {
72     self->OnCancel();
73     }
74     return FALSE;
75 maya 3392 }
76 zmatsuo 7174 case WM_NCDESTROY:
77     self->PostNcDestroy();
78     return TRUE;
79    
80     default:
81     return FALSE;
82 maya 3392 }
83 zmatsuo 7174 return TRUE;
84     }
85 maya 3227
86 zmatsuo 7174 BOOL CPrnAbortDlg::Create(HINSTANCE hInstance, HWND hParent, PBOOL AbortFlag, PTTSet pts)
87     {
88     m_pAbort = AbortFlag;
89     m_hParentWnd = hParent;
90     m_ts = pts;
91    
92     HRSRC hResource = ::FindResource(hInstance, MAKEINTRESOURCE(IDD_PRNABORTDLG), RT_DIALOG);
93     HANDLE hDlgTemplate = ::LoadResource(hInstance, hResource);
94     DLGTEMPLATE *lpTemplate = (DLGTEMPLATE *)::LockResource(hDlgTemplate);
95     HWND hWnd = ::CreateDialogIndirectParam(
96     hInstance, lpTemplate, hParent,
97     (DLGPROC)OnDlgProc, (LPARAM)this);
98     if (hWnd == NULL)
99     {
100     return FALSE;
101 maya 3392 }
102 maya 3227
103 zmatsuo 7174 m_hWnd = hWnd;
104     ::EnableWindow(hParent,FALSE);
105     ::ShowWindow(hWnd, SW_SHOW);
106     ::EnableWindow(m_hWnd,TRUE);
107     return TRUE;
108 maya 3227 }
109    
110     void CPrnAbortDlg::OnCancel()
111     {
112 zmatsuo 7174 *m_pAbort = TRUE;
113 maya 3392 DestroyWindow();
114 maya 3227 }
115    
116 doda 6435 void CPrnAbortDlg::PostNcDestroy()
117 maya 3227 {
118 zmatsuo 7174 ::DeleteObject(m_hNewFont);
119 maya 3392 delete this;
120 maya 3227 }
121    
122 doda 6435 BOOL CPrnAbortDlg::DestroyWindow()
123 maya 3227 {
124 zmatsuo 7174 ::EnableWindow(m_hParentWnd,TRUE);
125     ::SetFocus(m_hParentWnd);
126     ::DestroyWindow(m_hWnd);
127     return TRUE;
128     }
129 maya 3227

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