Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/ttpcmn/ttcmn.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5343 by doda, Tue Jul 23 08:00:04 2013 UTC revision 5367 by yutakapon, Sun Aug 25 04:14:02 2013 UTC
# Line 1147  HWND FAR PASCAL GetNthWin(int n) Line 1147  HWND FAR PASCAL GetNthWin(int n)
1147  }  }
1148    
1149    
 // マルチモニターを考慮して、タスクバーを除いたディスプレイサイズを取得する。  
 static void get_desktop_size_by_multi_monitor(HWND hwnd, RECT *rect)  
 {  
         HMONITOR hMon;  
         MONITORINFO mi;  
         HMODULE mod;  
   
         // Windows95では未定義。  
         if (((mod = GetModuleHandle("user32.dll")) != NULL) &&  
             (GetProcAddress(mod,"MonitorFromWindow") != NULL)) {  
                 hMon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);  
   
                 ZeroMemory( &mi, sizeof( mi ));  
                 mi.cbSize = sizeof( mi );  
                 GetMonitorInfo(hMon, &mi);  
                 *rect = mi.rcWork;  // タスクバーを除いたディスプレイサイズ  
   
         } else {  
                 // マルチモニタがサポートされていない場合  
                 SystemParametersInfo(SPI_GETWORKAREA, 0, rect, 0);  
   
         }  
   
 }  
   
1150  // 有効なウィンドウを探し、現在位置を記憶させておく。  // 有効なウィンドウを探し、現在位置を記憶させておく。
1151  static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num, int style)  static void get_valid_window_and_memorize_rect(HWND myhwnd, HWND hwnd[], int *num, int style)
1152  {  {
# Line 1215  void FAR PASCAL ShowAllWinSidebySide(HWN Line 1190  void FAR PASCAL ShowAllWinSidebySide(HWN
1190  {  {
1191          int n;          int n;
1192          HWND hwnd[MAXNWIN];          HWND hwnd[MAXNWIN];
         RECT rc;  
         int width, i;  
1193    
1194          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_SIDEBYSIDE);          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_SIDEBYSIDE);
 #if 0  
1195          TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd);          TileWindows(NULL, MDITILE_VERTICAL, NULL, n, hwnd);
 #else  
         get_desktop_size_by_multi_monitor(myhwnd, &rc);  
   
         if (n <= 0)  
                 return;  
   
         width = (rc.right - rc.left) / n;  
         for (i = 0 ; i < n ; i++) {  
                 ShowWindow(hwnd[i], SW_RESTORE);  
                 SetWindowPos(hwnd[i], 0,  
                         width*i + rc.left,  
                         rc.top,  
                         width,  
                         rc.bottom - rc.top,  
                         SWP_NOOWNERZORDER | SWP_NOZORDER);  
         }  
         SetFocus(hwnd[0]);  
 #endif  
1196  }  }
1197    
1198  // ウィンドウを上下に並べて表示する(Show Windows Stacked)  // ウィンドウを上下に並べて表示する(Show Windows Stacked)
# Line 1246  void FAR PASCAL ShowAllWinStacked(HWND m Line 1200  void FAR PASCAL ShowAllWinStacked(HWND m
1200  {  {
1201          int n;          int n;
1202          HWND hwnd[MAXNWIN];          HWND hwnd[MAXNWIN];
         RECT rc;  
         int height, i;  
1203    
1204          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_STACKED);          get_valid_window_and_memorize_rect(myhwnd, hwnd, &n, WIN_STACKED);
 #if 0  
1205          TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd);          TileWindows(NULL, MDITILE_HORIZONTAL, NULL, n, hwnd);
 #else  
         get_desktop_size_by_multi_monitor(myhwnd, &rc);  
   
         if (n <= 0)  
                 return;  
   
         height = (rc.bottom - rc.top) / n;  
         for (i = 0 ; i < n ; i++) {  
                 ShowWindow(hwnd[i], SW_RESTORE);  
                 SetWindowPos(hwnd[i], 0,  
                         rc.left,  
                         rc.top + height*i,  
                         rc.right - rc.left,  
                         height,  
                         SWP_NOOWNERZORDER | SWP_NOZORDER);  
         }  
         SetFocus(hwnd[0]);  
 #endif  
1206  }  }
1207    
1208  // ウィンドウを重ねて表示する(Cascade)  // ウィンドウを重ねて表示する(Cascade)

Legend:
Removed from v.5343  
changed lines
  Added in v.5367

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26