#pragma hdrstop
#endif
+#include "wx/window.h"
+#include "wx/msw/private.h"
+
#ifndef WX_PRECOMP
#include "wx/setup.h"
+#include "wx/event.h"
#include "wx/app.h"
#include "wx/utils.h"
#endif
-#if USE_ITSY_BITSY
+
+#ifdef __WIN32__
#include "wx/minifram.h"
-#include "wx/msw/private.h"
+IMPLEMENT_DYNAMIC_CLASS(wxMiniFrame, wxFrame)
+
+
+#else
+
+
+#if wxUSE_ITSY_BITSY
+
+#include "wx/minifram.h"
+
+#ifndef __TWIN32__
#ifdef __GNUWIN32__
+#ifndef wxUSE_NORLANDER_HEADERS
#include "wx/msw/gnuwin32/extra.h"
#endif
+#endif
+#endif
-#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxMiniFrame, wxFrame)
-#endif
long wxMiniFrame::MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
(GetWindowStyleFlag() & wxTINY_CAPTION_VERT))
return ::ibDefWindowProc((HWND) GetHWND(), nMsg, wParam, lParam);
else if ( m_oldWndProc )
- return ::CallWindowProc(CASTWNDPROC (FARPROC) m_oldWndProc, (HWND) GetHWND(), (UINT) nMsg, (WPARAM) wParam, (LPARAM) lParam);
+ return ::CallWindowProc(CASTWNDPROC m_oldWndProc, (HWND) GetHWND(), (UINT) nMsg, (WPARAM) wParam, (LPARAM) lParam);
else
return ::DefWindowProc((HWND) GetHWND(), nMsg, wParam, lParam);
}
//
//////////////////////////////////////////////////////////////////////////
-#include <windows.h>
-#include <windowsx.h>
+#include "wx/window.h"
+#include "wx/msw/private.h"
#include <string.h>
-#ifndef __WATCOMC__
+#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <memory.h>
#endif
#define HASCAPTION( hwnd ) (TestWinStyle( hwnd, IBS_VERTCAPTION ) ||\
TestWinStyle( hwnd, IBS_HORZCAPTION ))
-#define SETCAPTIONSIZE(h,i) (UINT)SetProp(h,"ibSize",(HANDLE)i)
-#define GETCAPTIONSIZE(h) (UINT)GetProp(h,"ibSize")
-#define FREECAPTIONSIZE(h) RemoveProp(h,"ibSize")
+#define SETCAPTIONSIZE(h,i) (UINT)SetProp(h,wxT("ibSize"),(HANDLE)i)
+#define GETCAPTIONSIZE(h) (UINT)GetProp(h,wxT("ibSize"))
+#define FREECAPTIONSIZE(h) RemoveProp(h,wxT("ibSize"))
-#define SETMENUWASUPFLAG(h,i) (UINT)SetProp(h,"ibFlag",(HANDLE)i)
-#define GETMENUWASUPFLAG(h) (UINT)GetProp(h,"ibFlag")
-#define FREEMENUWASUPFLAG(h) RemoveProp(h,"ibFlag")
+#define SETMENUWASUPFLAG(h,i) (UINT)SetProp(h,wxT("ibFlag"),(HANDLE)i)
+#define GETMENUWASUPFLAG(h) (UINT)GetProp(h,wxT("ibFlag"))
+#define FREEMENUWASUPFLAG(h) RemoveProp(h,wxT("ibFlag"))
/////////////////////////////////////////////////////////////////////
// Little known fact:
// Unfortunately there is a bug in the Windows 3.0 8514 driver
// in using ExtTextOut() to a memory DC. If you are drawing
// to an off screen bitmap, then blitting that bitmap to the
-// display, do not #define USE_EXTTEXTOUT below.
+// display, do not #define wxUSE_EXTTEXTOUT below.
//
// The following macro (DRAWFASTRECT) draws a filled rectangle
// with no border and a solid color. It uses the current back-
// ground color as the fill color.
//////////////////////////////////////////////////////////////////////
-#define USE_EXTTEXTOUT
-#ifdef USE_EXTTEXTOUT
+#define wxUSE_EXTTEXTOUT
+#ifdef wxUSE_EXTTEXTOUT
#define DRAWFASTRECT(hdc,lprc) ExtTextOut(hdc,0,0,ETO_OPAQUE,lprc,NULL,0,NULL)
#else
#define DRAWFASTRECT(hdc,lprc) {\
cx = GetSystemMetrics( SM_CXFRAME ) ;
cy = GetSystemMetrics( SM_CYFRAME ) ;
}
+ else if (TestWinStyle(hWnd, WS_BORDER ))
+ {
+ cx = GetSystemMetrics( SM_CXBORDER ) ;
+ cy = GetSystemMetrics( SM_CYBORDER ) ;
+ }
else
- if (TestWinStyle(hWnd, WS_BORDER ))
- {
- cx = GetSystemMetrics( SM_CXBORDER ) ;
- cy = GetSystemMetrics( SM_CYBORDER ) ;
- }
+ {
+ // VZ: I don't know what should be here, but the vars must
+ // be inited!
+ wxFAIL_MSG(wxT("don't know how to initialize cx, cy"));
+
+ cx = cy = 0;
+ }
GetIconRect( hWnd, &rcMenu ) ;
GetMinButtonRect( hWnd, &rcMin ) ;
DRAWFASTRECT( hDC, &rc ) ;
hbrCaption = CreateSolidBrush( rgbCaptionBG ) ;
- hbrCaption = SelectObject( hDC, hbrCaption ) ;
- SelectObject( hDC, GetStockObject( NULL_PEN ) ) ;
+ hbrCaption = (HBRUSH) SelectObject( hDC, hbrCaption ) ;
+ SelectObject( hDC, (HPEN) GetStockObject( NULL_PEN ) ) ;
if (fVert)
Rectangle( hDC, rcCap.left, rcCap.top, rcCap.right, rcCap.bottom + 1 ) ;
else
Rectangle( hDC, rcCap.left, rcCap.top, rcCap.right+1, rcCap.bottom ) ;
- hbrCaption = SelectObject( hDC, hbrCaption ) ;
+ hbrCaption = (HBRUSH) SelectObject( hDC, hbrCaption ) ;
DeleteObject( hbrCaption ) ;
if (fWin31)
{
HFONT hFont ;
- LPSTR lpsz ;
+ LPTSTR lpsz ;
LOGFONT lf ;
TEXTMETRIC tm ;
int cx ;
int cy ;
SIZE Size ;
- if ((lpsz = (char*)GlobalAllocPtr( GHND, ui + 2 )))
+ lpsz = (wxChar*)GlobalAllocPtr( GHND, (ui + 2) * sizeof(wxChar) );
+ if (lpsz)
{
UINT nBkMode ;
{
// Can only rotate true type fonts (well, ok, we could
// try and use "modern").
- strcpy( lf.lfFaceName, "Arial" ) ;
+ wxStrcpy( lf.lfFaceName, wxT("Arial") ) ;
lf.lfPitchAndFamily = FF_SWISS | 0x04;
lf.lfEscapement = 900 ;
lf.lfOrientation = 900 ;
hFont = CreateFontIndirect( &lf ) ;
- hFont = SelectObject( hDC, hFont ) ;
+ hFont = (HFONT) SelectObject( hDC, hFont ) ;
GetTextExtentPoint( hDC, lpsz, ui, &Size ) ;
cx = rcCap.bottom - ((rcCap.bottom - rcCap.top - Size.cx) / 2) ;
lpsz, ui, NULL ) ;
}
- hFont = SelectObject( hDC, hFont ) ;
+ hFont = (HFONT) SelectObject( hDC, hFont ) ;
DeleteObject( hFont ) ;
}
else
lf.lfPitchAndFamily = FF_SWISS ;
hFont = CreateFontIndirect( &lf ) ;
- hFont = SelectObject( hDC, hFont ) ;
+ hFont = (HFONT) SelectObject( hDC, hFont ) ;
GetTextExtentPoint( hDC, lpsz, ui, &Size ) ;
cx = rcCap.left + ((rcCap.right - rcCap.left - Size.cx) / 2) ;
ETO_CLIPPED, &rcCap,
lpsz, ui, NULL ) ;
- hFont = SelectObject( hDC, hFont ) ;
+ hFont = (HFONT) SelectObject( hDC, hFont ) ;
DeleteObject( hFont ) ;
}
rgbText = SetTextColor( hDC, rgbText ) ;
SetBkMode( hDC, nBkMode ) ;
+#ifdef __WIN16__
+ GlobalFreePtr( (unsigned int)(DWORD) lpsz ) ;
+#else
GlobalFreePtr( lpsz ) ;
+#endif
}
}
if (!TestWinStyle(hWnd, WS_SYSMENU))
return FALSE ;
- if ((hDC = GetWindowDC( hWnd )))
+ hDC = GetWindowDC( hWnd );
+ if (hDC)
{
// Invert the icon
//
} // DrawArrow()
-#endif // USE_ITSY_BITSY
+#endif // wxUSE_ITSY_BITSY
+
+#endif // __WIN32__