Re[3]: Сменна фокуса ввода в новигационном сообщении TVN_SELCHANGED
От: Carc Россия http://www.amlpages.com/home.php
Дата: 30.04.23 20:24
Оценка:
Здравствуйте, 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.
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.