[MFC] _ 各种使用到的消息和函数

消息

/*
 * Window Messages,消息
 */

// 对于每个函数参考,1,简要说明,2参数,3返回值. rearks 备注. example 样例.

#define WM_NULL                         0x0000  //空
#define WM_CREATE                       0x0001 // 创建时
#define WM_DESTROY                      0x0002 // 销毁时
#define WM_MOVE                         0x0003 // 移动时
#define WM_SIZE                         0x0005 // 大小改变时

WM_INITDIALOG 0x0110: 对话框专用的初始化消息(一次)
WM_ COMMAND 0x0111: 用户指令消息(各种控件,菜单等的点击控制等).
WM_CLOSE 0x0010 系统关闭消息(系统默认的一个,alt+f4/ 鼠标右键),不添加任何东一也是有的.
WM_UIT 0x0012 程序退出消息

WM_LBUTTONDOWN 0x0201 左键按下消息.
WM_LBUTTONUP 0x0202 左键释放消息
WM_LBUTTONDBLCLK 0x0203 左键双击消息

WM_RBUTTONDOWN 0x0204 右键按下消息.
WM_RBUTTONUP 0x0205 右键释放消息
WM_RBUTTONDBLCLK 0x0206 右键双击消息
WM_MOUSEMOVE 光标移动消息(它的两个参数都比较重要,wparam,lparam)

我们知道消息通常都会携带数据,在参数上表示为wparam,lparam两种信息.wparam一般携带着产生消息的控件id.可以通过wparam参数来控制消息触发的控件.而lparam则通常在一些消息中携带坐标信息(例如点击之类的消息).

按下释放一般配套使用,按下时记录按下的位置,释放时记录释放时的位置,并做处理.常用在绘图的,绘画板功能的方面.


函数

  • strcat 字符串追加函数,向目标字符串中追加内容.
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 
char *strcat(
   char (&strDestination)[size],
   const char *strSource
); // C++ only
template 
wchar_t *wcscat(
   wchar_t (&strDestination)[size],
   const wchar_t *strSource
); // C++ only
template 
unsigned char *_mbscat(
   unsigned char (&strDestination)[size],
   const unsigned char *strSource
); // C++ only
  • MessageBox 消息提示框.

  • FindWindow 查找主窗口(用来显示当前窗口的句柄).查找句柄.

  • DialogBox 显示有输入输出功能的窗口.

  • EndDialog 关闭模式对话框

  • GetDlgItemInt 通过一个窗口内的控件上的文字获取一个数字(转换为int型)

  • SetDlgItemInt 通过一个窗口内的控件上的文字设置一个数字.

  • SetWindowText: 对一个主窗口标题设置文字(或者是控件文字)

特殊的控件ID

确认键与取消键:IDOK,IDCANCEL.他们都是复合的.与多个键位,响应共用同一个消息处理.

标志位

图片.png

像这种, 其二进制值只有一位为1的值.可以作为标志位,当使用不同的位运算的时候可以达到不同的效果.

  • 位运算

标志位结合: wParam = MK_MBUTTONON|MK_CONTROL|MK_SHIFT
标志位判断: if(wParam& MK_LBUTTON)
标志位分离:wParam &=~Mk_BUTTON (先取反再与运算,取反0变1,1变0则抹去了对应的标志位,再与原变量与运算,与运算遇0为0,11得1).


你可能感兴趣的:([MFC] _ 各种使用到的消息和函数)