導航:首頁 > 源碼編譯 > vsc編譯vc程序

vsc編譯vc程序

發布時間:2024-11-28 08:31:58

㈠ vc6 打開工程,代碼沒顏色

控制台的設置函數名很多都以 SetConsole 或 GetConsole 開頭。
BOOL WINAPI SetConsoleTextAttribute(
__in HANDLE hConsoleOutput,
__in WORD wAttributes
);
第一個參數可用 GetStdHandle(STD_OUTPUT_HANDLE); 獲得;
第二個參數意義如下:
Attribute Meaning
FOREGROUND_BLUE Text color contains blue.
FOREGROUND_GREEN Text color contains green.
FOREGROUND_RED Text color contains red.
FOREGROUND_INTENSITY Text color is intensified.
BACKGROUND_BLUE Background color contains blue.
BACKGROUND_GREEN Background color contains green.
BACKGROUND_RED Background color contains red.
BACKGROUND_INTENSITY Background color is intensified.
COMMON_LVB_LEADING_BYTE Leading byte.
COMMON_LVB_TRAILING_BYTE Trailing byte.
COMMON_LVB_GRID_HORIZONTAL Top horizontal.
COMMON_LVB_GRID_LVERTICAL Left vertical.
COMMON_LVB_GRID_RVERTICAL Right vertical.
COMMON_LVB_REVERSE_VIDEO Reverse foreground and background attributes.
COMMON_LVB_UNDERSCORE Underscore.
這些是一個16位數的各個二進制位,你可以用位運算將這些屬性組合,如:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY | BACKGROUND_INTENSITY);
如果要不等待回車立刻讀入鍵盤輸入,在conio.h中有個getch()函數。
如果要處理上下左右等鍵盤輸入,有個MapVirtualKey函數,可以上網查一下這個函數的具體用法。
如果要清屏,可以發送命令system("cls");,這個函數在stdlib.h中。
例如:
#include <stdio.h>
#include <conio.h> //getch()
#include <stdlib.h> //system()
#include <Windows.h> //WIN API
int main(){
//這里只有4個選項,如果選項數更改,後面相應部位也要更改
char*option[]=;
char key = 0;
int i, select = 0;
HANDLE ohandle = GetStdHandle(STD_OUTPUT_HANDLE);
while(true){
for(i=0;i<4;i++){//這里共4個選項
if(i==select)//設置焦點高亮
SetConsoleTextAttribute(ohandle,BACKGROUND_INTENSITY);
else if(i==select+1)//恢復設置
SetConsoleTextAttribute(ohandle,FOREGROUND_INTENSITY);
puts(option[i]);
}
SetConsoleTextAttribute(ohandle,FOREGROUND_INTENSITY);//恢復設置
key=getch();
if(key==0x1b) //ESC 鍵
return 0;
if(key==0xd) //Enter 鍵
break;
if(key<0){ //非ascii碼鍵2個位元組
key=getch();
switch(MapVirtualKey(key,MAPVK_VSC_TO_VK)){
case VK_UP:
select = (select+3)%4;//焦點上移,減一,滾動選擇,共4個選項
break;
case VK_DOWN:
select = (select+1)%4;//焦點下移,加一
break;
}
}
system("cls");
}
system("cls");
//TODO:use select to do something here !
printf("you selected : %s\n",option[select]);
//return 0; //not necessary in new standards
}
也可以用GetKeyState等函數,它返回上一次按鍵的信息,這些函數屬於win API(#include<windows.h>),並可以處理更多按鍵消息,如需要可查閱msdn。

閱讀全文

與vsc編譯vc程序相關的資料

熱點內容
編譯器用數學嗎 瀏覽:5
圖形化apk反編譯工具 瀏覽:48
考勤表加密怎麼辦 瀏覽:735
arj壓縮與解壓批處理怎麼寫 瀏覽:658
php和大數據哪個好 瀏覽:930
未來最值得投資的加密貨幣 瀏覽:526
ascii碼是編譯的時候用嗎 瀏覽:781
壓縮機感應包可以通用嗎 瀏覽:412
方舟伺服器怎麼發布到搜索列表 瀏覽:270
xml防反編譯 瀏覽:241
數據傳輸加密系統技術方案 瀏覽:842
程序員沒有準備去面試 瀏覽:4
51單片機usb滑鼠 瀏覽:881
qq伺服器的ip地址查詢 瀏覽:112
java仿qq聊天 瀏覽:401
解壓的ipa重新打包 瀏覽:144
程序員那麼可愛vip版 瀏覽:240
程序員怎麼升職 瀏覽:245
圖形化命令按鈕vb 瀏覽:987
vcu盤加密怎麼設置 瀏覽:415