- implemented alignment for wxGrid bool editor and renderer
- support wxListCtrl columns alignment for all platforms and not just MSW
- added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
+- added wxTB_HORZ_TEXT style for MSW and GTK (Axel Schlueter)
- fixed user dash handling for MSW and GTK (Ken Edwards)
- WXR resources can now be used in Unicode builds
- it is now possible to use several wxFileHistory objects in the same menu
a new document), and more intelligent addition of filenames to
the file history, including not adding filenames if not using the
default extension for the template
-- Speeded up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
+- sped up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
- Added BLOB support to wxDB (John Skiff)
-- Wizard now validates when pressing Back or Next
+- wxWizard now validates when pressing Back or Next
- Implemented wxNotebook::DoGetBestSize so Fit now works
- Added FindItemByPosition to wxMenu
- wxTimer now derives from wxEvtHandler and is its own owner object by default
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 and GTK 1.2 only.}
-\twocolitem{\windowstyle{wxTB\_DOCKABLE}}{Makes the toolbar floatable and dockable. GTK only.}
-\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
-\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the GTK and Windows 95
-toolbar).}
-\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
-\twocolitem{\windowstyle{wxTB\_TEXT}}{Show the text in the toolbar buttons; by default only icons are shown.}
-\twocolitem{\windowstyle{wxTB\_NOICONS}}{Specifies no icons in the toolbar buttons; by default they are shown.}
-\twocolitem{\windowstyle{wxTB\_NODIVIDER}}{Specifies no divider above the toolbar; by default it is shown. Windows only.}
-\twocolitem{\windowstyle{wxTB\_NOALIGN}}{Specifies no alignment with the parent window. Windows only.}
+\twocolitem{\windowstyle{wxTB\_FLAT}}
+{Gives the toolbar a flat look (Windows and GTK 1.2 only).}
+\twocolitem{\windowstyle{wxTB\_DOCKABLE}}
+{Makes the toolbar floatable and dockable (GTK only).}
+\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}
+{Specifies horizontal layout (default).}
+\twocolitem{\windowstyle{wxTB\_VERTICAL}}
+{Specifies vertical layout.}
+\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}
+{Only for wxToolBarSimple: gives a mild 3D look to its buttons.}
+\twocolitem{\windowstyle{wxTB\_TEXT}}
+{Show the text in the toolbar buttons; by default only icons are shown.}
+\twocolitem{\windowstyle{wxTB\_NOICONS}}
+{Specifies no icons in the toolbar buttons; by default they are shown.}
+\twocolitem{\windowstyle{wxTB\_NODIVIDER}}
+{Specifies no divider (border) above the toolbar (Windows only).}
+\twocolitem{\windowstyle{wxTB\_NOALIGN}}
+{Specifies no alignment with the parent window (Windows only, not very useful).}
+\twocolitem{\windowstyle{wxTB\_HORZ\_LAYOUT}}
+{Show the text and the icons alongside, not vertically stacked (Windows and GTK
+only). This style must be used with wxTB\_TEXT.}
+\twocolitem{\windowstyle{wxTB\_HORZ\_TEXT}}
+{Combination of wxTB\_HORZ\_LAYOUT and wxTB\_TEXT.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}. Note that the Win32
# pragma warning(disable:4699) // using precompiled header
# pragma warning(disable:4134) // conversion between pointers to members of same class
# pragma warning(disable:4710) // function not inlined
+# pragma warning(disable:4284) //
+# pragma warning(disable:4097) //
#ifndef WIN32
# pragma warning(disable:4135) // conversion between different integral types
# pragma warning(disable:4769) // assignment of near pointer to long integer
#define wxTC_MULTILINE wxNB_MULTILINE
#define wxTC_OWNERDRAW 0x0200
-// wxToolBar style flags
-#define wxTB_HORIZONTAL wxHORIZONTAL // == 0x0004
-#define wxTB_VERTICAL wxVERTICAL // == 0x0008
-#define wxTB_3DBUTTONS 0x0010
-#define wxTB_FLAT 0x0020 // supported only under Win98+/GTK
-#define wxTB_DOCKABLE 0x0040 // use native docking under GTK
-#define wxTB_NOICONS 0x0080 // don't show the icons
-#define wxTB_TEXT 0x0100 // show the text
-#define wxTB_NODIVIDER 0x0200 // don't show the divider (Windows)
-#define wxTB_NOALIGN 0x0400 // no automatic alignment (Windows)
-
/*
* wxStatusBar95 flags
*/
// toolbar functions
// -----------------
+
#if wxUSE_TOOLBAR
// create main toolbar bycalling OnCreateToolBar()
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID winid = -1,
const wxString& name = wxToolBarNameStr);
// return a new toolbar
#endif // wxUSE_STATUSBAR
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
void SetToolBar(wxToolBar *toolbar);
#endif // wxUSE_STATUSBAR
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
void SetToolBar(wxToolBar *toolbar);
// Toolbar
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
const wxString& name = wxFrameNameStr)
{
Init();
-
+
Create(parent, id, title, pos, size, style, name);
}
-
+
bool Create(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr);
-
+
virtual ~wxFrame();
virtual bool Show(bool show = TRUE);
// Set menu bar
void SetMenuBar(wxMenuBar *menu_bar);
-
+
// Set title
void SetTitle(const wxString& title);
-
+
// Set icon
virtual void SetIcon(const wxIcon& icon);
virtual void SetIcons(const wxIconBundle& icons);
#if wxUSE_STATUSBAR
virtual void PositionStatusBar();
#endif // wxUSE_STATUSBAR
-
+
// Create toolbar
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
virtual void SetToolBar(wxToolBar *toolbar);
virtual void PositionToolBar();
#endif // wxUSE_TOOLBAR
-
+
// Implementation only from now on
// -------------------------------
-
+
void OnSysColourChanged(wxSysColourChangedEvent& event);
void OnActivate(wxActivateEvent& event);
-
+
virtual void ChangeFont(bool keepOriginalSize = TRUE);
virtual void ChangeBackgroundColour();
virtual void ChangeForegroundColour();
WXWidget GetWorkAreaWidget() const { return m_workArea; }
WXWidget GetClientAreaWidget() const { return m_clientArea; }
WXWidget GetTopWidget() const { return m_frameShell; }
-
+
virtual WXWidget GetMainWidget() const { return m_mainWidget; }
-
+
// The widget that can have children on it
WXWidget GetClientWidget() const;
bool GetVisibleStatus() const { return m_visibleStatus; }
void SendSizeEvent();
// for generic/mdig.h
- virtual void DoGetClientSize(int *width, int *height) const;
+ virtual void DoGetClientSize(int *width, int *height) const;
private:
// common part of all ctors
void Init();
WXWidget m_clientArea;
bool m_visibleStatus;
bool m_iconized;
-
+
virtual void DoGetSize(int *width, int *height) const;
virtual void DoGetPosition(int *x, int *y) const;
virtual void DoSetSize(int x, int y,
int width, int height,
int sizeFlags = wxSIZE_AUTO);
virtual void DoSetClientSize(int width, int height);
-
+
private:
virtual bool DoCreate( wxWindow* parent, wxWindowID id,
const wxString& title,
// Toolbar
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
// Toolbar
#if wxUSE_TOOLBAR
- virtual wxToolBar* CreateToolBar( long lStyle = wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT
+ virtual wxToolBar* CreateToolBar( long lStyle = -1
,wxWindowID vId = -1
,const wxString& rsName = wxToolBarNameStr
);
#ifndef _WX_TOOLBAR_H_BASE_
#define _WX_TOOLBAR_H_BASE_
-#include "wx/tbarbase.h" // the base class for all toolbars
+#include "wx/defs.h"
+
+// ----------------------------------------------------------------------------
+// wxToolBar style flags
+// ----------------------------------------------------------------------------
+
+enum
+{
+ // lay out the toolbar horizontally
+ wxTB_HORIZONTAL = wxHORIZONTAL, // == 0x0004
+
+ // lay out the toolbar vertically
+ wxTB_VERTICAL = wxVERTICAL, // == 0x0008
+
+ // show 3D buttons (wxToolBarSimple only)
+ wxTB_3DBUTTONS = 0x0010,
+
+ // "flat" buttons (Win32/GTK only)
+ wxTB_FLAT = 0x0020,
+
+ // dockable toolbar (GTK only)
+ wxTB_DOCKABLE = 0x0040,
+
+ // don't show the icons (they're shown by default)
+ wxTB_NOICONS = 0x0080,
+
+ // show the text (not shown by default)
+ wxTB_TEXT = 0x0100,
+
+ // don't show the divider between toolbar and the window (Win32 only)
+ wxTB_NODIVIDER = 0x0200,
+
+ // no automatic alignment (Win32 only, useless)
+ wxTB_NOALIGN = 0x0400,
+
+ // show the text and the icons alongside, not vertically stacked (Win32/GTK)
+ wxTB_HORZ_LAYOUT = 0x0800,
+ wxTB_HORZ_TEXT = wxTB_HORZ_LAYOUT | wxTB_TEXT
+};
#if wxUSE_TOOLBAR
+ #include "wx/tbarbase.h" // the base class for all toolbars
+
#if !wxUSE_TOOLBAR_NATIVE && !defined(__WXUNIVERSAL__)
#include "wx/tbarsmpl.h"
#if wxUSE_TOOLBAR
// create main toolbar bycalling OnCreateToolBar()
- virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
+ virtual wxToolBar* CreateToolBar(long style = -1,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
virtual void PositionToolBar();
wxCHECK_MSG( !m_frameToolBar, (wxToolBar *)NULL,
wxT("recreating toolbar in wxFrame") );
+ if ( style == -1 )
+ {
+ // use default style
+ //
+ // NB: we don't specify the default value in the method declaration
+ // because
+ // a) this allows us to have different defaults for different
+ // platforms (even if we don't have them right now)
+ // b) we don't need to include wx/toolbar.h in the header then
+ style = wxBORDER_NONE | wxTB_HORIZONTAL | wxTB_FLAT;
+ }
+
m_frameToolBar = OnCreateToolBar(style, id, name);
return m_frameToolBar;
if ( style & wxTB_TEXT )
{
- *gtkStyle = style & wxTB_NOICONS ? GTK_TOOLBAR_TEXT : GTK_TOOLBAR_BOTH;
+ *gtkStyle = style & wxTB_NOICONS ? GTK_TOOLBAR_TEXT :
+ ( style & wxTB_HORZ_LAYOUT ? GTK_TOOLBAR_BOTH_HORIZ: GTK_TOOLBAR_BOTH );
}
else // no text, hence we must have the icons or what would we show?
{
if ( style & wxTB_TEXT )
{
- *gtkStyle = style & wxTB_NOICONS ? GTK_TOOLBAR_TEXT : GTK_TOOLBAR_BOTH;
+ *gtkStyle = style & wxTB_NOICONS ? GTK_TOOLBAR_TEXT :
+ ( style & wxTB_HORZ_LAYOUT ? GTK_TOOLBAR_BOTH_HORIZ: GTK_TOOLBAR_BOTH );
}
else // no text, hence we must have the icons or what would we show?
{
// do have tooltips wouldn't work
msStyle |= TBSTYLE_TOOLTIPS;
- if ( style & wxTB_FLAT )
+ if ( style & (wxTB_FLAT | wxTB_HORZ_LAYOUT) )
{
// static as it doesn't change during the program lifetime
static int s_verComCtl = wxTheApp->GetComCtl32Version();
{
msStyle |= TBSTYLE_FLAT | TBSTYLE_TRANSPARENT;
}
+
+ if ( s_verComCtl >= 470 && style & wxTB_HORZ_LAYOUT )
+ {
+ msStyle |= TBSTYLE_LIST;
+ }
}
if ( style & wxTB_NODIVIDER )
# 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
+# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdllu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "NDEBUG" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# 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
+# 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 "_DEBUG" /D "WXMAKINGDLL" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# 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
+# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswu" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
# 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
+# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswud" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_DEBUG" /D "__WXDEBUG__" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
# 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
+# ADD CPP /nologo /MD /W4 /O2 /I "../lib/mswdll" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_USRDLL" /D "NDEBUG" /D "WXMAKINGDLL" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# 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
+# 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 "_DEBUG" /D "WXMAKINGDLL" /D wxUSE_BASE=0 /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# 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
+# ADD CPP /nologo /MD /W4 /O2 /I "../lib/msw" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "NDEBUG" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
# 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
+# ADD CPP /nologo /MDd /W4 /Zi /Od /I "../lib/mswd" /I "../include" /I "./zlib" /I "./jpeg" /I "./png" /I "./regex" /I "./tiff" /D "_DEBUG" /D "__WXDEBUG__" /D "WIN32" /D WINVER=0x0400 /D "STRICT" /D wxUSE_BASE=0 /D wxUSE_GUI=1 /Yu"wx/wxprec.h" /FD /c
RSC=rc.exe
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409