src/msw/makefile.*
src/msw/*.lst
src/msw/*.def
+src/msw/*.inc
src/msw/ctl3d/*.*
src/msw/ctl3d/msvc/*.*
\wxheading{Window styles}
-There are no specific styles for this class.
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style).}
+\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
C++ {\it bitwise-or} operator. For example:
\begin{verbatim}
- wxCAPTION | wxMINIMIZE_BOX | wxMINIMIZE_BOX | wxTHICK_FRAME
+ wxCAPTION | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME
\end{verbatim}
For the window styles specific to each window class, please see the documentation
wxWindows 2.0 for Windows Change Log
------------------------------------
+Alpha 12, July ??1998
+-----------------------
+
+- Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
+ have flat toolbars on Win98 or Win95 with IE >= 3 installed.
+
Alpha 11, July 3rd 1998
-----------------------
wx200msw.zip Windows-specific source code and samples (required)
wx200doc.zip Documentation source code (not required)
wx200hlp.zip WinHelp documentation
-wx200ps.zip PostScript documentation (will probably
- disappear in favour of PDF)
wx200pdf.zip Acrobat PDF documentation
wx200htm.zip HTML documentation
Gotchas:
-- libwx.a is 28 MB or more.
+- libwx.a is 28 MB or more - but only 2.9 MB if compiled with no
+ debug info (-g0) and level 4 optimization (-O4).
- install.exe doesn't have built-in decompression because lzexpand.lib
isn't available with Gnu-Win32. However, you can use it with external
decompression utilities.
*/
#define wxTB_3DBUTTONS 0x8000
+// Flatbar/Coolbar under Win98
+#define wxTB_FLAT 0x0002
/*
* Apply to all panel items
// Default behaviour
virtual long Default(void) { if (GetNextHandler()) return GetNextHandler()->Default(); else return 0; };
-/*
-#if WXWIN_COMPATIBILITY
- virtual void OldOnMenuCommand(int WXUNUSED(cmd));
- virtual void OldOnMenuSelect(int WXUNUSED(cmd));
- virtual void OldOnInitMenuPopup(int WXUNUSED(pos));
- virtual void OldOnScroll(wxCommandEvent& WXUNUSED(event));
- virtual void OldOnPaint(void);
- virtual void OldOnSize(int WXUNUSED(width), int WXUNUSED(height));
- virtual void OldOnMove(int WXUNUSED(x), int WXUNUSED(y));
- virtual void OldOnMouseEvent(wxMouseEvent& WXUNUSED(event));
- virtual void OldOnChar(wxKeyEvent& WXUNUSED(event));
- // Under Windows, we can intercept character input per dialog or frame
- virtual bool OldOnCharHook(wxKeyEvent& WXUNUSED(event));
- virtual void OldOnActivate(bool WXUNUSED(active));
- virtual void OldOnSetFocus(void);
- virtual void OldOnKillFocus(void);
- virtual bool OldOnSysColourChange(void);
- virtual void OldOnDropFiles(int n, char *files[], int x, int y);
-
- virtual void OnDefaultAction(wxControl *WXUNUSED(initiatingItem)) {};
- virtual void OnChangeFocus(wxControl *WXUNUSED(from), wxControl *WXUNUSED(to)) {};
- virtual bool OnFunctionKey(wxKeyEvent &WXUNUSED(event)) { return FALSE; };
-#endif
-*/
-
virtual bool OnClose(void);
inline char *GetClientData(void) const { return m_clientData; }
void * operator new (size_t size, char * fileName, int lineNum);
void operator delete (void * buf);
-#if !( defined (_MSC_VER) && (_MSC_VER <= 800) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
void * operator new[] (size_t size, char * fileName, int lineNum);
void operator delete[] (void * buf);
#endif
WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
-void WXDLLEXPORT wxCleanUp(void);
-void WXDLLEXPORT wxCommonCleanUp(void); // Call this from the platform's wxCleanUp()
-void WXDLLEXPORT wxCommonInit(void); // Call this from the platform's initialization
+void WXDLLEXPORT wxCleanUp();
+void WXDLLEXPORT wxCommonCleanUp(); // Call this from the platform's wxCleanUp()
+void WXDLLEXPORT wxCommonInit(); // Call this from the platform's initialization
// Force an exit from main loop
-void WXDLLEXPORT wxExit(void);
+void WXDLLEXPORT wxExit();
// Yield to other apps/messages
-bool WXDLLEXPORT wxYield(void);
+bool WXDLLEXPORT wxYield();
// Represents the application. Derive OnInit and declare
// a new App object to start application
class WXDLLEXPORT wxApp: public wxEvtHandler
{
DECLARE_DYNAMIC_CLASS(wxApp)
- wxApp(void);
- inline ~wxApp(void) {}
+ wxApp();
+ inline ~wxApp() {}
static void SetInitializerFunction(wxAppInitializerFunction fn) { m_appInitFn = fn; }
- static wxAppInitializerFunction GetInitializerFunction(void) { return m_appInitFn; }
+ static wxAppInitializerFunction GetInitializerFunction() { return m_appInitFn; }
- virtual int MainLoop(void);
- void ExitMainLoop(void);
- bool Initialized(void);
- virtual bool Pending(void) ;
- virtual void Dispatch(void) ;
+ virtual int MainLoop();
+ void ExitMainLoop();
+ bool Initialized();
+ virtual bool Pending() ;
+ virtual void Dispatch() ;
virtual void OnIdle(wxIdleEvent& event);
// Generic
- virtual bool OnInit(void) { return FALSE; };
+ virtual bool OnInit() { return FALSE; };
// No specific tasks to do here.
- virtual bool OnInitGui(void) { return TRUE; }
+ virtual bool OnInitGui() { return TRUE; }
// Called to set off the main loop
- virtual int OnRun(void) { return MainLoop(); };
- virtual int OnExit(void) { return 0; };
+ virtual int OnRun() { return MainLoop(); };
+ virtual int OnExit() { return 0; };
inline void SetPrintMode(int mode) { m_printMode = mode; }
- inline int GetPrintMode(void) const { return m_printMode; }
-
- inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
- inline bool GetExitOnFrameDelete(void) const { return m_exitOnFrameDelete; }
+ inline int GetPrintMode() const { return m_printMode; }
-/*
- inline void SetShowFrameOnInit(bool flag) { m_showOnInit = flag; }
- inline bool GetShowFrameOnInit(void) const { return m_showOnInit; }
-*/
+ inline void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
+ inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
- inline wxString GetAppName(void) const {
+ inline wxString GetAppName() const {
if (m_appName != "")
return m_appName;
else return m_className;
}
inline void SetAppName(const wxString& name) { m_appName = name; };
- inline wxString GetClassName(void) const { return m_className; }
+ inline wxString GetClassName() const { return m_className; }
inline void SetClassName(const wxString& name) { m_className = name; }
- wxWindow *GetTopWindow(void) const ;
+ wxWindow *GetTopWindow() const ;
inline void SetTopWindow(wxWindow *win) { m_topWindow = win; }
inline void SetWantDebugOutput(bool flag) { m_wantDebugOutput = flag; }
- inline bool GetWantDebugOutput(void) { return m_wantDebugOutput; }
+ inline bool GetWantDebugOutput() { return m_wantDebugOutput; }
// Send idle event to all top-level windows.
// Returns TRUE if more idle time is requested.
- bool SendIdleEvents(void);
+ bool SendIdleEvents();
// Send idle event to window and all subwindows
// Returns TRUE if more idle time is requested.
bool SendIdleEvents(wxWindow* win);
inline void SetAuto3D(bool flag) { m_auto3D = flag; }
- inline bool GetAuto3D(void) const { return m_auto3D; }
+ inline bool GetAuto3D() const { return m_auto3D; }
// Creates a log object
virtual wxLog* CreateLogTarget();
// Implementation
static bool Initialize(WXHINSTANCE instance);
- static void CommonInit(void);
- static bool RegisterWindowClasses(void);
- static void CleanUp(void);
- static void CommonCleanUp(void);
- virtual bool DoMessage(void);
+ static void CommonInit();
+ static bool RegisterWindowClasses();
+ static void CleanUp();
+ static void CommonCleanUp();
+ virtual bool DoMessage();
virtual bool ProcessMessage(WXMSG* pMsg);
- void DeletePendingObjects(void);
- bool ProcessIdle(void);
-
-/*
- inline void SetPendingCleanup(bool flag) { m_pendingCleanup = flag; }
- inline bool GetPendingCleanup(void) { return m_pendingCleanup; }
-
- bool DoResourceCleanup(void);
- // Set resource collection scheme on or off.
- inline void SetResourceCollection(bool flag) { m_resourceCollection = flag; }
- inline bool GetResourceCollection(void) { return m_resourceCollection; }
-*/
+ void DeletePendingObjects();
+ bool ProcessIdle();
+ int GetComCtl32Version() const;
public:
static long sm_lastMessageTime;
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr);
-#if WXWIN_COMPATIBILITY
-/*
- // The default thing is to set the focus for the first child window.
- // Override for your own behaviour.
- virtual void OldOnActivate(bool flag);
-
- // Default behaviour is to display a help string for the menu item.
- virtual void OldOnMenuSelect(int id);
-
- inline virtual void OldOnMenuCommand(int WXUNUSED(id)) {}; // Called on frame menu command
- void OldOnSize(int x, int y);
-*/
-#endif
-
virtual bool Destroy(void);
void SetClientSize(int width, int height);
void GetClientSize(int *width, int *height) const;
// do it (call this in response to a mouse button press, for example)
// params: if bAllowMove is false, data can be only copied
- DragResult DoDragDrop(bool bAllowMove = false);
+ DragResult DoDragDrop(bool bAllowMove = FALSE);
// overridable: you may give some custom UI feedback during d&d operation
// in this function (it's called on each mouse move, so it shouldn't be too
void OnPaint(wxPaintEvent& event);
void OnIdle(wxIdleEvent& event);
-// virtual void OnChangeFocus(wxControl *from, wxControl *to);
-// virtual bool OnFunctionKey(wxKeyEvent &event);
-
-/*
-#if WXWIN_COMPATIBILITY
- virtual void OldOnMenuSelect(int WXUNUSED(cmd));
- virtual void OldOnInitMenuPopup(int WXUNUSED(pos));
- virtual void OldOnScroll(wxCommandEvent& WXUNUSED(event));
- virtual void OldOnPaint(void); // Called when needs painting
- virtual void OldOnSize(int width, int height); // Called on resize
- virtual void OldOnMouseEvent(wxMouseEvent& event); // Called on mouse event
- virtual void OldOnChar(wxKeyEvent& event); // Called on character event
- virtual void OldOnMenuCommand(int cmd); // Dealt with properly in wxFrame
- inline virtual void OldOnMove(int WXUNUSED(x), int WXUNUSED(y)); // Called on move
- inline virtual void OldOnActivate(bool WXUNUSED(active)); // Called on window activation (MSW)
- virtual void OldOnSetFocus(void); // Called on setting focus
- virtual void OldOnKillFocus(void); // Called on killing focus
-#endif
-*/
-
public:
////////////////////////////////////////////////////////////////////////
//// IMPLEMENTATION
int m_caretHeight;
bool m_caretEnabled;
bool m_caretShown;
-
- // Device context being stored whilst drawing is done
-// WXHDC m_tempHDC;
- // Temporary device context stored during an OnPaint
-// WXHDC m_paintHDC;
wxFont m_windowFont; // Window's font
bool m_isShown;
bool m_doubleClickAllowed ;
bool m_backgroundTransparent;
-// wxDC * m_windowDC; // The canvas's device context
-
int m_xThumbSize;
int m_yThumbSize;
inline wxButton *wxWindow::GetDefaultItem(void) const { return m_defaultItem; }
inline void wxWindow::SetDefaultItem(wxButton *but) { m_defaultItem = but; }
-// inline wxDC *wxWindow::GetDC(void) const { return m_windowDC; }
inline bool wxWindow::IsRetained(void) const { return ((m_windowStyle & wxRETAINED) == wxRETAINED); }
-/*
-#if WXWIN_COMPATIBILITY
-inline void wxWindow::OldOnMenuSelect(int WXUNUSED(cmd)) { Default(); };
-inline void wxWindow::OldOnInitMenuPopup(int WXUNUSED(pos)) { Default(); };
-inline void wxWindow::OldOnScroll(wxCommandEvent& WXUNUSED(event)) { Default(); };
-inline void wxWindow::OldOnMenuCommand(int WXUNUSED(cmd)) { Default(); } // Dealt with properly in wxFrame
-inline void wxWindow::OldOnMove(int WXUNUSED(x), int WXUNUSED(y)) { Default(); }; // Called on move
-inline void wxWindow::OldOnActivate(bool WXUNUSED(active)) { Default(); }; // Called on window activation (MSW)
-#endif
-*/
-
inline void wxWindow::SetShowing(bool show) { m_isShown = show; }
inline wxList *wxWindow::GetConstraintsInvolvedIn(void) const { return m_constraintsInvolvedIn; }
inline wxSizer *wxWindow::GetSizer(void) const { return m_windowSizer; }
return FALSE;
};
-/*
-#if WXWIN_COMPATIBILITY
-void wxEvtHandler::OldOnMenuCommand(int cmd)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnMenuCommand(cmd);
-}
-
-void wxEvtHandler::OldOnMenuSelect(int cmd)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnMenuSelect(cmd);
-}
-
-void wxEvtHandler::OldOnInitMenuPopup(int pos)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnInitMenuPopup(pos);
-}
-
-void wxEvtHandler::OldOnScroll(wxCommandEvent& event)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnScroll(event);
-}
-
-void wxEvtHandler::OldOnPaint(void)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnPaint();
-}
-void wxEvtHandler::OldOnSize(int width, int height)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnSize(width, height);
-}
-
-void wxEvtHandler::OldOnMove(int x, int y)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnMove(x, y);
-}
-
-void wxEvtHandler::OldOnMouseEvent(wxMouseEvent& event)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnMouseEvent(event);
-}
-
-void wxEvtHandler::OldOnChar(wxKeyEvent& event)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnChar(event);
-}
-
-// Under Windows, we can intercept character input per dialog or frame
-bool wxEvtHandler::OldOnCharHook(wxKeyEvent& event)
-{
- if (GetNextHandler()) return GetNextHandler()->OldOnCharHook(event);
- else return FALSE;
-}
-
-void wxEvtHandler::OldOnActivate(bool active)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnActivate(active);
-}
-
-void wxEvtHandler::OldOnSetFocus(void)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnSetFocus();
-}
-
-void wxEvtHandler::OldOnKillFocus(void)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnKillFocus();
-}
-
-bool wxEvtHandler::OldOnSysColourChange(void)
-{
- if (GetNextHandler()) return GetNextHandler()->OldOnSysColourChange();
- return FALSE;
-}
-
-void wxEvtHandler::OldOnDropFiles(int n, char *files[], int x, int y)
-{
- if (GetNextHandler()) GetNextHandler()->OldOnDropFiles(n, files, x, y);
-}
-#endif
-*/
-
bool wxEvtHandler::OnClose(void)
{
if (GetNextHandler()) return GetNextHandler()->OnClose();
#endif
}
-#if !( defined (_MSC_VER) && (_MSC_VER <= 800) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
void * operator new[] (size_t size, char * fileName, int lineNum)
{
#ifdef NO_DEBUG_ALLOCATION
#endif
}
-#if !( defined (_MSC_VER) && (_MSC_VER <= 800) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
void operator delete[] (void * buf)
{
#ifdef NO_DEBUG_ALLOCATION
return TRUE;
}
-bool wxApp::RegisterWindowClasses(void)
+bool wxApp::RegisterWindowClasses()
{
///////////////////////////////////////////////////////////////////////
// Register the frame window class.
}
// Cleans up any wxWindows internal structures left lying around
-void wxApp::CleanUp(void)
+void wxApp::CleanUp()
{
wxModule::CleanUpModules();
delete wxLog::SetActiveTarget(NULL);
}
-void wxApp::CommonInit(void)
+void wxApp::CommonInit()
{
#ifdef __WINDOWS__
wxBuffer = new char[1500];
wxClassInfo::InitializeClasses();
-#ifdef __X__
- wxTheFontNameDirectory.Initialize();
-#endif
-
-#if defined(__X__) && USE_RESOURCES
- // Read standard font names from .Xdefaults
-
- extern char *wxDecorativeFontName;
- extern char *wxRomanFontName;
- extern char *wxModernFontName;
- extern char *wxSwissFontName;
- extern char *wxScriptFontName;
- extern char *wxTeletypeFontName;
- extern char *wxDefaultFontName;
-
- (void) wxGetResource("wxWindows", "defaultFamily", &wxDefaultFontName);
- (void) wxGetResource("wxWindows", "decorativeFamily", &wxDecorativeFontName);
- (void) wxGetResource("wxWindows", "romanFamily", &wxRomanFontName);
- (void) wxGetResource("wxWindows", "modernFamily", &wxModernFontName);
- (void) wxGetResource("wxWindows", "swissFamily", &wxSwissFontName);
- (void) wxGetResource("wxWindows", "scriptFamily", &wxScriptFontName);
- (void) wxGetResource("wxWindows", "teletypeFamily", &wxTeletypeFontName);
-#endif
-
#if USE_RESOURCES
- (void) wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
+ wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
#endif
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
g_globalCursor = new wxCursor;
}
-void wxApp::CommonCleanUp(void)
+void wxApp::CommonCleanUp()
{
#if USE_WX_RESOURCES
wxCleanUpResourceSystem();
// Static member initialization
wxAppInitializerFunction wxApp::m_appInitFn = (wxAppInitializerFunction) NULL;
-wxApp::wxApp(void)
+wxApp::wxApp()
{
m_topWindow = NULL;
wxTheApp = this;
#else
m_printMode = wxPRINT_POSTSCRIPT;
#endif
-// work_proc = NULL;
m_exitOnFrameDelete = TRUE;
-// m_showOnInit = TRUE;
m_auto3D = TRUE;
}
-bool wxApp::Initialized(void)
+bool wxApp::Initialized()
{
#ifndef _WINDLL
if (GetTopWindow())
* received.
*
*/
-bool wxApp::DoMessage(void)
+bool wxApp::DoMessage()
{
if (!::GetMessage(&s_currentMsg, (HWND) NULL, 0, 0))
{
* are processed (it'll sit in DoMessage).
*/
-int wxApp::MainLoop(void)
+int wxApp::MainLoop()
{
m_keepGoing = TRUE;
while (m_keepGoing)
}
// Returns TRUE if more time is needed.
-bool wxApp::ProcessIdle(void)
+bool wxApp::ProcessIdle()
{
wxIdleEvent event;
event.SetEventObject(this);
return event.MoreRequested();
}
-void wxApp::ExitMainLoop(void)
+void wxApp::ExitMainLoop()
{
m_keepGoing = FALSE;
}
-bool wxApp::Pending(void)
+bool wxApp::Pending()
{
return (::PeekMessage(&s_currentMsg, 0, 0, 0, PM_NOREMOVE) != 0) ;
}
-void wxApp::Dispatch(void)
+void wxApp::Dispatch()
{
if (!DoMessage())
m_keepGoing = FALSE;
}
// Send idle event to all top-level windows
-bool wxApp::SendIdleEvents(void)
+bool wxApp::SendIdleEvents()
{
bool needMore = FALSE;
wxNode* node = wxTopLevelWindows.First();
return needMore ;
}
-void wxApp::DeletePendingObjects(void)
+void wxApp::DeletePendingObjects()
{
wxNode *node = wxPendingDelete.First();
while (node)
/*
// Free up font objects that are not being used at present.
-bool wxApp::DoResourceCleanup(void)
+bool wxApp::DoResourceCleanup()
{
// wxDebugMsg("ResourceCleanup\n");
}
*/
-wxLog* wxApp::CreateLogTarget(void)
+wxLog* wxApp::CreateLogTarget()
{
return new wxLogGui;
}
-wxWindow* wxApp::GetTopWindow(void) const
+wxWindow* wxApp::GetTopWindow() const
{
if (m_topWindow)
return m_topWindow;
return NULL;
}
-void wxExit(void)
+int wxApp::GetComCtl32Version() const
+{
+ // have we loaded COMCTL32 yet?
+ HMODULE theModule = ::GetModuleHandle("COMCTL32");
+ int version = 0;
+
+ // if so, then we can check for the version
+ if (theModule)
+ {
+ // InitCommonControlsEx is unique to 4.7 and later
+ FARPROC theProc = ::GetProcAddress(theModule, "InitCommonControlsEx");
+
+ if (! theProc)
+ { // not found, must be 4.00
+ version = 400;
+ }
+ else
+ {
+ // The following symbol are unique to 4.71
+ // DllInstall
+ // FlatSB_EnableScrollBar FlatSB_GetScrollInfo FlatSB_GetScrollPos
+ // FlatSB_GetScrollProp FlatSB_GetScrollRange FlatSB_SetScrollInfo
+ // FlatSB_SetScrollPos FlatSB_SetScrollProp FlatSB_SetScrollRange
+ // FlatSB_ShowScrollBar
+ // _DrawIndirectImageList _DuplicateImageList
+ // InitializeFlatSB
+ // UninitializeFlatSB
+ // we could check for any of these - I chose DllInstall
+ FARPROC theProc = ::GetProcAddress(theModule, "DllInstall");
+ if (! theProc)
+ {
+ // not found, must be 4.70
+ version = 470;
+ }
+ else
+ { // found, must be 4.71
+ version = 471;
+ }
+ }
+ }
+ return version;
+}
+
+void wxExit()
{
wxApp::CleanUp();
FatalAppExit(0, "Fatal error: exiting");
}
// Yield to incoming messages
-bool wxYield(void)
+bool wxYield()
{
MSG msg;
// We want to go back to the main message loop
}
}
-#if 0
-#if WXWIN_COMPATIBILITY
-void wxFrame::OldOnSize(int x, int y)
-{
-#if WXWIN_COMPATIBILITY == 1
- wxSizeEvent event(wxSize(x, y), m_windowId);
- event.SetEventObject( this );
- if (GetEventHandler()->ProcessEvent(event))
- return;
-#endif
- // Search for a child which is a subwindow, not another frame.
- wxWindow *child = NULL;
- // Count the number of _subwindow_ children
- int noChildren = 0;
- for(wxNode *node = GetChildren()->First(); node; node = node->Next())
- {
- wxWindow *win = (wxWindow *)node->Data();
- if (!win->IsKindOf(CLASSINFO(wxFrame)) && !win->IsKindOf(CLASSINFO(wxDialog)) && (win != GetStatusBar()))
- {
- child = win;
- noChildren ++;
- }
- }
-
- // If not one child, call the Layout function if compiled in
- if (!child || (noChildren > 1)
-#if USE_CONSTRAINTS
- || GetAutoLayout()
-#endif
- )
- {
-#if USE_CONSTRAINTS
- if (GetAutoLayout())
- Layout();
-#endif
- return;
- }
-
- if (child)
- {
- int client_x, client_y;
-
-#if DEBUG > 1
- wxDebugMsg("wxFrame::OnSize: about to set the child's size.\n");
-#endif
-
- GetClientSize(&client_x, &client_y);
- child->SetSize(0, 0, client_x, client_y);
- }
-}
-
-// Default activation behaviour - set the focus for the first child
-// subwindow found.
-void wxFrame::OldOnActivate(bool flag)
-{
-#if WXWIN_COMPATIBILITY == 1
- wxActivateEvent event(wxEVT_ACTIVATE, flag, m_windowId);
- event.SetEventObject( this );
- if (GetEventHandler()->ProcessEvent(event))
- return;
-#endif
- for(wxNode *node = GetChildren()->First(); node; node = node->Next())
- {
- // Find a child that's a subwindow, but not a dialog box.
- wxWindow *child = (wxWindow *)node->Data();
- if (!child->IsKindOf(CLASSINFO(wxFrame)) &&
- !child->IsKindOf(CLASSINFO(wxDialog)))
- {
-#if DEBUG > 1
- wxDebugMsg("wxFrame::OnActivate: about to set the child's focus.\n");
-#endif
- child->SetFocus();
- return;
- }
- }
-}
-
-// Default menu selection behaviour - display a help string
-void wxFrame::OldOnMenuSelect(int id)
-{
-#if WXWIN_COMPATIBILITY == 1
- wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, id);
- event.SetEventObject( this );
- if (GetEventHandler()->ProcessEvent(event))
- return;
-#endif
- if (GetStatusBar())
- {
- if (id == -1)
- SetStatusText("");
- else
- {
- wxMenuBar *menuBar = GetMenuBar();
- if (menuBar)
- {
- wxString helpString(menuBar->GetHelpString(id));
- if (helpString != "")
- SetStatusText(helpString);
- }
- }
- }
-}
-#endif
-
-#endif
- // 0
-
wxMenuBar *wxFrame::GetMenuBar(void) const
{
return m_frameMenuBar;
#include "wx/app.h"
#include "wx/msw/private.h"
+#ifndef TBSTYLE_FLAT
+#define TBSTYLE_LIST 0x1000
+#define TBSTYLE_FLAT 0x0800
+#define TBSTYLE_TRANSPARENT 0x8000
+#endif
+ // use TBSTYLE_TRANSPARENT if you use TBSTYLE_FLAT
+
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxToolBar95, wxToolBarBase)
y = 0;
m_windowId = (id < 0 ? NewControlId() : id);
+ DWORD msStyle = WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS;
+
+ if (style & wxTB_FLAT)
+ {
+ if (wxTheApp->GetComCtl32Version() > 400)
+ msStyle |= TBSTYLE_FLAT;
+ }
// Create the toolbar control.
HWND hWndToolbar = CreateWindowEx(0L, // No extended styles.
TOOLBARCLASSNAME, // Class name for the toolbar.
"", // No default text.
- WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS, // Styles and defaults.
+ msStyle, // Styles and defaults.
x, y, width, height, // Standard toolbar size and position.
(HWND) parent->GetHWND(), // Parent window of the toolbar.
(HMENU)m_windowId, // Toolbar ID.
void wxWindow::MSWOnInitMenuPopup(WXHMENU menu, int pos, bool isSystem)
{
-/*
- if (!isSystem)
- OldOnInitMenuPopup(pos);
-*/
}
bool wxWindow::MSWOnActivate(int state, bool WXUNUSED(minimized), WXHWND WXUNUSED(activate))
return exStyle;
}
-/*
-#if WXWIN_COMPATIBILITY
-void wxWindow::OldOnPaint(void)
-{
- wxPaintEvent event(m_windowId);
- event.m_eventObject = this;
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-
-void wxWindow::OldOnSize(int w, int h)
-{
- wxSizeEvent event(wxSize(w, h), m_windowId);
- event.m_eventObject = this;
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-
-void wxWindow::OldOnMouseEvent(wxMouseEvent& event)
-{
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-
-void wxWindow::OldOnChar(wxKeyEvent& event)
-{
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-
-void wxWindow::OldOnSetFocus(void)
-{
- wxFocusEvent event(wxEVT_SET_FOCUS, m_windowId);
- event.m_eventObject = this;
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-
-void wxWindow::OldOnKillFocus(void)
-{
- wxFocusEvent event(wxEVT_KILL_FOCUS, m_windowId);
- event.m_eventObject = this;
- if (!GetEventHandler()->ProcessEvent(event))
- Default();
-};
-#endif
-*/
-
void wxWindow::OnChar(wxKeyEvent& event)
{
bool isVirtual;
#include "dialoged.h"
-// A macro needed for some compilers (AIX) that need 'main' to be defined
-// in the application itself.
-IMPLEMENT_WXWIN_MAIN
-
IMPLEMENT_APP(MyApp)
MyApp::MyApp(void)