Develop and Download Open Source Software

Browse CVS Repository

Contents of /enbanfukusyaya/EnbanKensa/win32/ThemeMessageDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Fri Apr 29 15:57:18 2005 UTC (18 years, 11 months ago) by bananajinn
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/x-c++src
*** empty log message ***

1 /* 円盤複写屋
2 * Copyright (C) 2004 Kagetani Hideto
3 */
4 // ThemeMessageDlg.cpp : インプリメンテーション ファイル
5 //
6
7 #include "stdafx.h"
8 #include "ThemeMessageDlg.h"
9
10 #ifdef _DEBUG
11 #define new DEBUG_NEW
12 #undef THIS_FILE
13 static char THIS_FILE[] = __FILE__;
14 #endif
15
16 /////////////////////////////////////////////////////////////////////////////
17 // CThemeMessageDlg ダイアログ
18
19
20 CThemeMessageDlg::CThemeMessageDlg(CWnd* pParent /*=NULL*/)
21 : CThemeDialog(CThemeMessageDlg::IDD, pParent)
22 {
23 //{{AFX_DATA_INIT(CThemeMessageDlg)
24 //}}AFX_DATA_INIT
25 m_hIconStop = AfxGetApp()->LoadIcon(IDI_MSGDLG_STOP);
26 m_hIconExclamation = AfxGetApp()->LoadIcon(IDI_MSGDLG_EXCLAMATION);
27 m_hIconQuestion = AfxGetApp()->LoadIcon(IDI_MSGDLG_QUESTION);
28 m_hIconInformation = AfxGetApp()->LoadIcon(IDI_APPICON);
29 }
30
31
32 void CThemeMessageDlg::DoDataExchange(CDataExchange* pDX)
33 {
34 CDialog::DoDataExchange(pDX);
35 //{{AFX_DATA_MAP(CThemeMessageDlg)
36 DDX_Control(pDX, IDC_STC_ICON, m_StcIcon);
37 DDX_Control(pDX, IDC_BTN_EXTRA, m_BtnExtra);
38 DDX_Control(pDX, IDC_STC_MESSAGE, m_StcMessage);
39 DDX_Control(pDX, IDOK, m_BtnOK);
40 DDX_Control(pDX, IDCANCEL, m_BtnCancel);
41 //}}AFX_DATA_MAP
42 }
43
44
45 BEGIN_MESSAGE_MAP(CThemeMessageDlg, CDialog)
46 //{{AFX_MSG_MAP(CThemeMessageDlg)
47 ON_BN_CLICKED(IDC_BTN_EXTRA, OnBtnExtra)
48 //}}AFX_MSG_MAP
49 END_MESSAGE_MAP()
50
51 /////////////////////////////////////////////////////////////////////////////
52 // CThemeMessageDlg メッセージ ハンドラ
53 int CThemeMessageDlg::Disp(LPCTSTR pMessage, LPCTSTR pTitle, UINT nFlags)
54 {
55 m_pMessage = pMessage;
56 m_pTitle = pTitle;
57 m_nFlags = nFlags;
58 return this->DoModal();
59 }
60
61 BOOL CThemeMessageDlg::OnInitDialog()
62 {
63 CDialog::OnInitDialog();
64
65 // TODO: この位置に初期化の補足処理を追加してください
66 int nNumButton;
67 if(m_pTitle!=NULL){
68 SetWindowText(m_pTitle);
69 }
70
71 m_StcMessage.SetWindowText(m_pMessage);
72
73 // ボタン設定
74 switch(m_nFlags & MB_TYPEMASK){
75 case MB_ABORTRETRYIGNORE:
76 m_BtnExtra.SetWindowText("中止");
77 m_BtnOK.SetWindowText("再試行");
78 m_BtnCancel.SetWindowText("無視");
79 m_nRetCodeExtra = IDABORT;
80 m_nRetCodeOK = IDRETRY;
81 m_nRetCodeCancel = IDIGNORE;
82 nNumButton = 3;
83 break;
84 case MB_OKCANCEL:
85 m_BtnOK.SetWindowText("OK");
86 m_BtnCancel.SetWindowText("キャンセル");
87 m_nRetCodeExtra = IDCANCEL;
88 m_nRetCodeOK = IDOK;
89 m_nRetCodeCancel = IDCANCEL;
90 nNumButton = 2;
91 break;
92 case MB_RETRYCANCEL:
93 m_BtnOK.SetWindowText("再試行");
94 m_BtnCancel.SetWindowText("キャンセル");
95 m_nRetCodeExtra = IDCANCEL;
96 m_nRetCodeOK = IDRETRY;
97 m_nRetCodeCancel = IDCANCEL;
98 nNumButton = 2;
99 break;
100 case MB_YESNO:
101 m_BtnOK.SetWindowText("はい");
102 m_BtnCancel.SetWindowText("いいえ");
103 m_nRetCodeExtra = IDCANCEL;
104 m_nRetCodeOK = IDYES;
105 m_nRetCodeCancel = IDNO;
106 nNumButton = 2;
107 break;
108 case MB_YESNOCANCEL:
109 m_BtnExtra.SetWindowText("はい");
110 m_BtnOK.SetWindowText("いいえ");
111 m_BtnCancel.SetWindowText("キャンセル");
112 m_nRetCodeExtra = IDYES;
113 m_nRetCodeOK = IDNO;
114 m_nRetCodeCancel = IDCANCEL;
115 nNumButton = 3;
116 break;
117 case MB_OK:
118 m_BtnCancel.SetWindowText("OK");
119 m_nRetCodeExtra = IDCANCEL;
120 m_nRetCodeOK = IDCANCEL;
121 m_nRetCodeCancel = IDOK;
122 nNumButton = 1;
123 break;
124 default:
125 TRACE("タイプエラー : %s,0x%X\n", m_pMessage, m_nFlags);
126 EndDialog(IDCANCEL);
127 return TRUE;
128 }
129
130 if(nNumButton==3){
131 m_BtnExtra.ShowWindow(SW_SHOW);
132 m_BtnOK.ShowWindow(SW_SHOW);
133 m_BtnCancel.ShowWindow(SW_SHOW);
134 m_BtnExtra.ModifyStyle(0, BS_DEFPUSHBUTTON);
135 m_BtnOK.ModifyStyle(BS_DEFPUSHBUTTON, 0);
136 m_BtnCancel.ModifyStyle(BS_DEFPUSHBUTTON, 0);
137 m_BtnExtra.SetFocus();
138 }
139 else if(nNumButton==2){
140 m_BtnExtra.ShowWindow(SW_HIDE);
141 m_BtnOK.ShowWindow(SW_SHOW);
142 m_BtnCancel.ShowWindow(SW_SHOW);
143 m_BtnExtra.ModifyStyle(BS_DEFPUSHBUTTON, 0);
144 m_BtnOK.ModifyStyle(0, BS_DEFPUSHBUTTON);
145 m_BtnCancel.ModifyStyle(BS_DEFPUSHBUTTON, 0);
146 m_BtnOK.SetFocus();
147 }
148 else{
149 m_BtnExtra.ShowWindow(SW_HIDE);
150 m_BtnOK.ShowWindow(SW_HIDE);
151 m_BtnCancel.ShowWindow(SW_SHOW);
152 m_BtnExtra.ModifyStyle(BS_DEFPUSHBUTTON, 0);
153 m_BtnOK.ModifyStyle(BS_DEFPUSHBUTTON, 0);
154 m_BtnCancel.ModifyStyle(0, BS_DEFPUSHBUTTON);
155 m_BtnCancel.SetFocus();
156 }
157
158 // アイコン設定
159 HICON hIcon;
160 switch(m_nFlags & MB_ICONMASK){
161 case MB_ICONEXCLAMATION:
162 hIcon = m_hIconExclamation;
163 break;
164 case MB_ICONINFORMATION:
165 hIcon = m_hIconInformation;
166 break;
167 case MB_ICONQUESTION:
168 hIcon = m_hIconQuestion;
169 break;
170 case MB_ICONSTOP:
171 hIcon = m_hIconStop;
172 break;
173 default:
174 hIcon = m_hIconInformation;
175 }
176 m_StcIcon.SetIcon(hIcon);
177
178 // テーマ設定
179 CThemeSet *ThemeClass = GetTheme();
180 m_BtnExtra.SetTheme(ThemeClass);
181 m_BtnOK.SetTheme(ThemeClass);
182 m_BtnCancel.SetTheme(ThemeClass);
183 m_StcMessage.SetTheme(ThemeClass);
184
185 return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
186 // 例外: OCX プロパティ ページの戻り値は FALSE となります
187 }
188
189 void CThemeMessageDlg::OnBtnExtra()
190 {
191 // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
192 EndDialog(m_nRetCodeExtra);
193 }
194
195 void CThemeMessageDlg::OnOK()
196 {
197 // TODO: この位置にその他の検証用のコードを追加してください
198 EndDialog(m_nRetCodeOK);
199 // CDialog::OnOK();
200 }
201
202 void CThemeMessageDlg::OnCancel()
203 {
204 // TODO: この位置に特別な後処理を追加してください。
205 EndDialog(m_nRetCodeCancel);
206 // CDialog::OnCancel();
207 }

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