]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/treectrl.cpp
use AlphaBlt() when blitting to a bitmap with alpha channel too (patch 991166)
[wxWidgets.git] / src / msw / treectrl.cpp
index 76964c950b90aa50f9d858554cb38d417556a042..2a5aed590517b3294f2d7340eb068d1d2445e61f 100644 (file)
@@ -683,7 +683,7 @@ bool wxTreeCtrl::Create(wxWindow *parent,
 #endif
 
     // Create the tree control.
 #endif
 
     // Create the tree control.
-    if ( !MSWCreateControl(WC_TREEVIEW, wstyle) )
+    if ( !MSWCreateControl(WC_TREEVIEW, wstyle, pos, size) )
         return false;
 
 #if wxUSE_COMCTL32_SAFELY
         return false;
 
 #if wxUSE_COMCTL32_SAFELY
@@ -755,8 +755,6 @@ bool wxTreeCtrl::Create(wxWindow *parent,
     }
 #endif // 0
 
     }
 #endif // 0
 
-    SetSize(pos.x, pos.y, size.x, size.y);
-
     wxSetCCUnicodeFormat(GetHwnd());
 
     return true;
     wxSetCCUnicodeFormat(GetHwnd());
 
     return true;
@@ -904,7 +902,7 @@ bool wxTreeCtrl::SetBackgroundColour(const wxColour &colour)
     if ( !wxWindowBase::SetBackgroundColour(colour) )
         return false;
 
     if ( !wxWindowBase::SetBackgroundColour(colour) )
         return false;
 
-    SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0, colour.GetPixel());
+    ::SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0, colour.GetPixel());
 #endif
 
     return true;
 #endif
 
     return true;
@@ -916,7 +914,7 @@ bool wxTreeCtrl::SetForegroundColour(const wxColour &colour)
     if ( !wxWindowBase::SetForegroundColour(colour) )
         return false;
 
     if ( !wxWindowBase::SetForegroundColour(colour) )
         return false;
 
-    SendMessage(GetHwnd(), TVM_SETTEXTCOLOR, 0, colour.GetPixel());
+    ::SendMessage(GetHwnd(), TVM_SETTEXTCOLOR, 0, colour.GetPixel());
 #endif
 
     return true;
 #endif
 
     return true;
@@ -963,7 +961,7 @@ void wxTreeCtrl::SetItemText(const wxTreeItemId& item, const wxString& text)
     HWND hwndEdit = TreeView_GetEditControl(GetHwnd());
     if ( hwndEdit )
     {
     HWND hwndEdit = TreeView_GetEditControl(GetHwnd());
     if ( hwndEdit )
     {
-        if ( item == GetSelection() )
+        if ( item == m_idEdited )
         {
             ::SetWindowText(hwndEdit, text);
         }
         {
             ::SetWindowText(hwndEdit, text);
         }
@@ -1371,7 +1369,7 @@ void wxTreeCtrl::SetItemFont(const wxTreeItemId& item, const wxFont& font)
 
 bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     if ( item == wxTreeItemId(TVI_ROOT) )
     {
 
     if ( item == wxTreeItemId(TVI_ROOT) )
     {
@@ -1402,7 +1400,7 @@ bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const
 
 bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     wxTreeViewItem tvItem(item, TVIF_CHILDREN);
     DoGetItem(&tvItem);
 
     wxTreeViewItem tvItem(item, TVIF_CHILDREN);
     DoGetItem(&tvItem);
@@ -1412,7 +1410,7 @@ bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const
 
 bool wxTreeCtrl::IsExpanded(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::IsExpanded(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_EXPANDED);
     DoGetItem(&tvItem);
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_EXPANDED);
     DoGetItem(&tvItem);
@@ -1422,7 +1420,7 @@ bool wxTreeCtrl::IsExpanded(const wxTreeItemId& item) const
 
 bool wxTreeCtrl::IsSelected(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::IsSelected(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_SELECTED);
     DoGetItem(&tvItem);
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_SELECTED);
     DoGetItem(&tvItem);
@@ -1432,7 +1430,7 @@ bool wxTreeCtrl::IsSelected(const wxTreeItemId& item) const
 
 bool wxTreeCtrl::IsBold(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::IsBold(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_BOLD);
     DoGetItem(&tvItem);
 
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_BOLD);
     DoGetItem(&tvItem);
@@ -1590,7 +1588,7 @@ wxTreeItemId wxTreeCtrl::GetPrevVisible(const wxTreeItemId& item) const
 
 bool wxTreeCtrl::IsItemChecked(const wxTreeItemId& item) const
 {
 
 bool wxTreeCtrl::IsItemChecked(const wxTreeItemId& item) const
 {
-    wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") );
+    wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     // receive the desired information.
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_STATEIMAGEMASK);
 
     // receive the desired information.
     wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_STATEIMAGEMASK);
@@ -2016,6 +2014,8 @@ void wxTreeCtrl::DeleteTextCtrl()
         m_textCtrl->SetHWND(0);
         delete m_textCtrl;
         m_textCtrl = NULL;
         m_textCtrl->SetHWND(0);
         delete m_textCtrl;
         m_textCtrl = NULL;
+
+        m_idEdited.Unset();
     }
 }
 
     }
 }
 
@@ -2026,6 +2026,7 @@ wxTextCtrl* wxTreeCtrl::EditLabel(const wxTreeItemId& item,
 
     DeleteTextCtrl();
 
 
     DeleteTextCtrl();
 
+    m_idEdited = item;
     m_textCtrl = (wxTextCtrl *)textControlClass->CreateObject();
     HWND hWnd = (HWND) TreeView_EditLabel(GetHwnd(), HITEM(item));
 
     m_textCtrl = (wxTextCtrl *)textControlClass->CreateObject();
     HWND hWnd = (HWND) TreeView_EditLabel(GetHwnd(), HITEM(item));