以下、TWNT_DEL 時のタブ選択処理修正です。
@@ -519,24 +519,25 @@
nIndex = FindTabIndexByHWND( (HWND)lParam );
if( -1 != nIndex )
{
- // 2004.05.22 MIK
- // TABがすべて消えるのを防ぐため,
- // Active Tabを削除する前にフォーカスを外す
- int nIndexOld = nIndex;
-
- //次のウインドウが自分ならアクティブに
- nIndex = GetFirstOpenedWindow();
- if( -1 != nIndex )
+ int nArr;
+ nArr = GetFirstOpenedWindow();
+ if( -1 != nArr )
{
// 2004.05.22 MIK
// TABがすべて消えるのを防ぐため,
// 対象Active Tabだったら
// 削除前にフォーカスをはずす
- TabCtrl_SetCurSel( m_hwndTab, nIndex );
- TabCtrl_SetCurFocus( m_hwndTab, nIndex );
- //TabCtrl_HighlightItem( m_hwndTab, nIndex, TRUE );
+ int nSel;
+ nSel = FindTabIndexByHWND( m_pShareData->m_pEditArr[ nArr ].m_hWnd ); // 2005.07.18 ryoji
+ if( -1 != nSel )
+ {
+ TabCtrl_SetCurSel( m_hwndTab, nSel );
+ TabCtrl_SetCurFocus( m_hwndTab, nSel );
+ //TabCtrl_HighlightItem( m_hwndTab, nIndex, TRUE );
+ }
- if( m_pShareData->m_pEditArr[ nIndex ].m_hWnd == m_hwndParent )
+ //次のウインドウが自分ならアクティブに
+ if( m_pShareData->m_pEditArr[ nArr ].m_hWnd == m_hwndParent )
{
if( //TRUE == m_pShareData->m_Common.m_bDispTabWnd //2004.02.02
//&& FALSE == m_pShareData->m_Common.m_bDispTabWndMultiWin
@@ -547,7 +548,7 @@
}
}
}
- TabCtrl_DeleteItem( m_hwndTab, nIndexOld );
+ TabCtrl_DeleteItem( m_hwndTab, nIndex );
}
break;