導航:首頁 > 源碼編譯 > 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程序相關的資料

熱點內容
簡訊內存已滿怎麼處理安卓 瀏覽:310
ogg命令 瀏覽:782
南昌程序員最新消息 瀏覽:149
藍牙編程入門書籍 瀏覽:763
單片機秒錶實驗 瀏覽:411
小米3文件夾設置 瀏覽:565
手動添加dns伺服器加什麼數字 瀏覽:562
單片機中三位數碼管原件 瀏覽:140
pdf可以刪除其中一頁 瀏覽:216
清dns緩存的命令 瀏覽:103
免費pdf在線轉換 瀏覽:768
堆貨演算法 瀏覽:878
vsc編譯vc程序 瀏覽:198
centos55命令 瀏覽:709
美國干編程有什麼條件 瀏覽:505
阿里雲伺服器遠程鏈接 瀏覽:251
墨鏡慧眼怎麼下載廠商的app 瀏覽:63
iphone加密專線 瀏覽:493
aes產生加密文件 瀏覽:417
編程實現藍牙通信 瀏覽:771