]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/treectrl.cpp
Eliminated some code.
[wxWidgets.git] / src / msw / treectrl.cpp
index 438e0129a8b07853917bafd33fc0ee38ed0ffb31..5dcb0867c0c8e4c112dedaae6107c402c21efa02 100644 (file)
@@ -59,7 +59,7 @@
     #include "wx/msw/gnuwin32/extra.h"
 #endif
 
-#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__))
+#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__))
     #include <commctrl.h>
 #endif
 
@@ -601,14 +601,15 @@ bool wxTreeCtrl::Create(wxWindow *parent,
 {
     Init();
 
+    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )
+        style |= wxBORDER_SUNKEN;
+
     if ( !CreateControl(parent, id, pos, size, style, validator, name) )
         return false;
 
-    DWORD wstyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP |
-                   TVS_SHOWSELALWAYS;
-
-    if ( m_windowStyle & wxCLIP_SIBLINGS )
-        wstyle |= WS_CLIPSIBLINGS;
+    DWORD exStyle = 0;
+    DWORD wstyle = MSWGetStyle(m_windowStyle, & exStyle);
+    wstyle |= WS_TABSTOP | TVS_SHOWSELALWAYS;
 
     if ((m_windowStyle & wxTR_NO_LINES) == 0)
         wstyle |= TVS_HASLINES;
@@ -1920,6 +1921,13 @@ bool wxTreeCtrl::GetBoundingRect(const wxTreeItemId& item,
                                  bool textOnly) const
 {
     RECT rc;
+
+    // Virtual root items have no bounding rectangle
+    if ( IS_VIRTUAL_ROOT(item) )
+    {
+        return false;
+    }
+
     if ( TreeView_GetItemRect(GetHwnd(), HITEM(item),
                               &rc, textOnly) )
     {
@@ -2397,7 +2405,10 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
                 // similar to the ones from a "real" WM_KEYDOWN so that
                 // CreateKeyEvent() works correctly
                 WXLPARAM lParam =
-                    (::GetKeyState(VK_MENU) & 0x100 ? KF_ALTDOWN : 0) << 16;
+//                    (::GetKeyState(VK_MENU) & 0x100 ? KF_ALTDOWN : 0) << 16;
+                     // Returns different negative values on WinME and WinNT,
+                     // so simply test for negative value.
+                     (::GetKeyState(VK_MENU) < 0 ? KF_ALTDOWN : 0) << 16;
 
                 WXWPARAM wParam = info->wVKey;