EasyX滑鼠函式和MBCS Unicode編碼

2021-08-03 03:04:02 字數 2519 閱讀 1027

o、函式

kbhit()

mousehit()

mousemsg m;

m = getmousemsg();

solidpolygon((point*)p, 3);

putpixel(p[3][0],p[3][1],0xee00ee);

outtextxy(296, 310, _t("bestans"));

setwritemode(r2_xorpen);

systemtime ti;

getlocaltime(&ti);

一、滑鼠

獲取按鍵:               獲取滑鼠:
char c;                    mousemsg m;

if (kbhit())   if (mousehit())

c = getch();    m = getmousemsg();

struct mousemsg

;

其中,「當前滑鼠訊息」可以是以下值:
//每個值類似於標頭檔案中定義的巨集,為4位十六進製制數

wm_mousemove 滑鼠移動訊息

wm_mousewheel 滑鼠滾輪撥動訊息

wm_lbuttondown 左鍵按下訊息

wm_lbuttonup 左鍵彈起訊息

wm_lbuttondblclk 左鍵雙擊訊息

wm_mbuttondown 中鍵按下訊息

wm_mbuttonup 中鍵彈起訊息

wm_mbuttondblclk 中鍵雙擊訊息

wm_rbuttondown 右鍵按下訊息

wm_rbuttonup 右鍵彈起訊息

wm_rbuttondblclk 右鍵雙擊訊息

例如,判斷獲取的訊息是否是滑鼠左鍵按下,可以用:
if (m.umsg == wm_lbuttondown)
...
練習:(a ^ b) ^ b = a

#include #include void main()

}solidpolygon((point*)p, 3);

/*switch(m.umsg)*/}

// 關閉圖形視窗

二、隨機數

srand((unsigned) time(null))

n=rand()%p;

三、知識

(1)error c2665: 'outtextxy' : none of

the2 overloads could convert all the argument types

原因:

字串常見的編碼有兩種:mbcs 和 unicode。

vc6 預設使用的 mbcs 編碼,而 vc2008 及高版本 vc 預設使用的 unicode 編碼。以下詳細解釋這個問題:

用 char 表示字元時,英文占用乙個位元組,中文站用兩個位元組。這樣有乙個嚴重的問題:兩個連續位元組,究竟是兩個英文本元,還是乙個中文字元?為了解決這個問題,unicode 編碼誕生了。unicode 編碼不管中文英文都用兩個位元組表示。

對於 mbcs 編碼,字元變數用 char 定義。

對於 unicode 編碼中,字元變數用 wchar_t 定義。

為了提高**的自適應性,微軟在 tchar.h 裡面定義了 tchar,而 tchar 會根據專案定義的編碼,自動展開為 char 或 wchar_t。

在 windows api 和 easyx 裡面的大多數字串指標都用的 lpctstr 或 lptstr 型別,lpctstr / lptstr 就是「long point (const) tchar string」的縮寫。所以可以認為,lpctstr 就是 const tchar *,lptstr 就是 tchar * 。
解決:1.

(2)

error:"the posix name for this item is deprecated. instead, use the iso c++ conformant name: _getch."
已經過時請使用 _getch.

EasyX高階版 滑鼠互動

關於滑鼠互動這塊,大家要是勤快點可以檢視官方文件,裡面很詳細 如果各位以前玩過那種用乙隻特殊的筆可以在特殊的那個小白板上塗塗畫畫,如果想擦掉之前畫的就可以把板子底下的按鈕從這個末端拖到另乙個末端實現清空作用,這裡可以實現前一部分的功能,這是我的diy塗鴉表情包附上個人字型 全程滑鼠完成的畫面 詳細 ...

gridview 滑鼠經過變色函式

我們先設定當滑鼠上去的時候他的背景色改變 e.row.attributes.add onmouseover c this.style.backgroundcolor this.style.backgroundcolor ff6699 下面我們再設定當滑鼠離開後背景色再還原 e.row.attribu...

滑鼠橫向滾動條 和 滑鼠滾動方向

阻止滑鼠滾動影響縱向滾動條的行為 找到影響滾動條的容器的 scrollleft 屬性為 根據滑鼠的滾輪方向,決定滾動條是向左還是向右滾動 lang en charset utf 8 name viewport content width device width,initial scale 1.0 ...