X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3bcf4cce0775db9677e73bb4bbe14d9cfa7df688..222702b112dcc7bebe018d6f4d66fe469fefd02c:/src/os2/window.cpp diff --git a/src/os2/window.cpp b/src/os2/window.cpp index d5cb4af9fb..bac4280848 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -394,6 +394,10 @@ bool wxWindowOS2::Create( _T("wxStaticBox can't be used as a window parent!") ); #endif // wxUSE_STATBOX + // Ensure groupbox backgrounds are painted + if (IsKindOf(CLASSINFO(wxPanel))) + lStyle &= ~wxCLIP_CHILDREN; + if ( !CreateBase( pParent ,vId ,rPos @@ -583,7 +587,7 @@ void wxWindowOS2::SetTitle( const wxString& rTitle ) { - ::WinSetWindowText(GetHwnd(), rTitle.c_str()); + ::WinSetWindowText(GetHwnd(), (PSZ)rTitle.c_str()); } // end of wxWindowOS2::SetTitle wxString wxWindowOS2::GetTitle() const @@ -1623,7 +1627,7 @@ void wxWindowOS2::DoMoveWindow( ,vSwpScroll.cy - nAdjustHeight ,SWP_MOVE | SWP_SIZE ); - nYDiff += nAdjustHeight; + nYDiff -= nAdjustHeight; } MoveChildren(nYDiff); ::WinQueryWindowPos(GetHwnd(), &m_vWinSwp); @@ -3037,9 +3041,10 @@ void wxAssociateWinWithHandle( if (pOldWin && (pOldWin != pWin)) { wxString str(pWin->GetClassInfo()->GetClassName()); - wxLogError( "Bug! Found existing HWND %X for new window of class %s" + + wxLogError( _T("Bug! Found existing HWND %X for new window of class %s") ,(int)hWnd - ,(const char*)str + ,str.c_str() ); } else if (!pOldWin) @@ -3108,7 +3113,7 @@ WXHWND wxWindowOS2::OS2GetParent() const bool wxWindowOS2::OS2Create( PSZ zClass -, const char* zTitle +, const wxChar* zTitle , WXDWORD dwStyle , const wxPoint& rPos , const wxSize& rSize @@ -3154,7 +3159,7 @@ bool wxWindowOS2::OS2Create( } m_hWnd = (WXHWND)::WinCreateWindow( (HWND)OS2GetParent() ,(PSZ)sClassName.c_str() - ,(PSZ)zTitle ? zTitle : "" + ,(PSZ)(zTitle ? zTitle : wxEmptyString) ,(ULONG)dwStyle ,(LONG)0L ,(LONG)0L @@ -3175,7 +3180,7 @@ bool wxWindowOS2::OS2Create( SubclassWin(m_hWnd); SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - m_backgroundColour.Set(wxString("GREY")); + m_backgroundColour.Set(wxString(wxT("GREY"))); LONG lColor = (LONG)m_backgroundColour.GetPixel(); @@ -3187,7 +3192,7 @@ bool wxWindowOS2::OS2Create( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error creating frame. Error: %s\n", sError.c_str()); + wxLogError(_T("Error creating frame. Error: %s\n"), sError.c_str()); return FALSE; } SetSize( nX @@ -3438,7 +3443,7 @@ bool wxWindowOS2::OS2OnDrawItem( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Unable to set current color table. Error: %s\n", sError.c_str()); + wxLogError(_T("Unable to set current color table. Error: %s\n"), sError.c_str()); } // // Set the color table to RGB mode @@ -3453,7 +3458,7 @@ bool wxWindowOS2::OS2OnDrawItem( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Unable to set current color table. Error: %s\n", sError.c_str()); + wxLogError(_T("Unable to set current color table. Error: %s\n"), sError.c_str()); } wxCHECK( pMenuItem->IsKindOf(CLASSINFO(wxMenuItem)), FALSE ); @@ -4317,15 +4322,15 @@ bool wxWindowOS2::HandleKeyUp( // // Normal ASCII char // - nId = (int)wParam; + nId = CHAR1FROMMP(lParam); } if (nId != -1) { wxKeyEvent vEvent(CreateKeyEvent( wxEVT_KEY_UP ,nId - ,lParam - ,wParam + ,(MPARAM)lParam + ,(MPARAM)wParam )); if (GetEventHandler()->ProcessEvent(vEvent)) @@ -4631,6 +4636,8 @@ int wxCharCodeOS2ToWX( case VK_CTRL: nId = WXK_CONTROL; break; case VK_PAUSE: nId = WXK_PAUSE; break; case VK_SPACE: nId = WXK_SPACE; break; + case VK_PAGEUP: nId = WXK_PRIOR; break; + case VK_PAGEDOWN: nId = WXK_NEXT; break; case VK_ESC: nId = WXK_ESCAPE; break; case VK_END: nId = WXK_END; break; case VK_HOME : nId = WXK_HOME; break; @@ -4701,6 +4708,8 @@ int wxCharCodeWXToOS2( case WXK_SHIFT: nKeySym = VK_SHIFT; break; case WXK_CONTROL: nKeySym = VK_CTRL; break; case WXK_PAUSE: nKeySym = VK_PAUSE; break; + case WXK_PRIOR: nKeySym = VK_PAGEUP; break; + case WXK_NEXT : nKeySym = VK_PAGEDOWN; break; case WXK_END: nKeySym = VK_END; break; case WXK_HOME : nKeySym = VK_HOME; break; case WXK_LEFT : nKeySym = VK_LEFT; break;