<?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=468031&amp;view=findpost&amp;p=3930936</guid>
        <pubDate>Thu, 30 Oct 2025 18:01:47 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930936</link>
        <description><![CDATA[Majestio: Тэкс&#33;&#33;&#33;  &gt;:( <br>
<span class="b-attach" data-size="75647" data-hits="402" data-attach-id="67467" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=67467' title='Скачать файл' target='_blank'>photo_2025_10_30_21_00_22.jpg</a> (, : 402)
		</span><br>
<br>
Это ты вон там написал что-то хорошее?&#33;]]></description>
        <author>Majestio</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930846</guid>
        <pubDate>Wed, 29 Oct 2025 14:43:34 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930846</link>
        <description><![CDATA[sharky72: Это правильно. Будь добрым. Тебе идет ;)<br>А гадостей всегда успеешь наговорить... Главное по делу.]]></description>
        <author>sharky72</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930706</guid>
        <pubDate>Mon, 27 Oct 2025 18:49:17 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930706</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930643'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>sharky72 &#064; <time class="tag-quote__quoted-time" datetime="2025-10-26T15:22:19+00:00">26.10.25, 15:22</time></span><div class='quote '> И не слушайте всяких Majesto. MFC еще нас переживет </div></div><br>
Вот очень хотелось сказать что-то очень гадкое&#33;&#33;&#33; Но не получается :(<br>
Ну вот почему именно сёння мне так не везёт - началась  полоса &quot;доброты&quot; :( Вот, блять, спасибо тебе, <strong class='tag-b'>sharky72</strong> - во всём виноватый ты. У меня получилось&#33;]]></description>
        <author>Majestio</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930643</guid>
        <pubDate>Sun, 26 Oct 2025 15:22:19 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930643</link>
        <description><![CDATA[sharky72: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930641'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Lun2 &#064; <time class="tag-quote__quoted-time" datetime="2025-10-25T14:15:26+00:00">25.10.25, 14:15</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930284'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>sharky72 &#064; <time class="tag-quote__quoted-time" datetime="2025-10-19T22:32:51+00:00">19.10.25, 22:32</time></span><div class='quote '>Используйте событие TVN_SELCHANGED<br>
Его посылает система когда выбраный элемент изменился.</div></div><br>
<br>
<strong class='tag-b'>sharky72</strong>, спасибо за подсказку&#33;</div></div><br>
Всегда пожалуйста. И не слушайте всяких Majesto. MFC еще нас переживет ;)]]></description>
        <author>sharky72</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930641</guid>
        <pubDate>Sat, 25 Oct 2025 14:15:26 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930641</link>
        <description><![CDATA[Lun2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930284'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>sharky72 &#064; <time class="tag-quote__quoted-time" datetime="2025-10-19T22:32:51+00:00">19.10.25, 22:32</time></span><div class='quote '>Используйте событие TVN_SELCHANGED<br>
Его посылает система когда выбраный элемент изменился.</div></div><br>
<br>
<strong class='tag-b'>sharky72</strong>, спасибо за подсказку&#33;]]></description>
        <author>Lun2</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930284</guid>
        <pubDate>Sun, 19 Oct 2025 22:32:51 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930284</link>
        <description><![CDATA[sharky72: Используйте событие TVN_SELCHANGED<br>
Его посылает система когда выбраный элемент изменился.<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">ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, &amp;AppDlg::OnTvnSelchangedTree)</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">void AppDlg::OnTvnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;*pResult = 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;LPNMTREEVIEW pNMTreeView = reinterpret_cast&#60;LPNMTREEVIEW&#62;(pNMHDR);</div><div class="code_line">&nbsp;&nbsp; &nbsp;pNMTreeView-&#62;itemNew.hItem; // &#60;- это ваш новый выбраный элемент в TreeView</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2025-10-19T22:37:06+00:00">19.10.25, 22:37</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930283'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Lun2 &#064; <time class="tag-quote__quoted-time" datetime="2025-10-19T19:44:41+00:00">19.10.25, 19:44</time></span><div class='quote '><strong class='tag-b'>Majestio</strong>, а на чем прогают с теми же целями - создание аналогичного по функционалу MFC пользовательского интерфейса в C++/VS Windows) ?</div></div><br>
QT/wxWidgets два основных кроссплатформенных фреймворка.<br>
QT - монстр. У него свои проблемы.<br>
wxWidget проще и на него проще портануть готовый MFC проект.<br>
Хотя если только на Windows - то MFC до сих пор рабочий вариант. На последних студиях даже пофиксили проблемы с HiRes <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2025-10-19T22:41:40+00:00">19.10.25, 22:41</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930282'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2025-10-19T18:28:21+00:00">19.10.25, 18:28</time></span><div class='quote '><strong class='tag-b'>Lun2</strong>, уверен, что тут 0% форумчан на этом прогают.</div></div><br>
&quot;Тырса&#33; Перестаньте разбрасываться своими зубами&#33;&quot; (с) :)]]></description>
        <author>sharky72</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930283</guid>
        <pubDate>Sun, 19 Oct 2025 19:44:41 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930283</link>
        <description><![CDATA[Lun2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=468031&view=findpost&p=3930282'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Majestio &#064; <time class="tag-quote__quoted-time" datetime="2025-10-19T18:28:21+00:00">19.10.25, 18:28</time></span><div class='quote '>Lun2, уверен, что тут 0% форумчан на этом прогают.</div></div><br>
<br>
<strong class='tag-b'>Majestio</strong>, а на чем прогают с теми же целями - создание аналогичного по функционалу MFC пользовательского интерфейса в C++/VS Windows) ?]]></description>
        <author>Lun2</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930282</guid>
        <pubDate>Sun, 19 Oct 2025 18:28:21 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930282</link>
        <description><![CDATA[Majestio: <strong class='tag-b'>Lun2</strong>, уверен, что тут 0% форумчан на этом прогают.<br>
Тем не менее, уверен, что если ты вышлешь полный вариант своего &quot;проблемного&quot; проекта - многие заинтересуются.]]></description>
        <author>Majestio</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930281</guid>
        <pubDate>Sun, 19 Oct 2025 17:16:07 +0000</pubDate>
        <title>Каким образом CTreeView/MFC может узнать, на какой элемент дерева кликнули ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=468031&amp;view=findpost&amp;p=3930281</link>
        <description><![CDATA[Lun2: Добрый вечер&#33;<br>
Имеется экземпляр CTreeView. Необходимо, чтобы после клика на элементе дерева,<br>
выполнялось действие, связанное именно с этим элементом, т.е. мне необходимо получить его HTREEITEM.<br>
Код обработчика приведен ниже - он вызывается и вроде бы работает (SelectedItem извлекается),<br>
но проблема в том, что кликнули мы на одном элементе а SelectedItem - это не тот, на котором кликнули,<br>
а &quot;предыдущий&quot; текущий элемент. <br>
Видимо, на момент вызова моего обработчика текущий элемент еще не сменился на новый - кликнутый, а мне необходимо получить HTREEITEM именно кликнутого.<br>
Я знаю про вариант с TreeCtrl.HitTest, но меня здесь интересует, как обойтись без него.<br>
Ведь CtreeView уже знает на ком кликнули, осталось только его получить...<br>
<br>
В связи с этим прошу пояснить по вопросам:<br>
1) Каким образом я могу узнать на каком элементе дерева был клик ?<br>
<br>
2) В структуре есть поле NMHDR, а в нем - UINT idFrom - может ли он как-то помочь, как по нему получить контрол ?<br>
<br>
3) Могу ли я в своем обработчике вызвать сначала обработчик самого CTreeView ? Если да, то как ?<br>
(банальное CTreeView::OnNMClick не работает...)<br>
<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">--- объявление (оставлены только необходимые поля) (*.h) ---</div><div class="code_line">class StorageTreeView : public CTreeView {</div><div class="code_line">&nbsp;&nbsp; &nbsp;DECLARE_MESSAGE_MAP()</div><div class="code_line">public:</div><div class="code_line">&nbsp;&nbsp; &nbsp;afx_msg void OnNMClick(NMHDR* pNMHDR, LRESULT* pResult);</div><div class="code_line">};</div><div class="code_line">&nbsp;</div><div class="code_line">--- реализация обработчика клика (*.cpp) ---</div><div class="code_line">&nbsp;</div><div class="code_line">void StorageTreeView::OnNMClick(NMHDR* pNMHDR, LRESULT* pResult)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">/* Структура NMHDR:</div><div class="code_line">typedef struct tagNMHDR {</div><div class="code_line">&nbsp;&nbsp; HWND hwndFrom; // handle of control sending message</div><div class="code_line">&nbsp;&nbsp; UINT idFrom;// identifier of control sending message</div><div class="code_line">&nbsp;&nbsp; UINT code; // notification code; see below</div><div class="code_line">} NMHDR;</div><div class="code_line">&nbsp;</div><div class="code_line">*/</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;TRACE(L&quot;OnNMClick\n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;*pResult = 0;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Получаем элемент дерева, на котором кликнули ...</div><div class="code_line">&nbsp;&nbsp; &nbsp;CTreeCtrl&amp; Tree = GetTreeCtrl();</div><div class="code_line">&nbsp;&nbsp; &nbsp;HTREEITEM SelectedItem = Tree.GetSelectedItem();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;...</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">....</div><div class="code_line">BEGIN_MESSAGE_MAP(StorageTreeView, CTreeView)</div><div class="code_line">ON_NOTIFY_REFLECT(NM_CLICK, &amp;StorageTreeView::OnNMClick)</div><div class="code_line">END_MESSAGE_MAP()</div></ol></div></div></div></div>]]></description>
        <author>Lun2</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      </channel>
      </rss>
	