Здравствуйте, Melamed, Вы писали:
M>Здравствуйте, Carc, Вы писали:
M>Обработка сообщения TVN_SELCHANGED следующая
M>M> case IDC_TREEVIEW:
M> {
M> switch (pHdr->code)
M> {
M> case TVN_SELCHANGED:
M> {
M> LPNMTREEVIEW pNTV = (LPNMTREEVIEW)pHdr;
M> CShFolder *pFolder = (CShFolder*)pNTV->itemNew.lParam;
M> TCHAR szBuffer[MAX_PATH];
M> pFolder->GetFullName(szBuffer, MAX_PATH);
M> SendMessage(
M> m_hwndStatusBar,
M> SB_SETTEXT,
M> 0,
M> (LPARAM)szBuffer
M> );
M> if (_tcslen(szBuffer) > 0)
M> {
M> Check_Win(SetCurrentDirectory(szBuffer));
M> SendMessage(
M> m_hwndImageTable,
M> ITM_FILLFILEBYMASK,
M> (WPARAM)szBuffer,
M> 0
M> );
M> int nImageCount = SendMessage(
M> m_hwndImageTable,
M> ITM_GETIMAGECOUNT,
M> 0,
M> 0
M> );
M> if (nImageCount > 0)
M> {
M> SetFocus(m_hwndImageTable);
M> }
M> }
M> break;
M> }
M> }
M> break;
M> }
M>
В TVN_SELCHANGED как получается? С клавиатуры или мышом? (NMTREEVIEW::action ?) Вообще говоря SetFocus должна работать, если m_hwndImageTable для SetFocus работает в том же потоке, что и TreeView.