From: Julian Smart Date: Mon, 2 Jun 2003 10:27:03 +0000 (+0000) Subject: Attempt to make wxWindows play better with XP themes X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/85b43fbf7a512ea49cf491320c458bec705762ed Attempt to make wxWindows play better with XP themes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/distrib/msw/tmake/filelist.txt b/distrib/msw/tmake/filelist.txt index 0b300e0919..f7f20f692b 100644 --- a/distrib/msw/tmake/filelist.txt +++ b/distrib/msw/tmake/filelist.txt @@ -365,6 +365,7 @@ treectrl.cpp MSW Win32Only utils.cpp MSW Base,LowLevel utilsexc.cpp MSW Base,LowLevel uuid.cpp MSW OLE,LowLevel +uxtheme.cpp MSW volume.cpp MSW Base wave.cpp MSW LowLevel window.cpp MSW LowLevel diff --git a/include/wx/defs.h b/include/wx/defs.h index bde449e9c8..142a46ede1 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -1000,6 +1000,11 @@ enum wxBorder // parent is destroyed before the child #define wxWS_EX_TRANSIENT 0x00000004 +// don't paint the window background, we'll assume it will +// be done by a theming engine. This is not yet used but could +// possibly be made to work in the future, at least on Windows +#define wxWS_EX_THEMED_BACKGROUND 0x00000008 + // Use this style to add a context-sensitive help to the window (currently for // Win32 only and it doesn't work if wxMINIMIZE_BOX or wxMAXIMIZE_BOX are used) #define wxFRAME_EX_CONTEXTHELP 0x00000004 diff --git a/include/wx/msw/notebook.h b/include/wx/msw/notebook.h index f515dada98..714f15cda7 100644 --- a/include/wx/msw/notebook.h +++ b/include/wx/msw/notebook.h @@ -96,6 +96,9 @@ public: // set the padding between tabs (in pixels) void SetPadding(const wxSize& padding); + // Windows only: attempts to get colour for UX theme page background + wxColour GetThemeBackgroundColour(); + // operations // ---------- // remove all pages @@ -112,6 +115,8 @@ public: // style. void SetTabSize(const wxSize& sz); + // Windows only: attempts to apply the UX theme page background to this page + void ApplyThemeBackground(wxWindow* window, const wxColour& colour); // Hit test int HitTest(const wxPoint& pt, long& flags); diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 524f8adb08..ab50ac6dc6 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -1034,6 +1034,13 @@ // Recommended setting: 1, set to 0 for a small library size reduction #define wxUSE_OWNER_DRAWN 1 +// Set to 1 to compile MS Windows XP theme engine support +#define wxUSE_UXTHEME 1 + +// Set to 1 to auto-adapt to MS Windows XP themes where possible +// (notably, wxNotebook pages) +#define wxUSE_UXTHEME_AUTO 1 + // ---------------------------------------------------------------------------- // obsolete settings // ---------------------------------------------------------------------------- diff --git a/include/wx/msw/uxtheme.h b/include/wx/msw/uxtheme.h index 666202b678..f239045c8a 100644 --- a/include/wx/msw/uxtheme.h +++ b/include/wx/msw/uxtheme.h @@ -9,6 +9,10 @@ #ifndef _WX_UXTHEME_H_ #define _WX_UXTHEME_H_ +#ifdef __GNUG__ + #pragma interface "uxtheme.cpp" +#endif + // Use wxModule approach to initialization. #define WXU_USE_WXMODULE 1 @@ -73,11 +77,11 @@ typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEBACKGROUNDCONTENTRECT)(WXHTHEME, WX typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEBACKGROUNDEXTENT)(WXHTHEME, WXHDC, int, int, const WXURECT *, WXURECT *) ; -typedef enum WXUTHEMESIZE +enum WXUTHEMESIZE { WXU_TS_MIN, // minimum size WXU_TS_TRUE, // size without stretching - WXU_TS_DRAW, // size that theme mgr will use to draw part + WXU_TS_DRAW // size that theme mgr will use to draw part }; typedef struct tagWXUSIZE @@ -145,7 +149,7 @@ typedef WXUHRESULT (__stdcall *PFNWXUDRAWTHEMEICON)(WXHTHEME, WXHDC, int, int, const WXURECT *, WXHIMAGELIST, int) ; typedef WXUBOOL (__stdcall *PFNWXUISTHEMEPARTDEFINED)(WXHTHEME, int, int) ; typedef WXUBOOL (__stdcall *PFNWXUISTHEMEBACKGROUNDPARTIALLYTRANSPARENT)(WXHTHEME, int, int) ; -typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMECOLOR)(WXHTHEME, int, int, int, WXCOLORREF) ; +typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMECOLOR)(WXHTHEME, int, int, int, WXCOLORREF*) ; typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEMETRIC)(WXHTHEME, WXHDC, int, int, int, int *) ; typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMESTRING)(WXHTHEME, int, @@ -191,7 +195,8 @@ typedef struct _WXUINTLIST } WXUINTLIST, *PWXUINTLIST; typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEINTLIST)(WXHTHEME, int, int, int, WXUINTLIST*) ; -typedef enum WXUPROPERTYORIGIN + +enum WXUPROPERTYORIGIN { WXU_PO_STATE, // property was found in the state section WXU_PO_PART, // property was found in the part section @@ -199,6 +204,7 @@ typedef enum WXUPROPERTYORIGIN WXU_PO_GLOBAL, // property was found in [globals] section WXU_PO_NOTFOUND // property was not found }; + typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEPROPERTYORIGIN)(WXHTHEME, int, int, int, enum WXUPROPERTYORIGIN *) ; typedef WXUHRESULT (__stdcall *PFNWXUSETWINDOWTHEME)(WXHWND, const wchar_t*, const wchar_t *) ; @@ -241,7 +247,7 @@ typedef WXUHRESULT (__stdcall *PFNWXUGETTHEMEDOCUMENTATIONPROPERTY)(const wchar_ typedef WXUHRESULT (__stdcall *PFNWXUDRAWTHEMEPARENTBACKGROUND)(WXHWND, WXHDC, WXURECT *) ; typedef WXUHRESULT (__stdcall *PFNWXUENABLETHEMING)(WXUBOOL) ; -class wxUxThemeEngine +class WXDLLEXPORT wxUxThemeEngine { private: wxUxThemeEngine() ; @@ -256,6 +262,7 @@ private: public: static wxUxThemeEngine* wxInitUxThemeEngine() ; + static wxUxThemeEngine* Get() ; protected: void ResetFunctionPointers() ; public: @@ -308,12 +315,12 @@ public: PFNWXUENABLETHEMING m_pfnEnableTheming ; }; -extern wxUxThemeEngine* g_pThemeEngine ; +WXDLLEXPORT_DATA(extern wxUxThemeEngine*) g_pThemeEngine ; -BOOL wxCanUseInitThemeEngine() ; +WXDLLEXPORT BOOL wxCanUseInitThemeEngine() ; #if !defined(WXU_USE_WXMODULE) -BOOL wxUxInitThemeEngine() ; +WXDLLEXPORT BOOL wxUxInitThemeEngine() ; #endif #endif diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index 940c084d5f..e654d15bcf 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -439,7 +439,7 @@ void MyFrame::OnButtonAddPage( wxCommandEvent& WXUNUSED(event) ) static size_t s_pageAdded = 0; wxPanel *panel = new wxPanel( m_notebook, -1 ); - (void) new wxButton( panel, -1, wxT("Frist button"), + (void) new wxButton( panel, -1, wxT("First button"), wxPoint(10, 10), wxSize(-1, -1) ); (void) new wxButton( panel, -1, wxT("Second button"), wxPoint(50, 100), wxSize(-1, -1) ); diff --git a/src/msw/bmpbuttn.cpp b/src/msw/bmpbuttn.cpp index ba336ee822..3ed26799e4 100644 --- a/src/msw/bmpbuttn.cpp +++ b/src/msw/bmpbuttn.cpp @@ -234,7 +234,10 @@ void wxBitmapButton::DrawFace( WXHDC dc, int left, int top, int right, int botto penLight = CreatePen(PS_SOLID, 0, GetSysColor(COLOR_3DLIGHT)); penShadow = CreatePen(PS_SOLID, 0, GetSysColor(COLOR_3DSHADOW)); penDkShadow = CreatePen(PS_SOLID, 0, GetSysColor(COLOR_3DDKSHADOW)); - brushFace = CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); + // brushFace = CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); + // Taking the background colour fits in better with + // Windows XP themes. + brushFace = CreateSolidBrush(m_backgroundColour.m_pixel); // draw the rectangle RECT rect; diff --git a/src/msw/control.cpp b/src/msw/control.cpp index 8be39b2fca..bbb8d431dd 100644 --- a/src/msw/control.cpp +++ b/src/msw/control.cpp @@ -269,7 +269,7 @@ WXHBRUSH wxControl::OnCtlColor(WXHDC pDC, WXHWND WXUNUSED(pWnd), WXUINT WXUNUSED #endif // wxUSE_CTL3D HDC hdc = (HDC)pDC; - if (GetParent()->GetTransparentBackground()) + if (GetParent()->GetTransparentBackground() /* || (GetParent()->GetExtraStyle() & wxWS_EX_THEMED_BACKGROUND) */ ) SetBkMode(hdc, TRANSPARENT); else SetBkMode(hdc, OPAQUE); diff --git a/src/msw/files.lst b/src/msw/files.lst index 67153e59c3..a80b758dc5 100644 --- a/src/msw/files.lst +++ b/src/msw/files.lst @@ -268,6 +268,7 @@ ALL_SOURCES = \ msw/utilsexc.cpp \ msw/ole/uuid.cpp \ msw/volume.cpp \ + msw/uxtheme.cpp \ msw/wave.cpp \ msw/window.cpp \ html/helpctrl.cpp \ @@ -956,6 +957,7 @@ GUIOBJS = \ treectrl.o \ utils.o \ utilsexc.o \ + uxtheme.o \ volume.o \ wave.o \ window.o diff --git a/src/msw/makefile.b32 b/src/msw/makefile.b32 index 73331036f2..d17d7be0fa 100644 --- a/src/msw/makefile.b32 +++ b/src/msw/makefile.b32 @@ -206,6 +206,7 @@ MSWOBJS = $(OBJ_PATH)\accel.obj \ $(OBJ_PATH)\utils.obj \ $(OBJ_PATH)\utilsexc.obj \ $(OBJ_PATH)\uuid.obj \ + $(OBJ_PATH)\uxtheme.obj \ $(OBJ_PATH)\volume.obj \ $(OBJ_PATH)\wave.obj \ $(OBJ_PATH)\window.obj @@ -915,6 +916,8 @@ $(OBJ_PATH)\utilsexc.obj: $(MSWDIR)\utilsexc.$(SRCSUFF) $(OBJ_PATH)\uuid.obj: $(OLEDIR)\uuid.$(SRCSUFF) +$(OBJ_PATH)\uxtheme.obj: $(MSWDIR)\uxtheme.$(SRCSUFF) + $(OBJ_PATH)\volume.obj: $(MSWDIR)\volume.$(SRCSUFF) $(OBJ_PATH)\wave.obj: $(MSWDIR)\wave.$(SRCSUFF) diff --git a/src/msw/makefile.g95 b/src/msw/makefile.g95 index 88431a26aa..bfdf552f88 100644 --- a/src/msw/makefile.g95 +++ b/src/msw/makefile.g95 @@ -371,6 +371,7 @@ MSWOBJS = \ $(MSWDIR)/tooltip.$(OBJSUFF) \ $(MSWDIR)/toplevel.$(OBJSUFF) \ $(MSWDIR)/treectrl.$(OBJSUFF) \ + $(MSWDIR)/uxtheme.$(OBJSUFF) \ $(MSWDIR)/wave.$(OBJSUFF) \ $(MSWDIR)/window.$(OBJSUFF) diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc index c53425c153..e39c827965 100644 --- a/src/msw/makefile.vc +++ b/src/msw/makefile.vc @@ -371,6 +371,7 @@ MSWOBJS = $(MSWDIR)\$D\accel.obj \ $(MSWDIR)\$D\utils.obj \ $(MSWDIR)\$D\utilsexc.obj \ $(OLEDIR)\$D\uuid.obj \ + $(OLEDIR)\$D\uxtheme.obj \ $(MSWDIR)\$D\volume.obj \ $(MSWDIR)\$D\wave.obj \ $(MSWDIR)\$D\window.obj diff --git a/src/msw/makefile.wat b/src/msw/makefile.wat index f761301802..97285fd859 100644 --- a/src/msw/makefile.wat +++ b/src/msw/makefile.wat @@ -316,6 +316,7 @@ MSWOBJS = $(OUTPUTDIR)\accel.obj & $(OUTPUTDIR)\utils.obj & $(OUTPUTDIR)\utilsexc.obj & $(OUTPUTDIR)\uuid.obj & + $(OUTPUTDIR)\uxtheme.obj & $(OUTPUTDIR)\volume.obj & $(OUTPUTDIR)\wave.obj & $(OUTPUTDIR)\window.obj diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index fda283e496..25ff1ce8a6 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -50,6 +50,23 @@ #include #endif +#include "wx/msw/winundef.h" + +#if wxUSE_UXTHEME +#include "wx/msw/uxtheme.h" + +#include "wx/radiobut.h" +#include "wx/radiobox.h" +#include "wx/checkbox.h" +#include "wx/bmpbuttn.h" +#include "wx/statline.h" +#include "wx/statbox.h" +#include "wx/stattext.h" +#include "wx/slider.h" +#include "wx/scrolwin.h" +#include "wx/panel.h" +#endif + // ---------------------------------------------------------------------------- // macros // ---------------------------------------------------------------------------- @@ -439,6 +456,17 @@ bool wxNotebook::InsertPage(int nPage, wxASSERT_MSG( pPage->GetParent() == this, _T("notebook pages must have notebook as parent") ); +#if wxUSE_UXTHEME && wxUSE_UXTHEME_AUTO + // Automatically apply the theme background, + // changing the colour of the panel to match the + // tab page colour. This won't work well with all + // themes but it's a start. + if (wxUxThemeEngine::Get() && pPage->IsKindOf(CLASSINFO(wxPanel))) + { + ApplyThemeBackground(pPage, GetThemeBackgroundColour()); + } +#endif + // add a new tab to the control // ---------------------------- @@ -719,4 +747,67 @@ bool wxNotebook::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result) return processed; } +// Windows only: attempts to get colour for UX theme page background +wxColour wxNotebook::GetThemeBackgroundColour() +{ +#if wxUSE_UXTHEME + if (wxUxThemeEngine::Get()) + { + WXHTHEME hTheme = wxUxThemeEngine::Get()->m_pfnOpenThemeData(GetHWND(), L"TAB"); + if (hTheme) + { + // This is total guesswork. + // See PlatformSDK\Include\Tmschema.h for values + COLORREF themeColor; + wxUxThemeEngine::Get()-> + m_pfnGetThemeColor(hTheme, + 10 /* TABP_BODY */, + 1 /* NORMAL */, + 3821, /* FILLCOLORHINT */ + & themeColor); + + wxUxThemeEngine::Get()->m_pfnCloseThemeData(hTheme); + + wxColour colour(GetRValue(themeColor), GetGValue(themeColor), GetBValue(themeColor)); + return colour; + } + } +#endif + return GetBackgroundColour(); +} + +// Windows only: attempts to apply the UX theme page background to this page +void wxNotebook::ApplyThemeBackground(wxWindow* window, const wxColour& colour) +{ +#if wxUSE_UXTHEME + // Don't set the background for buttons since this will + // switch it into ownerdraw mode + if (window->IsKindOf(CLASSINFO(wxButton)) && !window->IsKindOf(CLASSINFO(wxBitmapButton))) + // This is essential, otherwise you'll see dark grey + // corners in the buttons. + ((wxButton*)window)->wxControl::SetBackgroundColour(colour); + else if (window->IsKindOf(CLASSINFO(wxStaticText)) || + window->IsKindOf(CLASSINFO(wxStaticBox)) || + window->IsKindOf(CLASSINFO(wxStaticLine)) || + window->IsKindOf(CLASSINFO(wxRadioButton)) || + window->IsKindOf(CLASSINFO(wxRadioBox)) || + window->IsKindOf(CLASSINFO(wxCheckBox)) || + window->IsKindOf(CLASSINFO(wxBitmapButton)) || + window->IsKindOf(CLASSINFO(wxSlider)) || + window->IsKindOf(CLASSINFO(wxPanel)) || + (window->IsKindOf(CLASSINFO(wxNotebook)) && (window != this)) || + window->IsKindOf(CLASSINFO(wxScrolledWindow)) + ) + { + window->SetBackgroundColour(colour); + } + + for ( wxWindowList::Node *node = window->GetChildren().GetFirst(); node; node = node->GetNext() ) + { + wxWindow *child = node->GetData(); + ApplyThemeBackground(child, colour); + } +#endif +} + #endif // wxUSE_NOTEBOOK diff --git a/src/msw/uxtheme.cpp b/src/msw/uxtheme.cpp index d241efe2a3..41dbe56726 100644 --- a/src/msw/uxtheme.cpp +++ b/src/msw/uxtheme.cpp @@ -6,10 +6,29 @@ * __stdcall calling convention */ +#ifdef __GNUG__ +#pragma implementation "uxtheme.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/toplevel.h" + #include "wx/string.h" + #include "wx/log.h" +#endif //WX_PRECOMP + +#if wxUSE_UXTHEME + #include #include "wx/msw/winundef.h" -#include "wx/wx.h" #include "wx/msw/uxtheme.h" #include "wx/msw/private.h" #include "wx/app.h" // for GetComCtl32Version @@ -45,6 +64,11 @@ wxUxThemeEngine* wxUxThemeEngine::wxInitUxThemeEngine() return pThemeEngine ; } +wxUxThemeEngine* wxUxThemeEngine::Get() +{ + return g_pThemeEngine; +} + #ifdef WXU_USE_WXMODULE class wxUxThemeModule : public wxModule { @@ -245,3 +269,6 @@ wxUxThemeEngine::~wxUxThemeEngine() ResetFunctionPointers() ; } +#endif + // wxUSE_UXTHEME + diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 54c791ddad..f67e46e9be 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -3738,6 +3738,9 @@ extern wxCOLORMAP *wxGetStdColourMap() bool wxWindowMSW::HandlePaint() { +// if (GetExtraStyle() & wxWS_EX_THEMED_BACKGROUND) +// return FALSE; + #ifdef __WIN32__ HRGN hRegion = ::CreateRectRgn(0, 0, 0, 0); // Dummy call to get a handle if ( !hRegion ) @@ -3790,6 +3793,29 @@ bool wxWindowMSW::HandleEraseBkgnd(WXHDC hdc) if ( ::IsIconic(GetHwnd()) ) return TRUE; +#if 0 + if (GetParent() && GetParent()->GetExtraStyle() & wxWS_EX_THEMED_BACKGROUND) + { + return FALSE; + } + + if (GetExtraStyle() & wxWS_EX_THEMED_BACKGROUND) + { + if (wxUxThemeEngine::Get()) + { + WXHTHEME hTheme = wxUxThemeEngine::Get()->m_pfnOpenThemeData(GetHWND(), L"TAB"); + if (hTheme) + { + WXURECT rect; + ::GetClientRect((HWND) GetHWND(), (RECT*) & rect); + wxUxThemeEngine::Get()->m_pfnDrawThemeBackground(hTheme, hdc, 10 /* TABP_BODY */, 0, &rect, &rect); + wxUxThemeEngine::Get()->m_pfnCloseThemeData(hTheme); + return TRUE; + } + } + } +#endif + wxDCTemp dc(hdc); dc.SetHDC(hdc); diff --git a/src/wxWindows.dsp b/src/wxWindows.dsp index 41d4392788..b96d4eb66a 100644 --- a/src/wxWindows.dsp +++ b/src/wxWindows.dsp @@ -2,8 +2,8 @@ # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** -# TARGTYPE "Win32 (x86) Static Library" 0x0104 # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 +# TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=wxWindows - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, @@ -32,8 +32,6 @@ CFG=wxWindows - Win32 Debug # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe !IF "$(CFG)" == "wxWindows - Win32 Release Unicode DLL" @@ -48,10 +46,13 @@ RSC=rc.exe # PROP Intermediate_Dir "../ReleaseUnicodeDll" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MD /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /c # ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdllu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "WIN32" /D "NDEBUG" /D WINVER=0x0400 /D "STRICT" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /Yu"wx/wxprec.h" /FD /c +MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /i "../include" /d "NDEBUG" BSC32=bscmake.exe @@ -74,17 +75,20 @@ LINK32=link.exe # PROP Intermediate_Dir "../DebugUnicodeDll" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswdllud" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "WIN32" /D "_DEBUG" /D WINVER=0x0400 /D "STRICT" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /Yu"wx/wxprec.h" /FD /c +MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /i "../include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /pdbtype:sept /out:"../lib/wxmsw250ud.dll" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /out:"../lib/wxmsw250ud.dll" /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250ud.dll" !ELSEIF "$(CFG)" == "wxWindows - Win32 Release Unicode" @@ -99,8 +103,10 @@ LINK32=link.exe # PROP Output_Dir "../lib" # PROP Intermediate_Dir "../ReleaseUnicode" # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MD /W4 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "WIN32" /D "NDEBUG" /D WINVER=0x0400 /D "STRICT" /D "_UNICODE" /D "UNICODE" /Yu"wx/wxprec.h" /FD /c +RSC=rc.exe # ADD BASE RSC /l 0x409 # ADD RSC /l 0x409 BSC32=bscmake.exe @@ -122,8 +128,10 @@ LIB32=link.exe -lib # PROP Output_Dir "../lib" # PROP Intermediate_Dir "../DebugUnicode" # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MDd /W4 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswud" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "WIN32" /D "_DEBUG" /D "__WXDEBUG__" /D WINVER=0x0400 /D "STRICT" /D "_UNICODE" /D "UNICODE" /Yu"wx/wxprec.h" /FD /c +RSC=rc.exe # ADD BASE RSC /l 0x409 # ADD RSC /l 0x409 BSC32=bscmake.exe @@ -146,10 +154,13 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "../ReleaseDll" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MD /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /c # ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdll" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "WIN32" /D "NDEBUG" /D WINVER=0x0400 /D "STRICT" /D "WXMAKINGDLL" /Yu"wx/wxprec.h" /FD /c +MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /i "../include" /d "NDEBUG" BSC32=bscmake.exe @@ -172,17 +183,20 @@ LINK32=link.exe # PROP Intermediate_Dir "../DebugDll" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MDd /W4 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswdlld" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "WIN32" /D "_DEBUG" /D WINVER=0x0400 /D "STRICT" /D "WXMAKINGDLL" /Yu"wx/wxprec.h" /FD /c +MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /i "../include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /pdbtype:sept /out:"../lib/wxmsw250d.dll" +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /dll /debug /machine:I386 /out:"../lib/wxmsw250d.dll" /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib ..\lib\jpegd.lib ..\lib\tiffd.lib ..\lib\pngd.lib ..\lib\regexd.lib ..\lib\zlibd.lib /nologo /version:2.5 /dll /machine:I386 /out:"../lib/wxmsw250d.dll" !ELSEIF "$(CFG)" == "wxWindows - Win32 Release" @@ -197,8 +211,10 @@ LINK32=link.exe # PROP Output_Dir "../lib" # PROP Intermediate_Dir "../Release" # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MD /W4 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /MD /W4 /O2 /I "../lib/msw" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "WIN32" /D "NDEBUG" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c +RSC=rc.exe # ADD BASE RSC /l 0x409 # ADD RSC /l 0x409 BSC32=bscmake.exe @@ -220,8 +236,10 @@ LIB32=link.exe -lib # PROP Output_Dir "../lib" # PROP Intermediate_Dir "../Debug" # PROP Target_Dir "" +CPP=cl.exe # ADD BASE CPP /nologo /MDd /W4 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswd" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "WIN32" /D "_DEBUG" /D "__WXDEBUG__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c +RSC=rc.exe # ADD BASE RSC /l 0x409 # ADD RSC /l 0x409 BSC32=bscmake.exe @@ -392,6 +410,11 @@ SOURCE=.\common\event.cpp # End Source File # Begin Source File +SOURCE=.\common\extended.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + SOURCE=.\common\fddlgcmn.cpp # End Source File # Begin Source File @@ -720,6 +743,11 @@ SOURCE=.\common\txtstrm.cpp # End Source File # Begin Source File +SOURCE=.\common\unzip.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + SOURCE=.\common\url.cpp # End Source File # Begin Source File @@ -766,18 +794,6 @@ SOURCE=.\common\zipstrm.cpp SOURCE=.\common\zstream.cpp # End Source File - -# Begin Source File - -SOURCE=.\common\extended.c -# SUBTRACT CPP /YX /Yc /Yu -# End Source File -# Begin Source File - -SOURCE=.\common\unzip.c -# SUBTRACT CPP /YX /Yc /Yu -# End Source File - # End Group # Begin Group "Generic Files" @@ -890,7 +906,6 @@ SOURCE=.\generic\treectlg.cpp SOURCE=.\generic\wizard.cpp # End Source File - # End Group # Begin Group "wxHTML Files" @@ -975,18 +990,44 @@ SOURCE=.\html\m_tables.cpp SOURCE=.\html\winpars.cpp # End Source File - # End Group # Begin Group "MSW Files" +# PROP Default_Filter "" +# Begin Group "OLE Files" + # PROP Default_Filter "" # Begin Source File -SOURCE=.\msw\dummy.cpp -# ADD CPP /Yc"wx/wxprec.h" +SOURCE=.\msw\ole\access.cpp +# End Source File +# Begin Source File + +SOURCE=.\msw\ole\automtn.cpp +# End Source File +# Begin Source File + +SOURCE=.\msw\ole\dataobj.cpp +# End Source File +# Begin Source File + +SOURCE=.\msw\ole\dropsrc.cpp +# End Source File +# Begin Source File + +SOURCE=.\msw\ole\droptgt.cpp +# End Source File +# Begin Source File + +SOURCE=.\msw\ole\oleutils.cpp # End Source File # Begin Source File +SOURCE=.\msw\ole\uuid.cpp +# End Source File +# End Group +# Begin Source File + SOURCE=.\msw\accel.cpp # End Source File # Begin Source File @@ -1107,6 +1148,11 @@ SOURCE=.\msw\dragimag.cpp # End Source File # Begin Source File +SOURCE=.\msw\dummy.cpp +# ADD CPP /Yc"wx/wxprec.h" +# End Source File +# Begin Source File + SOURCE=.\msw\enhmeta.cpp # End Source File # Begin Source File @@ -1159,6 +1205,16 @@ SOURCE=.\msw\glcanvas.cpp # End Source File # Begin Source File +SOURCE=.\msw\gsocket.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + +SOURCE=.\msw\gsockmsw.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + SOURCE=.\msw\helpbest.cpp # End Source File # Begin Source File @@ -1379,61 +1435,20 @@ SOURCE=.\msw\utilsexc.cpp # End Source File # Begin Source File -SOURCE=.\msw\volume.cpp -# End Source File -# Begin Source File - -SOURCE=.\msw\wave.cpp -# End Source File -# Begin Source File - -SOURCE=.\msw\window.cpp -# End Source File - -# Begin Source File - -SOURCE=.\msw\gsocket.c -# SUBTRACT CPP /YX /Yc /Yu -# End Source File -# Begin Source File - -SOURCE=.\msw\gsockmsw.c -# SUBTRACT CPP /YX /Yc /Yu -# End Source File - -# Begin Group "OLE Files" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\msw\ole\access.cpp -# End Source File -# Begin Source File - -SOURCE=.\msw\ole\automtn.cpp -# End Source File -# Begin Source File - -SOURCE=.\msw\ole\dataobj.cpp -# End Source File -# Begin Source File - -SOURCE=.\msw\ole\dropsrc.cpp +SOURCE=.\msw\uxtheme.cpp # End Source File # Begin Source File -SOURCE=.\msw\ole\droptgt.cpp +SOURCE=.\msw\volume.cpp # End Source File # Begin Source File -SOURCE=.\msw\ole\oleutils.cpp +SOURCE=.\msw\wave.cpp # End Source File # Begin Source File -SOURCE=.\msw\ole\uuid.cpp +SOURCE=.\msw\window.cpp # End Source File - -# End Group # End Group # Begin Group "Headers" @@ -1444,7 +1459,9 @@ SOURCE=.\msw\ole\uuid.cpp # Begin Source File SOURCE=..\include\wx\msw\setup.h + !IF "$(CFG)" == "wxWindows - Win32 Release Unicode DLL" + # Begin Custom Build - Creating ..\lib\mswdllu\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1452,7 +1469,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswdllu\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode DLL" + # Begin Custom Build - Creating ..\lib\mswdllud\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1460,7 +1479,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswdllud\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Release Unicode" + # Begin Custom Build - Creating ..\lib\mswu\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1468,7 +1489,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswu\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Debug Unicode" + # Begin Custom Build - Creating ..\lib\mswud\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1476,7 +1499,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswud\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Release DLL" + # Begin Custom Build - Creating ..\lib\mswdll\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1484,7 +1509,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswdll\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Debug DLL" + # Begin Custom Build - Creating ..\lib\mswdlld\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1492,7 +1519,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswdlld\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Release" + # Begin Custom Build - Creating ..\lib\msw\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1500,7 +1529,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\msw\wx\setup.h # End Custom Build + !ELSEIF "$(CFG)" == "wxWindows - Win32 Debug" + # Begin Custom Build - Creating ..\lib\mswd\wx\setup.h from $(InputPath) InputPath=..\include\wx\msw\setup.h @@ -1508,7 +1539,9 @@ InputPath=..\include\wx\msw\setup.h copy "$(InputPath)" ..\lib\mswd\wx\setup.h # End Custom Build + !ENDIF + # End Source File # End Group # Begin Group "Common" @@ -2446,7 +2479,6 @@ SOURCE=..\include\wx\zipstrm.h SOURCE=..\include\wx\zstream.h # End Source File - # End Group # Begin Group "MSW" @@ -2815,7 +2847,6 @@ SOURCE=..\include\wx\msw\window.h SOURCE=..\include\wx\msw\winundef.h # End Source File - # End Group # Begin Group "Generic" @@ -2976,7 +3007,6 @@ SOURCE=..\include\wx\generic\treectlg.h SOURCE=..\include\wx\generic\wizard.h # End Source File - # End Group # Begin Group "HTML" @@ -3033,7 +3063,6 @@ SOURCE=..\include\wx\html\m_templ.h SOURCE=..\include\wx\html\winpars.h # End Source File - # End Group # End Group # End Target