Visual C++6.0 API函數(shù)操作技巧集
發(fā)布時(shí)間:2008/8/23 0:00:00 訪問(wèn)次數(shù):740
一、隱藏和顯示光標(biāo)
函數(shù): int showcursor ( bool bshow );
參數(shù) bshow,為布爾型,bshow的值為false時(shí)隱藏光標(biāo),為true時(shí)顯示光標(biāo);該函數(shù)的返回值為整型,為鼠標(biāo)隱藏或顯示的指數(shù)器;返回值大于等于0時(shí)顯示光標(biāo),否則隱藏鼠標(biāo);如果安裝了鼠標(biāo)初值為0。
實(shí)例:
在基于對(duì)話框的應(yīng)用程序中放置兩個(gè)button,名稱分別為hidecursor和showcursor;再放置一個(gè)cstatic控件,名稱為label1,用于顯示光標(biāo)計(jì)數(shù)器。
源程序?yàn)椋?
// 使光標(biāo)計(jì)數(shù)器的值減一,如果小于零,隱藏光標(biāo)
void cmytestdlg::onhidecursor()
{
int i;
i=showcursor(false);
cstring string;
string.format(_t("%d" ),i);
label1.setwindowtext(&string);
}
// 使光標(biāo)計(jì)數(shù)器的值加一,如果大于等于零,顯示光標(biāo)
void cmytestdlg::onshowcursor()
{
int j;
j=showcursor(true);
cstring string;
string.format(_t("%d" ),j);
label1.setwindowtext(&string);
}
運(yùn)行程序,連續(xù)單擊showcursor按鈕,你會(huì)見到計(jì)數(shù)器從1(光標(biāo)顯示時(shí)初值為0)開始不斷加1;再連續(xù)單擊hidecursor按鈕,又會(huì)見到計(jì)數(shù)器不斷減1,當(dāng)計(jì)數(shù)器為-1時(shí)開始隱藏光標(biāo)。
二、交換鼠標(biāo)左右鍵和恢復(fù)
函數(shù):
bool swapmousebutton ( bool fswap );
參數(shù) fswap,為布爾型,true表示交換鼠標(biāo)左右鍵,false表示恢復(fù)系統(tǒng)默認(rèn)左右手習(xí)慣;返回值亦為布爾型,交換后,返回值true,恢復(fù)正常值為false。
實(shí)例:
在應(yīng)用程序中放置兩個(gè)button,名稱分別為reversemouse和restoremouse。
源程序?yàn)椋?/p>
//交換鼠標(biāo)左右鍵
void cmytestdlg::onreversemouse()
{
bool t;
t=swapmousebutton(true);
if(t)
messagebox("鼠標(biāo)左右鍵交換成功!");
}
// 恢復(fù)鼠標(biāo)左右鍵交換
void cmytestdlg::onrestoremouse()
{
bool t;
t=swapmousebutton(false);
if(!t)
messagebox("鼠標(biāo)左右鍵恢復(fù)為默認(rèn)狀態(tài)!");
}
運(yùn)行程序,左鍵單擊reversemouse按鈕,此時(shí)實(shí)現(xiàn)鼠標(biāo)左右鍵功能切換;再右鍵單擊restoremouse按鈕,此時(shí)實(shí)現(xiàn)鼠標(biāo)左右鍵功能恢復(fù)。
三、得到鼠標(biāo)雙擊時(shí)間
1、函數(shù):
uint getdoubleclicktime(void);
該函數(shù)無(wú)參數(shù);它的返回值為毫秒,為雙擊鼠標(biāo)雙擊有效的時(shí)間間隔。
實(shí)例:
在窗口中放置一個(gè)button,名稱為getdoubleclicktime;再放置一個(gè)名為label1的cstatic控件,用于顯示雙擊時(shí)間。
源程序?yàn)椋?
//得到并顯示鼠標(biāo)的雙擊的時(shí)間
void cmytestdlg::ongetdoubleclicktime()
{
int dtime;
cstring string;
dtime:=getdoubleclicktime();
string.format(_t("%d" ),dtime);
label1.setwindowtext(&string);
}
運(yùn)行程序,單擊getdoubleclicktime,在label1中顯示雙擊的時(shí)間,為毫秒級(jí)。
四、設(shè)置鼠標(biāo)雙擊時(shí)間
函數(shù):
bool setdoubleclicktime ( uint uinterval );
參數(shù)uinterval,表示鼠標(biāo)雙擊時(shí)間,為毫秒級(jí),系統(tǒng)默認(rèn)時(shí)間為500;
返回值為布爾值。
實(shí)例:
在窗口中放置一個(gè)button,名稱為setdoubleclicktime。
源程序?yàn)椋?
//設(shè)置鼠標(biāo)的雙擊的時(shí)間
void cmytestdlg::onsetdoubleclicktime()
{
bool t;
t=setdoubleclicktime(500);
if(t)
messagebox("成功的設(shè)置了鼠標(biāo)雙擊時(shí)間!");
}
運(yùn)行程序,單擊btnsetdoubleclicktime,鼠標(biāo)雙擊時(shí)間已改變。
五、將鼠標(biāo)鎖定在一定范圍
函數(shù):
bool clipcursor ( const rect *lprect );
參數(shù)*lprect,指向鼠標(biāo)活動(dòng)矩形區(qū)域的指針;返回值為布爾型,表示鎖定成功與否。
實(shí)例:
在窗口中放置兩個(gè)button,名稱為lockmouse和unlockmouse。
源程序?yàn)椋?
//將鼠標(biāo)鎖定在固定區(qū)域
void cmytestdlg::onlockmouse()
{
rect rect;
bool block;
rect.left=10;//設(shè)置鎖定區(qū)域大小;
rect.top=10;
rect.right=200;
rect.bottom=200;
block:=clipcursor(&rect); // 限制鼠標(biāo)移動(dòng)區(qū)
一、隱藏和顯示光標(biāo)
函數(shù): int showcursor ( bool bshow );
參數(shù) bshow,為布爾型,bshow的值為false時(shí)隱藏光標(biāo),為true時(shí)顯示光標(biāo);該函數(shù)的返回值為整型,為鼠標(biāo)隱藏或顯示的指數(shù)器;返回值大于等于0時(shí)顯示光標(biāo),否則隱藏鼠標(biāo);如果安裝了鼠標(biāo)初值為0。
實(shí)例:
在基于對(duì)話框的應(yīng)用程序中放置兩個(gè)button,名稱分別為hidecursor和showcursor;再放置一個(gè)cstatic控件,名稱為label1,用于顯示光標(biāo)計(jì)數(shù)器。
源程序?yàn)椋?
// 使光標(biāo)計(jì)數(shù)器的值減一,如果小于零,隱藏光標(biāo)
void cmytestdlg::onhidecursor()
{
int i;
i=showcursor(false);
cstring string;
string.format(_t("%d" ),i);
label1.setwindowtext(&string);
}
// 使光標(biāo)計(jì)數(shù)器的值加一,如果大于等于零,顯示光標(biāo)
void cmytestdlg::onshowcursor()
{
int j;
j=showcursor(true);
cstring string;
string.format(_t("%d" ),j);
label1.setwindowtext(&string);
}
運(yùn)行程序,連續(xù)單擊showcursor按鈕,你會(huì)見到計(jì)數(shù)器從1(光標(biāo)顯示時(shí)初值為0)開始不斷加1;再連續(xù)單擊hidecursor按鈕,又會(huì)見到計(jì)數(shù)器不斷減1,當(dāng)計(jì)數(shù)器為-1時(shí)開始隱藏光標(biāo)。
二、交換鼠標(biāo)左右鍵和恢復(fù)
函數(shù):
bool swapmousebutton ( bool fswap );
參數(shù) fswap,為布爾型,true表示交換鼠標(biāo)左右鍵,false表示恢復(fù)系統(tǒng)默認(rèn)左右手習(xí)慣;返回值亦為布爾型,交換后,返回值true,恢復(fù)正常值為false。
實(shí)例:
在應(yīng)用程序中放置兩個(gè)button,名稱分別為reversemouse和restoremouse。
源程序?yàn)椋?/p>
//交換鼠標(biāo)左右鍵
void cmytestdlg::onreversemouse()
{
bool t;
t=swapmousebutton(true);
if(t)
messagebox("鼠標(biāo)左右鍵交換成功!");
}
// 恢復(fù)鼠標(biāo)左右鍵交換
void cmytestdlg::onrestoremouse()
{
bool t;
t=swapmousebutton(false);
if(!t)
messagebox("鼠標(biāo)左右鍵恢復(fù)為默認(rèn)狀態(tài)!");
}
運(yùn)行程序,左鍵單擊reversemouse按鈕,此時(shí)實(shí)現(xiàn)鼠標(biāo)左右鍵功能切換;再右鍵單擊restoremouse按鈕,此時(shí)實(shí)現(xiàn)鼠標(biāo)左右鍵功能恢復(fù)。
三、得到鼠標(biāo)雙擊時(shí)間
1、函數(shù):
uint getdoubleclicktime(void);
該函數(shù)無(wú)參數(shù);它的返回值為毫秒,為雙擊鼠標(biāo)雙擊有效的時(shí)間間隔。
實(shí)例:
在窗口中放置一個(gè)button,名稱為getdoubleclicktime;再放置一個(gè)名為label1的cstatic控件,用于顯示雙擊時(shí)間。
源程序?yàn)椋?
//得到并顯示鼠標(biāo)的雙擊的時(shí)間
void cmytestdlg::ongetdoubleclicktime()
{
int dtime;
cstring string;
dtime:=getdoubleclicktime();
string.format(_t("%d" ),dtime);
label1.setwindowtext(&string);
}
運(yùn)行程序,單擊getdoubleclicktime,在label1中顯示雙擊的時(shí)間,為毫秒級(jí)。
四、設(shè)置鼠標(biāo)雙擊時(shí)間
函數(shù):
bool setdoubleclicktime ( uint uinterval );
參數(shù)uinterval,表示鼠標(biāo)雙擊時(shí)間,為毫秒級(jí),系統(tǒng)默認(rèn)時(shí)間為500;
返回值為布爾值。
實(shí)例:
在窗口中放置一個(gè)button,名稱為setdoubleclicktime。
源程序?yàn)椋?
//設(shè)置鼠標(biāo)的雙擊的時(shí)間
void cmytestdlg::onsetdoubleclicktime()
{
bool t;
t=setdoubleclicktime(500);
if(t)
messagebox("成功的設(shè)置了鼠標(biāo)雙擊時(shí)間!");
}
運(yùn)行程序,單擊btnsetdoubleclicktime,鼠標(biāo)雙擊時(shí)間已改變。
五、將鼠標(biāo)鎖定在一定范圍
函數(shù):
bool clipcursor ( const rect *lprect );
參數(shù)*lprect,指向鼠標(biāo)活動(dòng)矩形區(qū)域的指針;返回值為布爾型,表示鎖定成功與否。
實(shí)例:
在窗口中放置兩個(gè)button,名稱為lockmouse和unlockmouse。
源程序?yàn)椋?
//將鼠標(biāo)鎖定在固定區(qū)域
void cmytestdlg::onlockmouse()
{
rect rect;
bool block;
rect.left=10;//設(shè)置鎖定區(qū)域大。
rect.top=10;
rect.right=200;
rect.bottom=200;
block:=clipcursor(&rect); // 限制鼠標(biāo)移動(dòng)區(qū)
熱門點(diǎn)擊
- CPLD開發(fā)板和FPGA開發(fā)板的區(qū)別
- 基于FPGA和AD1836的I2S接口設(shè)計(jì)
- vc中如何使用設(shè)備描述表
- Visual C++中調(diào)用DLL實(shí)現(xiàn)數(shù)據(jù)加密
- Visual C++6.0 API函數(shù)操作技
- VC++中進(jìn)程與多進(jìn)程管理的方法
- JavaCard CPU的設(shè)計(jì)與FPGA實(shí)現(xiàn)
- 如何用C語(yǔ)言開發(fā)DSP嵌入式系統(tǒng)
- C和C++ 字符串字面量的比較
- Xilinx針對(duì)Virtex-5 FXT F
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- 電源管理 IC (PMIC)&
- I2C 接口和 PmBUS 以及 OTP/M
- MOSFET 和柵極驅(qū)動(dòng)器單
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(CO
- Power Management Buck/
- 反激變換器傳導(dǎo)和輻射電磁干擾分析和抑制技術(shù)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究