00:00
好,然后呢,今天呢,咱们来讲一下啊,这个清工具我先给它关了啊,这个今天呢,咱们来接着讲咱们的这个汇编啊,上节课呢,咱们大致上实现了一个带有一个按钮的一个窗口啊。大致就长这个样子啊,然后有一个功能就弹个窗出来,那我们这节课呢,就来这个实现一些其他类型的一个功能啊,然后补充一些其他的一些基础知识啊,就是今天呢,基本上就把这个按钮的一些功能都给这个掌握掉啊,那我们按钮呢,肯定就不止这一种啊,然后呢,还有一些其他种类的,一会儿我们也会给大家说一下,那么我们现在呢,首先来看一下我们在这个,嗯,创建这个位置啊,就是这个WM这个command的这块啊,不是啊create啊wm create这块啊,我们调用的是一个create window ex啊,那实际上而言呢,我们在这个SDK里呢,实际上就是把这个我们的按钮呢,作为一个窗口啊来创建出来的,那么它和我们主窗口的一个关系呢,就是子窗口和副窗口之间的一个关系,然后呢,这块呢,它实际上传的就是什么呢?就是一个类名啊,把这个我们的呃按钮啊按钮作为一个按钮类啊,然后传进去进行一个创建出子窗口,在我们窗口上进。
01:15
一个显示,那我们这个按钮这个类呢是一个啊,那么我们按钮是什么类型呢?是怎么来决定呢?就是它的一个风格啊,那现在这个风格呢,它就是最基础最基础的一种按钮啊,就是我们的这种点击式按压式的这种按钮,那么除了这种按钮之外呢,我们还有单选框和复选框啊,就是那个原点的那个按钮和这个方块的那个按钮啊,那个方块的点击那个按钮啊,其实也可以叫单选框和多选框啊。那么他们呢,实际上都是通过这个风格啊来进行扩展的,在这个基础上啊,这两个是必有的啊,就是我们正常的一个按钮应该有的一个风格,那么之后呢,你可以在它上面啊进行多次扩展,另外呢,我们的create window ex呢,因为它是一个创建窗口的API啊,所以说呢,它呢是有一定的返回值的,我们可以通过MSDN啊来看一下。
02:15
最近这玩意儿不知道怎么搜MS店特别费劲啊。还有点卡,这样吧。哎,DN还真是打不开啊,这个玩意儿。稍许有点卡。诶开了啊好,那我们来看一下这个create window ex啊,它的一个返回值啊,它参数呢就不说了,我们上节课都看过了,那它呢,还有一个这个返回值啊,你可以看到啊,这个它一个类型呢,叫做HWND的一个类型,那这个类型是个什么东西呢?这个类型呢,实际上就是一个窗口的一个窗口句柄,因为你瑞这个window或者瑞window ex,它的本质上而言呢,就是什么呢?就是在创建一个窗口出来啊,所以它返回的一个窗口聚柄,那这个聚柄可以用来做什么呢?其实呢,就是可以来找定位到你是某一个窗口啊,然后呢,你就可以对这个操口窗口进行操作啊,就是这么一个功能,所以说呢,我们现在呢,可以来给他接收一下这个值啊,这个句柄的一个值,但是对于我们而言呢,我们不需要来这个给他用一个ND的一个类型,因为本质上而言,ND其实就是一个一个这个整形啊,那在32位的情况下,它就是一个这个D啊,所以说我们用一个DD来形容它就可以了啊,那我们在这给它明一下啊,HWND,然后这个。
03:53
Button button1啊,然后DD啊问号好,那现在呢,我们已经啊拿声明完了,那么接下来我们如何给它进行赋值呢?啊,在我们这个s TD call的一个通常的情况下啊,我们调用这种WIN32的一个API,它调用调用完之后啊,它会把你的返回值放到exx里,所以说呢,我们在这个引卧后边啊,直接一个move啊,把我们的exs的值move到我们的这个呃变量里就可以了啊这相当于一个全变量,然后呢,我们现在给它复制完之后呢,我们就可以这个控制它了啊,当然了,我们现在呢,暂时还不用它,我们一会儿用它啊,比如说我现在在给它在底下啊,我给它来一个呃一样的啊,我给他来一个这个一样的一个这个按钮啊,我再来一个,我给他来个二。
04:40
这啊,我给他来个八腾二,然后这边呢,我给他再来一个啊IDC啊,这个八腾二,我看上边还需要什么不需要什么啊,那我们接着啊,给它复制一份这个button啊,都没有区别,后边呢,我给它来一个8TEN2。
05:01
啊腾二好,那么这个时候呢,我就可以去处理了啊,我现在拿到我的这个,拿着我的这个句柄,我可以做一些事情,比如说我现在呢,用我的这个ID啊,我在我的command里进行处理,上面不是if我们的ID这个第一个按钮的一个事件处理嘛,那么接下来我用一个这个I if啊,然后E啊,等于等于我现在的这个button,然后呢,我用我这个button呢,对它呢进行一个操作啊,那比如说我在这我想干点什么,嗯,我想想我干点什么呢?我。嗯。我我我可以给他这个设置一下标题啊,就是我们现在这个状况下啊,我们运行一下啊,我们先看一下。哦,这儿有一个。嗯,把弟弟问号。No fair。哎,这有什么问题,这个东西。
06:16
来让我搜一下啊,这是什么问题呢?理论上而言没有问题。定义一个变量怎么出问题?本身没有问题,然后。一般情况下是全角出现的问题。那拳脚。啊意思,我这个问号可能有问题啊。重新生成。诶,果然是问号有问题啊,那我们来给它运行一下啊,我们看一下现在啊,现在哎,我我操我忘记改它的位置了啊,我两个按钮重叠到一起去了啊,这个是这个从零开始的,那我第二个按钮肯定就不能再从从零开始要叠加出来啊,那前边这个呢,是它起始的X位置,后边是起始的Y位置,那我要从上往啊,就是要改它的Y位置,如果从左往右,那就要改它的X位置,那比如说我现在要从上往下来搞这两个,那比如说我第二个我给它放在我的这个。
07:27
呃,现在是零啊,那我这个。Y啊,Y轴它的一个高度按钮高度是50,那我想给它离一点距离,然后又不给不不把它盖住,那首先它基础数值是50,那比如说加个五给它留个缝啊,然后他就在上一个按钮底下了,我们来看一下。诶,你看啊,我们第二个按钮就弄出来了,现在呢,我们就来实现第二个按钮的功能啊,我们把第一个按钮的一个标题修改掉啊,那这个呢,就要调用一个新的API啊,我们一个下啊,然后呢,我们调用一个叫这个set啊window啊test这么一个不是Windows啊,我多打了一个S。
08:12
啊,这么一个API,这个API呢,它有两个参数啊,第一个参数呢,就是我们刚才用来获取的什么呢?它的一个句柄,比如说我要设设置的是第一个啊,第一个按钮的一个这个标题,那我就把这个啊句柄传过来,第二个呢,就是你要改成什么东西,那你要改成什么东西呢?你就要在这边呢,给它定义一个字符串啊,比如说这个SZ啊,这个TDB。嗯,我给他起个啥呢?呃就是我就呃我给他起一堆叉,然后看着明显一点好,然后呢,我拿过来这呢,注意啊,一定要是传地址啊,Off set啊,要不然的话呢,会报错,然后这个函数的功能呢,也非常明显啊set Windows设置一个窗口的标这个文本啊,那我们按钮上的文本实际上就是我们的标题啊,我们重新生成一下。
09:04
然后运行。现在呢,我们点击二。我点击二,它怎么第一个弹出来了。哎,他俩功能咋一样的呢,等会儿啊,我看一下。If else if。衣服。后边ID也没错啊,我在这儿下个断点看一下。重新生成。运行。点击啊,然后下来啊F10。嗯,他咋进来了呢。啊,我定义的俩值是一样的啊,怪不得进来了啊,我现在给他改一下啊,改成九啊,然后重新生成。
10:02
运行。运行之后呢,我现在呢,就点击第二个按钮啊,然后点击完之后啊,你看它断下来了,我给它取消掉,然后继续。续续之后,你看它第一个按钮的名字啊,就被修改了,修改成全是叉了啊,我们这个不够明显啊,刚才他断点了,我们重新来看一下,我们现在呢,第一个点击它是触发一个ma Bo,那我们现在点击第二个呢,你可以看到它第一个啊,它的标题就变变了啊,那这个就是它的一个作用,并且呢,我们也知道了怎么对这个按钮进行一个排版,比如说我现在呢,第二个按钮我在它底下,那第三个按钮呢,我就可以放在它这个右边啊,那我们再来一个按钮。我们给他来一个四零。好,然后我在这啊,我再来一个。都改成三。然后呢,我第三个按钮呢,我想在第一个按钮的右侧,那么它的这个Y轴呢,就不能是跟这个不一样啊,它们俩Y轴是要一致,这样呢才在同一个水平线上,然后呢,它要往右走啊,那我这个右走呢,首先呢,我们不能覆盖第一个按钮,那我们第一个按钮的宽度呢是100,也就是说呢,我第二个按钮起码要从100开始,但是如果我只是从100开始呢,我会和这个第一个按钮紧贴着,所以说呢,我们给它留一点缝啊,我给它设置一下它的X轴的起始位置呢,在这个啊,点错了啊这啊。
11:33
嗯,我咋把这个逗号删了呢五,呃不是500去了啊,这个105啊,然后我们重新生成啊,来看一下。嗯,哎,我我我我这报错了啊,我看一下什么东西。IDC button2啊,这忘改了,改成三。运行。好,你可以看到啊,它就出现在了我们第一个按钮的右侧啊,那这个东西呢,实际上而言呢,就完成了我们的一个排版的一个功能啊呃,然后呢,如果有需要这个工具源码啊,视频课,以往的往期的视频课,咱们可以通过这个公屏上小助理发送的这个号码啊,进入到我们的QQ群里啊好,然后呢,我们继续啊,继续我们这个呢,是基础的一个按钮的一个功能啊,然后我们接下来呢,我们再给他来讲一下啊,其他的一些按钮,那我们现在呢,最基本的最基本的就是这种按钮啊,就是我们这种按压式的啊,那还有什么呢?就比如说我单选按钮,那首先我先给大家创建一个单选按钮,让大家看一下单选按钮跟我们其他按钮有什么区别,然后它呢,也是需要有这个窗口句柄一会儿进行操作的啊,那我们这个就来定义一下啊,比如说我这是一个一啊,它叫什么呢?I Di IO啊这种类型的一个,呃,窗口啊,不是这个单选按钮啊,然后呢,我来给他再写IDC。
12:57
Rao BT t啊,然后EDD啊12141好,然后呢,现在呢,我给他声明完这两个东西之后呢,我就要来给他。
13:12
呃,我再给他来一个文本吧,这个文本让它不一样一点啊,如果都一样的话,可能看不太出来。好,然后我们来这边啊,来进行一个创建啊,基础部分还是没什么区别的啊,我这直接改一下就行。啊,然后呢,我们刚才也说了啊,它主要是一个风格的不同,那你像是这种单选按钮,那你在这风格里呢,就要添加一个单选的一个风格啊,那就是这个我们的这个BS啊,这个BS呢,其实就是这个style的一个一个意思啊,然后呢,我们用一个呃。
14:12
叫什么来着,Auto I啊,U t to啊,这样一的一个风格啊,一个自动的这个单选框,然后呢,我们后边呢,这块呢,我们ID要改一下啊,剩下的就没有什么要改的啊,然后一会儿说主群的情况下呢,我再说主群是一个怎么样的操作,好现在呢,我们给它重新生成。嗯。Button e。他这儿。啊,一比啊,今天不知道怎么了,今天老是犯一些奇怪的错误。好,那这个标题也要给它改掉啊,在这儿给他改一下标题啊,改name改成这个。重新生成。
15:00
运行。啊,位置忘变了,哎呀,今天咋的了,这是。嗯,我们这是第四个按钮,前三个按钮啊,它不是两,它现在只有两排啊,第二排是在55的位置,55再加上它零嘛,从零开始啊,那往底下排55再加上五,那就55就是110,那我再把它放在一百一的一个位置上啊,然后重新生成。运行。好,我们可以看到啊,这个就是一个啊,我们的单选框啊,这种圆点的可以点的这种啊,但是可以可以见得啊,它是稍微有点短的,那我们可以把它的这个长度呢,给它稍微有点变化啊嗯,我现在呢给它来。他这个刚才啊,大概有几个字给它遮挡住了,我们给它稍微拖长一点,比如说来个。这不对,这50是那个高度啊,那这个宽度啊,我们给他改一下,嗯,给他改个大概一百五应该差不多吧。
16:05
啊,够用了啊,看出还长出一段啊,这就是单选按钮啊,然后呢,我比如说我这个单选按钮,它只有一个,肯定就没有单选按钮的意义了,对不对,那我这肯定是多个啊单按钮对不对啊,有一排单选按钮这个样子,那我现在呢,要给他来再来几个排在一起。然后呢,我现在放一起了啊,这儿呢我也要啊,我这句句柄也每个我都需要啊,因为一会儿呢需要用到啊,我给他都写上。重新生成啊,然后呢,这边给他开始啊,复制两个。第二个和第三个啊,然后一共三个并排的我们想要的横向啊,所以说呢,我们需要给它改它的位置啊起始位置。
17:07
这块啊,也是二和三。那第一个它的横向位置,起始位置是一个零啊,那第二个呢,它的宽度150,那就是我起码第二个要在155的位置上,那155再加上155啊,那我这算不太明白,点上计算器了啊。一五加一三百一啊,我这个第三个按钮在三百一的一个位置上起始,好我重新生成啊,这忘ID忘改了,这有一个二一个三。好,现在你可以看到啊,我们就拥有了三个啊并排的什么呢?并排的这个按钮,那么这种情况下呢,你会发现啊,这个三个按钮啊,都是可以这个选的,但是只能选一个啊,只能选一个,为什么呢?因为它默认的情况下,它都是一组的,那比如说我想要前两个一组,后一个一组,那么这种情况下我如何去设置呢?啊,因为单选你肯定有多多个组的单选啊,比如说我上面有一组单选,底下有一组单选,那不能这样做,对不对,那我这儿啊,比如说我第11212个啊,那这个和第三个我是两个组,那我怎么办呢?那这里头呢,又扩展出一个这个样式啊,就是让他们形成一个组的这么一个样式。
18:29
呃,那么首先呢,我们要给它添加的一个叫WS啊G的这么一个风格啊,然后呢,我这个要给两个东西添加啊,就是一个是我们的第一个按钮,一个是我们的第三个按钮,然后我重新生成。嗯,我看一下啊WS。啊,这弄弄弄掉了一个N啊。重新生成。
19:02
失败我看一下啊。GROU。啊,这个N顶后边去。好成功了,然后我们运行。现在呢,我们来看啊,我们第一个第二个可以点第三个啊,你看可以同时点啊,看到没,这样呢,它就形成了两个组,这个为什么可以形成两个组呢?它就是因为我们刚才设置的这个风格,单选按钮的分组呢,就是通过这个风格来进行分割的啊,第一个就是第一个有WS啊组下一个啊,下一个拥有这个标签的这个按钮啊,才形成了另一组啊,所以说呢,我们就可以用它啊来进行分组,这是两组,那么我们讲完这个单选按钮如何去使用,以及如何去分组之后,我们还有一个问题,就是我们的单选按钮这个东西它是比较特殊的啊,你这个东西你点完之后啊,你一般情况下你不会直接让它产生效果啊,你像按压式这种,我直接弹个窗啥的都都是会产生这个功能回调的,但是我这。
20:24
这种单选按钮呢,它就不会产生这种东西啊,一般情况下,我们在选完之后呢,我们都会借用其他按钮的触发,或者说其他情景的触发,然后呢,去给它进行一个获取状态,然后进行设置,那我现在如何去获取它的一个状态呢?那比如说我以第一个按钮为例啊,如果它选中了啊,我按一下它怎么样,我没选中的时候,我按一下它怎么样啊,这个呢,怎么去获取呢?我们去用这个第三个按钮啊,来处理一下它的一个事件,那我现在呢,我用这个理一,然后调我这个send send,我首先一个引work,然后呢调用我的这个send message,首先第一个参数啊,上节课因为我们的消息呢,是直接发给主窗口,让他弹个窗的,但是这节课呢,我们不是直接发给主窗口,让他弹个窗,而是怎么样呢?而是要发给我们某一个按钮,来探测它到底是处于一个什么样的一个状态。
21:24
下,那比如说我们现在呢,要找的实际上是单选按钮的第一个啊,那我们就拿到它的返回的一个句柄啊,那放在这里啊,就是发送给这个按钮,然后呢,我们第二个呢,就是要干嘛呢,我们就要来呃。呃,第二个呢,就是一个这个消息啊,这个消息呢,我想一下啊,我们用什么消息啊,我记得是,哎,我稍我忽然一下懵住了啊,我回忆一下啊,这个应该是。嗯。啊对,获取状态应该是啊,应该是获取状态,我们用那个,嗯,哎不对,我们获取状态的话。
22:05
啊对,我们获取状态之后,直接拿它返回值嘛,那个我们用一个BM啊,也就是这个button,它里边有一个这个叫做获取状态的东西。S t get获取状态应该也没错啊,然后后边呢,我给它两个两个零就行了啊,然后呢,现在呢,它会把它的返回值呢放到这个ex里,所以说呢,我在这呢做一个判断啊,Ex如果说等于一啊,那么这就是说明它是被触发状态啊,它是被点击的状态的啊,如果不是那就不是啊,那我们给他啊,If n if啊中间如果它是一啊,我们就弹个啊,比如说我在哪找一个麦啊,在这有啊,我们直接拿过来,如果说它是被选中状态啊,就会弹窗,如果不是被选选中状态,它就啥也不弹啊,那我们来试一下。然后我们运行。我们点击我们的第三个按钮。
23:02
你看你看现在啥反应都没有啊,疯狂的点啥反应都没有,我把第一个单选框按上之后,我再点,你看它就弹出来了啊,说明我们成功的检测到啊,单选按钮哪一个被点了,哪个没有被点,那么这个呢,就是通过发送消息给我们某一个按钮来获取到的啊,那除了这种情况之外呢,我们还可以干嘛呢?我们还可以去设置它啊,相对相反的啊,就是我们现在呢,不是按了这个按钮之后呢,它是获取状态嘛,那实际上而言,它还有一个类似的功能,就是什么呢?就是设置状态啊,也是通过这个呃发过去的,这不是我们现在呢,直接发一个,那么这个呢,它呢,它的这个第三个参数啊,就需要进行一个设置啊,如果是一,就是给它设置成触发状态,如果是零就给是给它设置成非触发状态啊,那现在我们就让他实现一个点击的效果,我们来重新生成一下。好,我们运行。
24:02
运行之后啊,我们现在点击第三个按钮,你看啊,现在单循环是没有被点击的啊,我们再点诶。咋没效果呢,我看一下啊。BM设置状态应该是。等会儿啊,我说个零。啊,我我我我我用其他按钮试一下啊,我把第一个按钮给设置掉啊,我试一下啊,是不是单选按钮它有这个特殊性啊,我试一下。运行。现在啊,我按第三个按钮,第一个按钮会被点击啊,然后点啊果然没效果啊,那这个是我我应该是嗯,写错了,我想想啊,嗯。Send message,然后。啊,我传的是个IDC,他能有效果才有鬼呢,我这要给他传那个窗口句柄啊。
25:04
重新生成。运行。然后我点击,诶,你看他就被点了,能看到吗?他陷进去了啊,他陷进去了,他被点了,然后呢,我如果不明显,我再来一次啊。我点击这个,然后你看第一个就被点进去了,并且无法恢复啊,并且无法恢复啊,你可以看到啊,除非你再点一下它才能恢复啊,那我现在呢,那这个呢,我就来再试一下这个单选框啊,如果不行的情况下呢,那可能是这个消息对这个单选框它不起作用啊,那我们重新来试一下。点击啊,那可能是不选不起作用啊,它这没有反应好,那么我们接下来呢,还有一些其他的一些功能啊,我们单选框啊,已经可以获取状态了,那也就是说我们可以进行一些单选的统计了,那实际上而言呢,我们还有一些这个多选的统计,什么叫多选的统计呢?就是有很多情况下啊,我可能不是要你去进行一个单项选择,我可能是需要你进行一个多项选择,那么这个时候呢,就引入了我们一个叫做复选框的一个机制啊,就是那个小方框的一个框框的那个按钮啊好,那我们来给他声明几个。
26:20
嗯,叫什么玩意儿,那个take应该是啊,Take button。一。123好,然后呢,我的这个文本呢,也给他稍微改一下啊,改成这个我们的这个车boss。
27:24
好,然后呢,我们来进行创建啊,创建呢,它也是改风格啊,这这这这这边啊,然后呢,我们来对它的这个风格进行修改啊,那首先呢,我们复制一个东西过来啊,然后呢,把它里边的东西改成我们车boss的。E。然后它的标题。标题后边的ID。
28:03
好,然后呢,我们有了ID之后啊,这呢风格啊,这个呢,是我们的这个单选按钮,那我现在呢,把它这个凹凸这个啊,我给它改一下,改成这个check box。啊,就变成复选按钮了啊,那这个就不用群了啊,复选按钮是可以多选的,所以说无所谓,那么接下来呢,我们这是有这个X轴和Y轴的啊,那我们这个Y轴呢,肯定是要往下移了嘛,因为我们又要下一组这个按钮了,那我们第一个按钮上一个呢是110,那肯定是要加55的,就165。165啊,然后呢,这个位置呢,是应该是从零开始就可以了啊,这是第一个按钮,我重新生成,然后观察一下。可以看到啊,我们现在呢,就已经多出了这个复选框啊,你看到没这个啊,它就是一个方块型的一个复选框啊,这个呢就是多选的啊,那比如说我现在呢,可以就可以给他再来几个了啊,我们刚才一定一共搞了三个的啊,那我们现在给他搞三个。
29:16
嗯。嗯,然后呢,我们现在横着往后移啊,那我就要借助于我的这个X轴了啊,那第二个呢,就是155,第三个310啊,我们跟刚才的单选框是一样的,那我们重新生成来看一下。好,那我们你可以看到啊,这个就是多选框啊,多选框,那这个多选框的使用呢,其实呢,跟我们单选框是一样的啊,就是也是通过发消息获取状态的形式啊来判断啊,它到底有没有被点击啊,比如说我们可以做一个尝试,我们把刚才那个获取这个单选框的那个按钮的一个处理消息啊,我们得改掉,这不是点这个选择这个单选框嘛,我们把它改掉,把这个上面这个改成我们的这个多选框。
30:18
然后重新生成。运行啊,那首先呢,我们现在呢,不选择的情况下,我们点击啊,啥反应都没有,如果我们勾选上了,再点击它就会弹出窗啊,这个呢,就是同样的检测方式啊,那设置呢,应该是多选框,应该是可以设置的啊,我们来试一下啊,我们来发送这个设置的一个消息。好,然后重新生成。我们首先啊,我们点击啊,他没有反应啊,勾选一下再点击诶。不对,我应该直接点击就起反应。他对这种按钮不起效吗?这是我天。
31:03
这个boss设置一。诶,等会,难道是这个设置一不对啊,刚才那是选择好吧,那可能是不起效,然后呢,我们现在呢,就已经掌握了我们常规会用到的一种,呃三种啊,三种按钮分别是我们的这个按压式按钮啊,然后呢,单选按钮和多选按钮,以及他们的使用方式,如何去获取他们的状态,那么这些东西呢,我们在这个日常用到的时候呢,都非常多啊叭,如这个就是我们的常规按钮啊,这种按钮呢,基本上你到处都能见到,像我们这里边啊,也非常多啊,你像这种东西其实都是相当于我们这种常规按钮,那这种单选按钮呢,一般情况下呢,就相当于一种表单啊,这种框的这种多选按钮也相当于一种这个表单啊,比如说我现在呢,要这个做一个选择啊,我这个选择这个,呃,一些事项,比如说我这个有一个事情,我要选择一级的一二级的和一三级的,那这个单选框呢,我就可以做成这个11213,然后呢,只能选择一级啊,是其中一级啊,因为你不可能重新存在这两个。
32:06
三年机里对不对啊,那这就一级,然后呢,这个多选框呢,这个多选框是什么呢?比如说啊,选择你爱吃的食物啊,比如说这个什么汉堡啊,鸡腿啊,什么乱七八糟的东西,然后呢,你就可以多选啊,因为你吃的东西没有么必要限制,那么死嘛,这些都是应用场景啊,然后像这个按钮呢,就是还是其实使用的最长的呢,还是这个东西啊,那你像是这种东西呢,这种按钮呢,其实你在一些这个比如说是游戏的一些辅助工具里啊,它其实用的比较多啊,比如说我勾选啊,我这个多选框,我勾选有某一个功能啊,我这个透视啊,自瞄啊,乱七八糟的啊,我可以都给他勾上啊,然后勾一个就有一个功能,勾一个就有一个功能啊,但是那种的呢,实际上啊,就是在他在处理的时候,他发送消息的时候啊,不单是给他设置上的一个勾选啊,它是直接啊把这个点击消息也处理了,你点击的时候,他判断一下你是不是去勾了他,如果勾了它的情况下呢,你就直接开始产生一些功能啊,如果是没有的情况下,就是取消功能啊,那这个这个状态啊好,那这个呢,就是我们的三个这个按钮啊,那还有一些。
33:06
比较特殊的功能啊,比较特殊的功能,我们现在呢,这些呢,都是按钮的一些常规的一个使用啊,那么还有一些特殊的功能是什么呢?比如说我现在啊,我想让第一个按钮按不了啊,我想第一个按钮按不了,那其实呢这种呢,它就有两种实现方式,第一种就让这个按钮消失,第二种呢,就是让它彻底不能按啊,那如果让它消失怎么做呢?比如说我这个第二个按钮,我就让它做一个这么消失的一个功能啊,它实际是按钮三啊,那现在呢,我把这个这部分我给它注释掉啊。好,那我现在呢要按钮一啊消失啊,那这时候呢,我就调用in work。我要用一个叫什么呢?叫做这个秀handle啊,不是秀handle去了秀window啊。然后呢,首先呢,它第一个参数还是什么呢?还是你的这个句柄啊,比如说我现在呢要去操作八一,然后呢,下边呢,就是什么呢?就是你要进行动作SW啊,然后比如说我要隐藏起来就是一个hand啊,那我现在重新生成。
34:11
我点击你看它就没了啊,那比如说我把下边这个按钮做成恢复的这个按钮啊,它这不是这个设置文本吗?设置完文本之后啊,我这也调用一个in work哎,我也调用一个这个修文斗。然后呢,我给他进行一个恢复啊,SW秀啊,这就是恢复啊。好,比如说我现在呢,先点击它把它隐藏了啊,你看这块这个按钮就消失了,我再点击它啊,它就又回来了,并且标题也被骗了啊,这个就是它的一个功能啊,这是第一种实现啊,就是让他隐藏和这个恢复啊,那么还有一种情况下呢,就是我让你看得现,但是用不了啊,那是什么呢?我这儿啊,还是用这两个按钮做一个演示啊呃,首先呢,我在这个我的按钮三里头啊,给它用一个这个功能。
35:08
In work啊,然后是这个,呃。呃,然后是它其实就是一个对于这个窗口进行开关的一个管理啊,然后首先呢,我们还是要给它传一个句柄过去,那么第二个参数呢,是true和false,如果是false就是禁用,如果是处就是恢复啊,那我们先传一个false,然后呢,我们把同样的代码呢,放在我们的这个button特二里边啊,然后呢,给它里边呢,添加一个什么呢?添加一个触。好,那现在呢,我重新生成。运行啊,首先我现在点击我的这个按钮三,诶,你看第一个灰了啊,砸点点不动了,对不对啊,砸点点不动了,灰了啊,这就是其实就是一个窗口的一个禁用,然后呢,我再点一下这个按钮啊,你看它的变了,这个东西变了啊,标题变了,然后呢,还可以点击了啊,这个就是按钮的一个恢复啊,一个恢复啊,那以上呢,基本上就是咱们这个按钮啊,按钮功能的全部知识啊,那你像是这个还有一些对于按钮也相关的,但是其实跟按钮不是密相关的啊,现在咱们学习这些消息啊,函数啊,还有一些创建的功能啊之类的,都是在真正的去操作按钮,那还有一些呢,其实是比如说你去画一个按钮啊,这个其实那涉及的就是自绘的知识了,这是咱们后边讲啊,画个按钮啊,给按钮加背景啊,换个色啊,把改改字体啊之类的,这是咱们的后讲,因为现在你可以看到啊,咱们SDK原生创建窗口还是比较丑的啊,那么后续呢,可能会通过一些手段啊,给它做的好看一点,然后呢,这节课呢,内容就这么多啊,然。
36:47
然后你们有什么问题现在来问,如果没有问题的话,我就开始这个干别的了啊。
我来说两句