對於游標的操作
void hidecursor(int n) /*隱藏游標*/
; setconsolecursorinfo(getstdhandle(std_output_handle),&cursor_info);
} //n default 0
void gotoxy(int x,int y) //將游標移到(x,y)
有關滑鼠的操作
有關滑鼠的操作是由函式readconsoleinput讀取的。
input_record inrec;
dword res;
handle hinput = getstdhandle(std_input_handle); /* 獲取標準輸入裝置控制代碼*/
readconsoleinput(hinput, &inrec, 1, &res);
typedef
struct _input_record event;
} input_record,*pinput_record;
上述由input_record定義inrec是乙個結構體,結構體中有乙個資料叫做eventtype
可以先判斷inrec.eventtype == mouse_event
判斷成功後 input_record mouserec = &inrec;
typedef
struct _mouse_event_record mouse_event_record;
1.滑鼠按鍵狀態碼(dwbuttonstate)
from_left_1st_button_pressed 最左邊按鍵
rightmost_button_pressed 最右邊按鍵
from_left_2nd_button_pressed 左起第二個按鍵
from_left_3rd_button_pressed 左起第三個按鍵
from_left_4th_button_pressed 左起第四個按鍵
2. 事件狀態碼(dweventflag)
double_click 雙擊
mouse_moved 移動
mouse_wheeled 滾輪滾動(只適用於windows 2000/xp)
進而可以進行一系列的判斷:
if(mouserec.event
.mouseevent
.dwbuttonstate==from_left_1st_button_pressed)
}
handle hout = getstdhandle(std_output_handle);
handle hin = getstdhandle(std_input_handle);
console_screen_buffer_info binfo;
input_record mouserec;
dword res;
coord crpos, crhome = ;
typedef
struct _console_screen_buffer_info console_screen_buffer_info,*pconsole_screen_buffer_info;
//coord crpos, crhome = ;
crpos = mouserec.event
.mouseevent
.dwmouseposition
; getconsolescreenbufferinfo(hout, &binfo);
setconsolecursorposition(hout, crhome);
printf("[cursor position] x: %2lu y: %2lu", crpos.x, crpos.y);
setconsolecursorposition(hout, binfo.dwcursorposition);
switch (mouserec.event
.mouseevent
.dwbuttonstate)
closehandle(hout); // 關閉標準輸出裝置控制代碼
closehandle(hin); // 關閉標準輸入裝置控制代碼
if(inrec.eventtype == mouse_event && inrec.event
.mouseevent
.dwbuttonstate == from_left_1st_button_pressed) //滑鼠左鍵
c c 控制台游標的相關操作
謝謝合作 命令列的游標 consolecursor 其實就是乙個另類的插入符 caret 插入符是什麼呢?當你在記事本打字的時候,那個一閃一閃的豎線就叫做插入符。插入符的作用有多大呢?沒有了插入符,假如你正在輸入第二十個字,突然發現第乙個字打錯了,那麼你得把正確的十九個字和錯誤的第乙個字全刪了,再把...
windows控制台游標控制
分步閱讀 控制台的游標具有兩個屬性 dwsize 高度,bvisible 是否顯示。具體步驟 1.得標準輸出裝置控制代碼getstdhandle 因為游標是在標準輸出裝置上顯示 2.獲取控制台游標資訊getconsolecursorinfo 可以跳過 3.設定控制台游標資訊setconsolecur...
控制台介面控制(十) 讀取滑鼠操作
我在看到這一章之前一直不知道控制台也能通過滑鼠來操作。控制台的滑鼠操作需要得到滑鼠位置資訊,左右鍵資訊,單雙擊等等。效果 當滑鼠在控制台範圍內的時候,第一行會顯示滑鼠的位置 左鍵單擊在滑鼠當前位置寫下乙個a,右鍵單擊在滑鼠當前位置寫下乙個a 左鍵雙擊控制台退出。相關資訊 與讀取鍵盤資訊類似,讀取滑鼠...