相信大家知道对话框怎么用了,就是先用“资源编辑器”设计一个对话框,然后在代码中加载处理 。今天,我向大家分享两个使用对话框的技巧,还是比较实用的。不用担心,先喝杯茶,很简单的,一 点也不复杂,总之,看俺写的博客,你不会有思想压力的。放心好了。
这两个技巧分别是:
1、在显示某个对话框时,向对话框传递数据。
这个我相信大家能够理解,就好比咱们 在做Web开发的时候,在打开一个页面时,可能会考虑向目标页面传一些参数,如这样http://www.牛 B.com/yyy.aspx?tid=19999,是吧,我们都很经常这样做,所以,在玩Win32的时候,我们也同样希望 这样。
我们知道,要显示一个模态对话框,可以调用DialogBox函数,这个不难,我有理由相信 大家只需稍稍研究一下,一定会玩的,就像遥控飞机那么简单。如果你认真阅读MSDN,你一定会发现有 这么一个函数:DialogBoxParam。怎么样,是不是和前面的那个DialogBox很像,只是脑袋后面多了几 根汗毛罢了,而且,从Param就可以猜到,应该与参数传递有关。对,猜得相当好,我们在显示某个对 话框时,要向对话框传参数,就是用它了。
顺便提一下,什么是模态对话框呢?模态对话框就 是说如果这个对话框弹出来(显示)了,你就不能操作父窗口或者其上面的控年了,程序也会在弹出对 话框后停下,直到操作完成了,你把对话框关了,程序才会继续,你才能操作其他控件,就好像你开车 上班,行驶到某个路口,前面有几辆车突然停了下来,车上下来一群不男不女的人,在马路上打起架来 了,导致交通严重受阻,你的车夹在车流中间,既不前进,也不能后退,就卡在那里,你估计只好呆在 车里,拿出MP5,看看恐怖片,等到交通恢复正常了,才能继续行车。
看看这个DialogBoxParam 函数的定义:
INT_PTR WINAPI DialogBoxParam( _In_opt_ HINSTANCE hInstance, _In_ LPCTSTR lpTemplateName, _In_opt_ HWND hWndParent, _In_opt_ DLGPROC lpDialogFunc, _In_ LPARAM dwInitParam );
前面几个参数估计不用我介绍了,大家都认识,比周杰伦和刀郎还要出名。重点是最后一 个参数,它是一个LPARAM类型的,我记得Win32的许多类型的命名是有规律的,你看看,凡是P开头或者 LP开头都是指针类型,不信你可以总结一下。
所以这个参数肯定是指定某种未知生物的指针, 指针存的是地址,所以我们通过把我们要传给对话框的数据的地址传给这个参数,这样,对话框的消息 处理函数如果想取到你传给它的数据,就从这个地址去找。就好像你同学介绍了一位美女给你认识,他 告诉你这位MM的QQ号,然后你想泡她你就知道怎么做了,加QQ聊呗。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索指针
, 对话框
, 函数
, 参数
, dialogbox
, 一个
模态
,以便于您获取更多的相关知识。