]> git.saurik.com Git - wxWidgets.git/blame - src/os2/statbox.cpp
unapplied part of Dimitri's patch at his request
[wxWidgets.git] / src / os2 / statbox.cpp
CommitLineData
0e320a79
DW
1/////////////////////////////////////////////////////////////////////////////
2// Name: statbox.cpp
3// Purpose: wxStaticBox
409c9842 4// Author: David Webster
0e320a79
DW
5// Modified by:
6// Created: ??/??/98
7// RCS-ID: $Id$
409c9842
DW
8// Copyright: (c) David Webster
9// Licence: wxWindows licence
0e320a79
DW
10/////////////////////////////////////////////////////////////////////////////
11
409c9842
DW
12// For compilers that support precompilation, includes "wx.h".
13#include "wx/wxprec.h"
14
15#include "wx/window.h"
16#include "wx/os2/private.h"
17
18#ifndef WX_PRECOMP
19#include "wx/app.h"
20#include "wx/dcclient.h"
0e320a79
DW
21#endif
22
23#include "wx/statbox.h"
24
0e320a79
DW
25IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
26
3c299c3a
DW
27bool wxStaticBox::Create(
28 wxWindow* pParent
29, wxWindowID vId
30, const wxString& rsLabel
31, const wxPoint& rPos
32, const wxSize& rSize
33, long lStyle
34, const wxString& rsName
35)
0e320a79 36{
b9b1d6c8
DW
37 if(!CreateControl( pParent
38 ,vId
39 ,rPos
40 ,rSize
41 ,lStyle
3c299c3a 42#if wxUSE_VALIDATORS
b9b1d6c8 43 ,wxDefaultValidator
409c9842 44#endif
b9b1d6c8
DW
45 ,rsName
46 ))
3c299c3a
DW
47 {
48 return FALSE;
49 }
409c9842 50
3c299c3a
DW
51 wxPoint vPos(0,0);
52 wxSize vSize(0,0);
409c9842 53
3c299c3a
DW
54 if (!OS2CreateControl( "STATIC"
55 ,SS_GROUPBOX
56 ,vPos
57 ,vSize
58 ,rsLabel
59 ))
60 {
61 return FALSE;
62 }
409c9842 63
b9b1d6c8
DW
64 //
65 // To be transparent we should have the same colour as the parent as well
66 //
67 SetBackgroundColour(GetParent()->GetBackgroundColour());
68
3c299c3a 69 wxColour vColour;
409c9842 70
3c299c3a 71 vColour.Set(wxString("BLACK"));
0e320a79 72
3c299c3a 73 LONG lColor = (LONG)vColour.GetPixel();
0e320a79 74
3c299c3a
DW
75 ::WinSetPresParam( m_hWnd
76 ,PP_FOREGROUNDCOLOR
77 ,sizeof(LONG)
78 ,(PVOID)&lColor
79 );
7993e67c
DW
80 lColor = (LONG)m_backgroundColour.GetPixel();
81
82 ::WinSetPresParam( m_hWnd
83 ,PP_BACKGROUNDCOLOR
84 ,sizeof(LONG)
85 ,(PVOID)&lColor
86 );
b3260bce
DW
87 wxFont* pTextFont = new wxFont( 10
88 ,wxMODERN
89 ,wxNORMAL
90 ,wxNORMAL
91 );
92 SetFont(*pTextFont);
3c299c3a
DW
93 SetSize( rPos.x
94 ,rPos.y
95 ,rSize.x
96 ,rSize.y
97 );
b3260bce 98 delete pTextFont;
3c299c3a
DW
99 return TRUE;
100} // end of wxStaticBox::Create
0e320a79 101
3c299c3a 102wxSize wxStaticBox::DoGetBestSize() const
0e320a79 103{
3c299c3a
DW
104 int nCx;
105 int nCy;
106 int wBox;
107
108 wxGetCharSize( GetHWND()
109 ,&nCx
110 ,&nCy
111 ,(wxFont*)&GetFont()
112 );
113 GetTextExtent( wxGetWindowText(m_hWnd)
114 ,&wBox
115 ,&nCy
116 );
117 wBox += 3 * nCx;
118
119 int hBox = EDIT_HEIGHT_FROM_CHAR_HEIGHT(nCy);
120
121 return wxSize( wBox
122 ,hBox
123 );
124} // end of wxStaticBox::DoGetBestSize
125
126MRESULT wxStaticBox::OS2WindowProc(
127 WXUINT nMsg
128, WXWPARAM wParam
129, WXLPARAM lParam
130)
409c9842 131{
a885d89a 132 return wxControl::OS2WindowProc(nMsg, wParam, lParam);
3c299c3a 133} // end of wxStaticBox::OS2WindowProc
0e320a79 134
409c9842 135