左边的工具箱可以拖动各种控件,右边的属性可以设定id名称等属性,双击里面的控件自动跳转到代码部分
GetDlgItemText函数左边参数是文本框的id,右边是把文本框的内容传给string,同理把get改成set就是设置输出内容的函数,这是读取文本框的int值
让string输出的格式是这样的
这个是让字符串转成整数,
整数转字符串,10是十进制
右键按钮,选择添加变量,然后输入变量名,把变量名和控件id绑定,这里类别选择value,
第一句话是开始将数和控件绑定,第三句话是绑定完毕
这个函数第一个参数是获取到控件id为IDC—EDIT1,后面的指针是得到该控件的句柄,第二个参数是gettext获取该控件的内容,第三个参数是接收char数组的大小,第四参数是接收数组,同理,是给该控件赋值
在源文件的OnInitDialog函数是可以在对话框运行前初始化一些数据
是从第一个id的按钮到最后一个id的按钮,勾选第三个参数id的按钮
给勾选框添加时事件处理,类型为button—click 函数名自定义
比如一点击我们就刷新视图,和Android一样,重绘视图
选择对话框,在属性一栏选择第四个,这里有对话框的所有消息函数,比如我们选择一个擦除背景的函数,双击跳转到代码,那么一重绘就自动跳转到该函数
添加toolbar资源,左下角选择资源,对项目右键,添加资源,然后选择toolbar文件夹可以对其设置属性
、
然后选择头文件DemoDlg.h,添加一个m_toolbar全局变量
然后在initdialog函数中写代码显示toolbar
可以看到显示出来了,但是点击没有事件反应,要想处理事件,需要添加消息映射
在这个函数中添加on_command(id_toolbar_button1,&cdemodlg::ontoolbarbutton1);把toolbar的id传递给第二个自定义的参数
在上面定义这个函数,然后写这个函数就是功能
导入资源文件,在项目(代码部分右边)中右键,打开文件夹,选择res文件夹,把图片放进去,右键项目,导入资源,选择bitmap,添加图片
模态对话框:必须操作完当前对话框才能点击其他窗口
非模态对话框:.....
显示图片:在导入资源后在图片属性中type选择bitmap,在image里面选择导入的图片,给图片设置变量名在代码中这样写:
HBITMAP phBmp=(HBITMAP)LoadImage(NULL,_T(".\\res\\car2.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
图片变量名.SetBitmap(phBmp);
获取窗口句柄:
第一句是获取当前窗口的句柄,第二句获取该句柄的指针
获取应用程序的句柄和获取该指针
这是设置当前对话框最大化
关闭当前窗口
这句话是判断带勾选的按钮有没有被勾选,红色波浪线是按钮id
在oninitdialog函数中可以设置窗口标题
获取当前窗口标题
发送消息:
SendMessage();消息处理完才能运行其他
PoseMessage();消息和处理异步完成
应用举例:
功能:记录鼠标点击当前窗口的信息
首先在头文件(不是源文件)创建这些变量,然后在初始化对话框内这样写,第一行获取指针,第二行对id为IDC—CAP的图片获取其尺寸
在CDemoDlg项目右边属性找到它所有的函数可以检测在对话框里面的函数的操作,选择当鼠标左键按下的时候触发的函数
当鼠标指针在图片的上下左右边距里面的时候,开始检测,添加鼠标抬起的函数,释放检测,获取当前鼠标指针,通过鼠标指针获取当前窗口句柄,拿到句柄就好办了不仅可以从句柄拿到很多东西,对当前窗口进行许多操作,而且我们可以通过sendmessage函数从这个窗口发送消息到另一个窗口