有時候C,C++運行的結果有比較多的數據,或者大一新生要做個學生管理系統界面時,運行C,C++出來的黑框框控制台,是不是覺得很小?下面是一個全屏的函數,只要在主函數中第一行調用它,就可以了。然後其他基本不影響。(該函數只要吧windows.h包含進來即可)
1 void FullScreen(){ 2 HWND hwnd=GetForegroundWindow(); 3 int x=GetSystemMetrics(SM_CXSCREEN)+300; 4 int y=GetSystemMetrics(SM_CYSCREEN)+300; 5 char setting[30]; 6 sprintf(setting,"mode con:cols=%d lines=%d",x,y); 7 system(setting); 8 SetWindowPos(hwnd,HWND_TOPMOST,0,0,x+300,y+300,NULL); 9 MoveWindow(hwnd,-10,-40,x+300,y+300,1); 10 printf("\n\n"); 11 }
下面簡單講解一下上面的函數一些基本參數,當然這裡你可以忽略掉,直接用上面的函數即可。
1)GetForegroundWindow(),該函數獲得當前工作的窗口的句柄,這裡是控制台。
2)GetSystemMetris 函數只有一個參數,其中參數SM_CXSCREEN是獲得屏幕寬度
3)大家應該知道 system("mode con:cols=x lines=y"); 這條語句可以設置控制台的大小。但是system內是字符串變量,事先不知道屏幕的大小,所以需要借助一個輔助字符數組setting來傳遞參數。
又用到了int sprintf( char *buffer, const char *format, [ argument] … );函數返回值是字符串的長度,把字符串傳給buffer.
4)剩下的SetWindowPos和MoveWindow就自己百度看書了解了。
2015-12-06