projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes for rotated text drawing
[wxWidgets.git]
/
src
/
msw
/
msgdlg.cpp
diff --git
a/src/msw/msgdlg.cpp
b/src/msw/msgdlg.cpp
index 9468d768418744f33c6774e758b00b247c928dba..ec05f72a379435abb6287e1b50f9b6728e98b106 100644
(file)
--- a/
src/msw/msgdlg.cpp
+++ b/
src/msw/msgdlg.cpp
@@
-46,7
+46,8
@@
wxMessageDialog::wxMessageDialog(wxWindow *parent,
int wxMessageDialog::ShowModal()
{
int wxMessageDialog::ShowModal()
{
- if ( !wxTheApp->GetTopWindow() )
+ wxWindow *winTop = wxTheApp->GetTopWindow();
+ if ( !winTop )
{
// when the message box is shown from wxApp::OnInit() (i.e. before the
// message loop is entered), this must be done or the next message box
{
// when the message box is shown from wxApp::OnInit() (i.e. before the
// message loop is entered), this must be done or the next message box
@@
-56,8
+57,14
@@
int wxMessageDialog::ShowModal()
wxTheApp->Dispatch();
}
wxTheApp->Dispatch();
}
+ // use the top level window as parent if none specified
HWND hWnd = 0;
HWND hWnd = 0;
- if (m_parent) hWnd = (HWND) m_parent->GetHWND();
+ if ( m_parent )
+ hWnd = GetHwndOf(m_parent);
+ else if ( winTop )
+ hWnd = GetHwndOf(winTop);
+
+ // translate wx style in MSW
unsigned int msStyle = MB_OK;
if (m_dialogStyle & wxYES_NO)
{
unsigned int msStyle = MB_OK;
if (m_dialogStyle & wxYES_NO)
{
@@
-91,11
+98,15
@@
int wxMessageDialog::ShowModal()
else
msStyle |= MB_TASKMODAL;
else
msStyle |= MB_TASKMODAL;
- int msAns = MessageBox(hWnd, (LPCTSTR)m_message.c_str(),
-
(LPCTSTR)
m_caption.c_str(), msStyle);
- int ans
= wxOK
;
+ // do show the dialog
+
int msAns = MessageBox(hWnd, m_message.c_str(),
m_caption.c_str(), msStyle);
+ int ans;
switch (msAns)
{
switch (msAns)
{
+ default:
+ wxFAIL_MSG(_T("unexpected ::MessageBox() return code"));
+ // fall through
+
case IDCANCEL:
ans = wxID_CANCEL;
break;
case IDCANCEL:
ans = wxID_CANCEL;
break;