WinCE下模拟电视音量/亮度菜单框架开发完成

首先描述一下功能:完全模拟电视,3个按键,1个功能选择,剩下的两个进行值的加或减,指定时间无操作则自动消失。最初的想法是在Shell上绘图,这样最直接,但是最大的问题是如何擦除,可行的方法是进行屏幕刷新,但是我试了好几次都不行,于是换成了现在的方案:把所有的显示都用窗体模拟,开发流程如下:

1、从EVC中抓取SDK程序的代码,放到驱动中。

之所以这么做,是因为驱动中无法使用MFC,PC平台的SDK代码无法兼容CE,这样做是最科学的。

2、修改窗口样式

主要有3:无边框、任务栏无显示、背景色设置。其中比较麻烦的是任务栏无显示的设置, 需要在WM_CREATE事件中操作SetWindowLong,不然没有效果。

3、将窗口创建线程化。

因为不多线程的话就会导致驱动的阻塞,就无法响应别的事件了。因此这里是最重要的,由于是C不是C++,不能OO,比较麻烦,我直接分了9个线程,一个窗口对应一个,这样方便控制,然后设置一个全局的HWND[9],用来进行线程的控制。

4、加入Timer操作

TV的菜单都是自动消失的,所以这里设置一个全局的倒计时变量,然后添加WM_TIMER事件。

5、流程实现

这里是最麻烦的,多个线程,还有若干全局变量,还要考虑中断问题。

调试最麻烦了,编译1次得20分钟。Anyway,I do it。现在,已经完全模拟成功,只差添加声音和亮度控制的代码了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值