Positioning fixes to compsate for wxWindow's use of the MS backwards standard.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2001-04-19 22:30:15 +00:00
parent 475031bb37
commit 45bfc84b20
2 changed files with 33 additions and 7 deletions

View File

@@ -108,8 +108,23 @@ bool wxTextCtrl::Create(
)) ))
return FALSE; return FALSE;
wxPoint vPos = rPos; // The OS/2 position
if (pParent ) if (pParent )
{
pParent->AddChild(this); pParent->AddChild(this);
//
// OS2 uses normal coordinates, no bassackwards Windows ones
//
vPos.y = pParent->GetSize().y - (vPos.y + rSize.y);
}
else
{
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
vPos.y = vRect.yTop - (vPos.y + rSize.y);
}
m_windowStyle = lStyle; m_windowStyle = lStyle;
@@ -147,8 +162,8 @@ bool wxTextCtrl::Create(
,WC_MLE // Window class ,WC_MLE // Window class
,(PSZ)rsValue.c_str() // Initial Text ,(PSZ)rsValue.c_str() // Initial Text
,(ULONG)lSstyle // Style flags ,(ULONG)lSstyle // Style flags
,(LONG)rPos.x // X pos of origin ,(LONG)vPos.x // X pos of origin
,(LONG)rPos.y // Y pos of origin ,(LONG)vPos.y // Y pos of origin
,(LONG)rSize.x // field width ,(LONG)rSize.x // field width
,(LONG)rSize.y // field height ,(LONG)rSize.y // field height
,(HWND)GetHwndOf(pParent) // owner window handle (same as parent ,(HWND)GetHwndOf(pParent) // owner window handle (same as parent
@@ -164,8 +179,8 @@ bool wxTextCtrl::Create(
,WC_ENTRYFIELD // Window class ,WC_ENTRYFIELD // Window class
,(PSZ)rsValue.c_str() // Initial Text ,(PSZ)rsValue.c_str() // Initial Text
,(ULONG)lSstyle // Style flags ,(ULONG)lSstyle // Style flags
,(LONG)rPos.x // X pos of origin ,(LONG)vPos.x // X pos of origin
,(LONG)rPos.y // Y pos of origin ,(LONG)vPos.y // Y pos of origin
,(LONG)rSize.x // field width ,(LONG)rSize.x // field width
,(LONG)rSize.y // field height ,(LONG)rSize.y // field height
,(HWND)GetHwndOf(pParent) // owner window handle (same as parent ,(HWND)GetHwndOf(pParent) // owner window handle (same as parent

View File

@@ -329,6 +329,7 @@ bool wxWindow::Create(
) )
{ {
HWND hParent = NULLHANDLE; HWND hParent = NULLHANDLE;
wxPoint vPos = rPos; // The OS/2 position
wxCHECK_MSG(pParent, FALSE, wxT("can't create wxWindow without parent")); wxCHECK_MSG(pParent, FALSE, wxT("can't create wxWindow without parent"));
@@ -346,9 +347,19 @@ bool wxWindow::Create(
{ {
pParent->AddChild(this); pParent->AddChild(this);
hParent = GetWinHwnd(pParent); hParent = GetWinHwnd(pParent);
//
// OS2 uses normal coordinates, no bassackwards Windows ones
//
vPos.y = pParent->GetSize().y - (vPos.y + rSize.y);
} }
else else
{
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
hParent = HWND_DESKTOP; hParent = HWND_DESKTOP;
vPos.y = vRect.yTop - (vPos.y + rSize.y);
}
ULONG ulCreateFlags = 0L; ULONG ulCreateFlags = 0L;
@@ -382,8 +393,8 @@ bool wxWindow::Create(
,(PSZ)wxCanvasClassName ,(PSZ)wxCanvasClassName
,rName.c_str() ,rName.c_str()
,ulCreateFlags ,ulCreateFlags
,rPos.x ,vPos.x
,rPos.y ,vPos.y
,WidthDefault(rSize.x) ,WidthDefault(rSize.x)
,HeightDefault(rSize.y) ,HeightDefault(rSize.y)
,NULLHANDLE ,NULLHANDLE