消息
/*
* Window Messages,消息
*/
// 對于每個(gè)函數(shù)參考,1,簡要說明,2參數(shù),3返回值. rearks 備注. example 樣例.
#define WM_NULL 0x0000 //空
#define WM_CREATE 0x0001 // 創(chuàng)建時(shí)
#define WM_DESTROY 0x0002 // 銷毀時(shí)
#define WM_MOVE 0x0003 // 移動(dòng)時(shí)
#define WM_SIZE 0x0005 // 大小改變時(shí)
WM_INITDIALOG 0x0110: 對話框?qū)S玫某跏蓟?一次)
WM_ COMMAND 0x0111: 用戶指令消息(各種控件,菜單等的點(diǎn)擊控制等).
WM_CLOSE 0x0010 系統(tǒng)關(guān)閉消息(系統(tǒng)默認(rèn)的一個(gè),alt+f4/ 鼠標(biāo)右鍵),不添加任何東一也是有的.
WM_UIT 0x0012 程序退出消息
WM_LBUTTONDOWN 0x0201 左鍵按下消息.
WM_LBUTTONUP 0x0202 左鍵釋放消息
WM_LBUTTONDBLCLK 0x0203 左鍵雙擊消息
WM_RBUTTONDOWN 0x0204 右鍵按下消息.
WM_RBUTTONUP 0x0205 右鍵釋放消息
WM_RBUTTONDBLCLK 0x0206 右鍵雙擊消息
WM_MOUSEMOVE 光標(biāo)移動(dòng)消息(它的兩個(gè)參數(shù)都比較重要,wparam,lparam)
我們知道消息通常都會(huì)攜帶數(shù)據(jù),在參數(shù)上表示為wparam,lparam兩種信息.wparam一般攜帶著產(chǎn)生消息的控件id.可以通過wparam參數(shù)來控制消息觸發(fā)的控件.而lparam則通常在一些消息中攜帶坐標(biāo)信息(例如點(diǎn)擊之類的消息).
按下釋放一般配套使用,按下時(shí)記錄按下的位置,釋放時(shí)記錄釋放時(shí)的位置,并做處理.常用在繪圖的,繪畫板功能的方面.
函數(shù)
- strcat 字符串追加函數(shù),向目標(biāo)字符串中追加內(nèi)容.
char *strcat(
char *strDestination,
const char *strSource
);
wchar_t *wcscat(
wchar_t *strDestination,
const wchar_t *strSource
);
unsigned char *_mbscat(
unsigned char *strDestination,
const unsigned char *strSource
);
template <size_t size>
char *strcat(
char (&strDestination)[size],
const char *strSource
); // C++ only
template <size_t size>
wchar_t *wcscat(
wchar_t (&strDestination)[size],
const wchar_t *strSource
); // C++ only
template <size_t size>
unsigned char *_mbscat(
unsigned char (&strDestination)[size],
const unsigned char *strSource
); // C++ only
MessageBox 消息提示框.
FindWindow 查找主窗口(用來顯示當(dāng)前窗口的句柄).查找句柄.
DialogBox 顯示有輸入輸出功能的窗口.
EndDialog 關(guān)閉模式對話框
GetDlgItemInt 通過一個(gè)窗口內(nèi)的控件上的文字獲取一個(gè)數(shù)字(轉(zhuǎn)換為int型)
SetDlgItemInt 通過一個(gè)窗口內(nèi)的控件上的文字設(shè)置一個(gè)數(shù)字.
SetWindowText: 對一個(gè)主窗口標(biāo)題設(shè)置文字(或者是控件文字)
特殊的控件ID
確認(rèn)鍵與取消鍵:IDOK,IDCANCEL.他們都是復(fù)合的.與多個(gè)鍵位,響應(yīng)共用同一個(gè)消息處理.
標(biāo)志位
像這種, 其二進(jìn)制值只有一位為1的值.可以作為標(biāo)志位,當(dāng)使用不同的位運(yùn)算的時(shí)候可以達(dá)到不同的效果.
- 位運(yùn)算
標(biāo)志位結(jié)合: wParam = MK_MBUTTONON|MK_CONTROL|MK_SHIFT
標(biāo)志位判斷: if(wParam& MK_LBUTTON)
標(biāo)志位分離:wParam &=~Mk_BUTTON (先取反再與運(yùn)算,取反0變1,1變0則抹去了對應(yīng)的標(biāo)志位,再與原變量與運(yùn)算,與運(yùn)算遇0為0,11得1).