Microwindow系列(3)--开发

Microwindow系列(三--开发

好好从例程看起吧,能给你很多提示, microwindow API的没nano-X的多,但已经差不多了,网上也会有搜到一些例子。例程源码在demos/mwin目录下,make后的可执行文件在bin下,中间文件在obj中,编写自己的UI程序时,要注意编译时的诸多选项,可以通过make时的日志记录来了解。其实大多都是config里的配置。同时要包含一些头文件:windows.h, wintern.h, device.h , wintools.h等,它们位于include目录下

例程主要是看程序的结构层次;还有包括窗口在内的各种控件的创建、使用及销毁方法。Microwindow API极其类似win32 API,消息的实现机制从表象上看也几乎没区别。Microwin API控件源码主要在mwin/winlib目录里,还有一些包含在mwin/目录下,winevent.c winuser.c主要是窗口消息机制的实现,以及窗口操作的实现;wingdi.c包含了底层一些绘图函数的实现。更底层的在engineer目录下,最底层的在driver里。

窗口及控件:

窗口与控件的实现,例程里很容易看明白。

控件是一种特殊的窗口,有默认的消息处理函数,你也可以自己定义控件的消息处理函数,用SetWindowLong函数改变消息处理函数地址到自定义处理函数地址。不过记得要回到默认的消息处理函数地址时需再设置回来。有些控件的实现并不是很完整的,需要自己去更改mwin目录下源码。

中文字体:

Microwindow支持中文字体,字库在font/chinese目录下,包括点阵字体和矢量字体。

对于字体的绘图文件在engine目录中。

       显示Bmp:

       对于bmp的支持,需要先将bmp文件转化为对应的.c文件,比如对源码make后,mwin/bmp下的bmp文件就通过convbmp转化为obj/mwin/bmp下的对应名称.c文件了,.c文件里面存放的是imagebit, 有图片内存镜像的首地址,使用时

extern MWIMAGEHDR XXXX一下利用DrawDIB函数去画就OK啦。所有的绘制工作都需要hdc的支持。

       显示Jpeg:

       GdDrawImageFromFile函数支持从存储器设备加载并绘制jpeg图片,参数可设置,如果是nano-X, 改用GrDrawImageFromFile函数去绘制;绘制前MwPrepareDChdc;即重置一下hdc,以使绘制得到刷新。使用此函数需要libjpeg库的支持。

       以上三种功能需要在config中配置好相关的支持选项。

 

//注:Microwindow网站: www.microwindow.org

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值