#include "wx/dcscreen.h"
     #include "wx/frame.h"
     #include "wx/dialog.h"
-    #include "wx/stockitem.h"
 #endif
 
+#include "wx/stockitem.h"
+
 // ----------------------------------------------------------------------------
 // macros
 // ----------------------------------------------------------------------------
     wxPoint palmPos(pos);
     if((palmPos.x==wxDefaultCoord)||(palmPos.y==wxDefaultCoord))
     {
-        wxSize parentSize(parent->GetSize());
+        wxSize parentSize(parent->GetClientSize());
         wxWindow* parentTLW = parent;
         while ( parentTLW && !parentTLW->IsTopLevel() )
         {
         if(wxDynamicCast(parentTLW, wxFrame)!=NULL)
         {
             if(palmPos.x==wxDefaultCoord)
-                palmPos.x = 1;
+                palmPos.x = 0;
             if(palmPos.y==wxDefaultCoord)
                 palmPos.y = parentSize.y-palmSize.y;
         }
         else if(wxDynamicCast(parentTLW, wxDialog)!=NULL)
         {
             if(palmPos.x==wxDefaultCoord)
-                palmPos.x = 5;
+                palmPos.x = 4;
             if(palmPos.y==wxDefaultCoord)
                 palmPos.y = parentSize.y-palmSize.y-5;
         }
     // take the stock label
     wxString palmLabel = label;
     if( palmLabel.empty() && wxIsStockID(id) )
-        palmLabel = wxGetStockLabel(id);
+        palmLabel = wxGetStockLabel(id, false);
 
     if(!wxControl::Create(parent, id, palmPos, palmSize, style, validator, name))
         return false;