WINCE的控件背景透明、渐变的个人小结

     元旦到了,首先祝各位新年快乐!元旦前的这个星期学习的资料和小结,希望对大家有用。欢迎拍砖!

补上参考例子下载地址(forfree):http://hi.csdn.net/link.php?url=http://wo65432519.download.csdn.net


1.WinCE下的控件背景透明,说实在的,在Windows下面并不能实现真正的窗口透明,目前我们开发的应用程序都是采用将下一个窗口的DC先在当前窗口绘制一遍,实现透明按钮也是这个道理,其实都是伪透明,那么任何实现真正透明的窗口?这个问题我将继续思考,不知有谁能否解答^^

效果图:
 
 
   
参考例子:TransparentControlSample
ps:对于更炫的效果,如半透明之类的,可参考开源库
http://www.codeplex.com/alphamobilecontrols ,这个库里面主要利用这个API函数AlphaBlend(色彩、透明度的叠加达到半透明的Cool),具体用法可查MSDN,注意的是只有WinCE5.0和后续版本才支持。
参考例子:AlphaMobileControls
 
2.背景的渐变,这也是利用API函数---Gradientfill实现,用法可查MSDN,
很多PDA的功能导航界面都采用ListView+渐变背景填充达到美化的效果。
如下图:
 
参考例子:GradientFillDemo
 
   后话:网上看到有些牛人已实现了iPone的效果(下面有图),好像是用DirectDraw、GAPI、OpenGL等——这些更底层可直接操作显卡FrameBuffer的库。具体代码暂时没看到~~期待了!!!
 
iPhone的酷图:
  
      
 
 
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
WinCE5.0下实现透明背景按钮(.net C#) 需要在wince5.0下实现图形化界面,用于功能导航,用过GPS导航就知道了,类似的界面。众所周知gif,PNG等图片,都是可以实现透明背景的,在win下这应该不是个问题。但在ce5.0下,无论是透明背景的ICON、PNG、GIF都无法简单实现透明背景,alpha通道会丢失。网上搜索了些资料,当然也有办法解决,大家可以查一下,但性能较低。最终按微软SDK自带的一个计算器的源码思路解决了透明背景按钮问题。 要点: 1.如何画透明背景的BMP 2.如何画按钮并实现事件 思路及解决: 1.画按钮的思路:   ImageAttributes imageAttr=new ImageAttributes();   imageAttr.SetColorKey(Color.FromArgb(255, 0, 255),Color.FromArgb(255, 0, 255));   然后使用Graphics.DrawImage(,,,,,imageAttr)函数在指定的位置上画出透明的图片。   2. 事件驱动的思路: 事先定义好各按钮的指令   public enum Command { cmd1 = 0,//无操作 cmd2,//第一项操作 cmd3,//第二项操作 cmd4,//可自己扩展 max } 在创建按钮的同时明确以下几个参数 容器控件、资源存放的目录、X坐标、Y坐标、背景图片、按钮的标题、非激活时的文字颜色、激活时的文字颜色、触发的指令。创建窗口,针对窗体事件做如下定义 •在Form_Load时生成按钮, •在Form_OnPaint时使用按钮自身的Render函数根据自己状态(有没有被点中)重画, •在MouseDown时判断点击位置是否在某个按钮的内部,如果是在它内部就改变它的状态,设置状态的同时调用窗口控件的Graphics局部重画这个按钮,     •在Form_MouseUp时判断现在的位置是不是在按钮内部,如果按下了,抬起时又移出了范围则不处理。如果按下与抬起都是在同一个按钮的边界内部则执行这个按钮所设置的指令。 以下是我使用的资源,将作为按钮的图片需要透明的部分设置成RGB(255,0,255),那种非常刺眼的颜色。以下图片可以另存为BMP使用,设置的分辨是800*600的CE设备。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值