<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845413</guid>
        <pubDate>Mon, 15 Mar 2021 16:09:52 +0000</pubDate>
        <title>MFC: Как запретить сворачивание элементов CTreeCtrl?</title>
        <link>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845413</link>
        <description><![CDATA[ViH: Нашел такое решение: Handle the TVN_ITEMEXPANDING notification and set *pResult = 1;]]></description>
        <author>ViH</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845373</guid>
        <pubDate>Sun, 14 Mar 2021 19:47:01 +0000</pubDate>
        <title>MFC: Как запретить сворачивание элементов CTreeCtrl?</title>
        <link>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845373</link>
        <description><![CDATA[MaIron: Алгоритм такой: в дереве, при добавлении разворачиваем ветки и не даём их свернуть.<br>
Делаешь класс наследник от CTreeCtrl - и в нем меняешь обработку нажатий клавиш.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">HTREEITEM CMainTree::AddItem(HTREEITEM hParent, LPCTSTR csItemName, HTREEITEM hInsAfter, int iSelImage, int iNonSelImage, long lParam)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;HTREEITEM h_MainItm;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TV_ITEM tvItem;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TV_INSERTSTRUCT tvIns;</div><div class="code_line">&nbsp;&nbsp; &nbsp;CString sText = csItemName;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE|TVIF_SELECTEDIMAGE;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.pszText = sText.GetBuffer(sText.GetLength());</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.cchTextMax = sText.GetLength();</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.lParam = lParam;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.iImage = iNonSelImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvItem.iSelectedImage = iSelImage;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvIns.item = tvItem;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvIns.hInsertAfter = hInsAfter;</div><div class="code_line">&nbsp;&nbsp; &nbsp;tvIns.hParent = hParent;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;h_MainItm = InsertItem(&amp;tvIns);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//Разворачиваем ветку</div><div class="code_line">&nbsp;&nbsp; &nbsp;Expand(hParent, TVE_EXPAND);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return h_MainItm;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Обработка действий.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void CMainTree::OnLButtonUp(UINT nFlags, CPoint point){</div><div class="code_line">}</div><div class="code_line">void CMainTree::OnLButtonDown(UINT nFlags, CPoint point)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;CTreeCtrl::OnLButtonDown(nFlags, point);</div><div class="code_line">}</div><div class="code_line">BOOL CMainTree::PreTranslateMessage(MSG* pMsg)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; return CTreeCtrl::PreTranslateMessage(pMsg);</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Кода там прилично получится.]]></description>
        <author>MaIron</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845364</guid>
        <pubDate>Sun, 14 Mar 2021 14:13:42 +0000</pubDate>
        <title>MFC: Как запретить сворачивание элементов CTreeCtrl?</title>
        <link>https://forum.sources.ru/index.php?showtopic=421252&amp;view=findpost&amp;p=3845364</link>
        <description><![CDATA[ViH: Добрый день.<br><br>Подскажите, пожалуйста, как сделать, чтобы все элементы CTreeCtrl, которые имеют подэлементы, всегда были развернуты? Т.е., чтобы нельзя было по двойному клику или по клавишам «Влево»/«Вправо» их сворачивать/разворачивать.]]></description>
        <author>ViH</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      </channel>
      </rss>
	