VTWinが前面に移動しないことがあったので修正
@@ -3738,27 +3738,41 @@ | ||
3738 | 3738 | } |
3739 | 3739 | } |
3740 | 3740 | |
3741 | -void DispShowWindow(int mode) { | |
3741 | +void DispShowWindow(int mode) | |
3742 | +{ | |
3742 | 3743 | switch (mode) { |
3743 | - case WINDOW_MINIMIZE: | |
3744 | + case WINDOW_MINIMIZE: | |
3744 | 3745 | ShowWindow(HVTWin, SW_MINIMIZE); |
3745 | 3746 | break; |
3746 | - case WINDOW_MAXIMIZE: | |
3747 | + case WINDOW_MAXIMIZE: | |
3747 | 3748 | ShowWindow(HVTWin, SW_MAXIMIZE); |
3748 | 3749 | break; |
3749 | - case WINDOW_RESTORE: | |
3750 | + case WINDOW_RESTORE: | |
3750 | 3751 | ShowWindow(HVTWin, SW_RESTORE); |
3751 | 3752 | break; |
3752 | - case WINDOW_RAISE: | |
3753 | - SetWindowPos(HVTWin, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); | |
3753 | + case WINDOW_RAISE: { | |
3754 | + //何も起きないことあり | |
3755 | + // SetWindowPos(HVTWin, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); | |
3756 | +//#define RAISE_AND_GET_FORCUS | |
3757 | +#if defined(RAISE_AND_GET_FORCUS) | |
3758 | + //フォーカスを奪う | |
3759 | + SetForegroundWindow(HVTWin); | |
3760 | +#else | |
3761 | + //フォーカスは奪わず最上面に来る | |
3762 | + BringWindowToTop(HVTWin); | |
3763 | + if (GetForegroundWindow() != HVTWin) { | |
3764 | + FlashWindow(HVTWin, TRUE); | |
3765 | + } | |
3766 | +#endif | |
3767 | + } | |
3754 | 3768 | break; |
3755 | - case WINDOW_LOWER: | |
3769 | + case WINDOW_LOWER: | |
3756 | 3770 | SetWindowPos(HVTWin, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); |
3757 | 3771 | break; |
3758 | - case WINDOW_REFRESH: | |
3772 | + case WINDOW_REFRESH: | |
3759 | 3773 | InvalidateRect(HVTWin, NULL, FALSE); |
3760 | 3774 | break; |
3761 | - case WINDOW_TOGGLE_MAXIMIZE: | |
3775 | + case WINDOW_TOGGLE_MAXIMIZE: | |
3762 | 3776 | if (IsZoomed(HVTWin)) { |
3763 | 3777 | ShowWindow(HVTWin, SW_RESTORE); |
3764 | 3778 | } |