| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4208 人关注过本帖
标题:Wince嵌入式开发时,C#怎么绘制圆角的控件?
只看楼主 加入收藏
showey
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2011-4-9
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:13 
Wince嵌入式开发时,C#怎么绘制圆角的控件?
想把控件做下美化,可是智能设备中很多方法都没了,不能够实现!!调用WinApi的CreateRoundRectRgn函数,缺出现找不到该函数,无语了!!请问除了用图片来做,还有其他更好的方法没??
搜索更多相关主题的帖子: 嵌入式 
2011-04-23 17:25
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:20 

 我从 opennetcf库里抠了个 opennetcf.drawing出来。
可以绘制圆角了。  
opennetcf.drawing 传附件了,
图片附件: 游客没有浏览图片的权限,请 登录注册


OpenNETCF.Drawing.rar (116.05 KB)


实例代码:
程序代码:
using System;
using System.Drawing;
using System.Windows.Forms;
using OpenNETCF.Drawing;

namespace SmartButton
{
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 控件重绘
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            e.Graphics.Clear(Color.Transparent);

            IntPtr hdc = e.Graphics.GetHdc();
            GraphicsEx gx = GraphicsEx.FromHdc(hdc);
            PenEx p=new PenEx(Color.Black);
            gx.DrawRoundRectangle(p, this.ClientRectangle, new Size(10, 10));

        }
        /// <summary>
        /// 将控件背景设置为透明( System.Drawing.Color.Transparent;)
        /// 需要重写这个方法,但不用做任何事,防止控件闪烁
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPaintBackground(PaintEventArgs e)
        {

        }
    }
}

QQ:491697374  Mail:vxbb@
2011-04-26 11:23
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:0 
这个opennetcf.drawing提供的方法还是不够用。
另一个OpenNETCF.GDIPlus 提供方法较多
但是报bug o(╯□╰)o    谁还有WM的GDI+库共享下

QQ:491697374  Mail:vxbb@
2011-04-26 11:26
showey
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2011-4-9
收藏
得分:0 
回复 2楼 vxbb
请问下,那要是想在该控件中添加图片,该怎么做让那个图片能够也成圆角啊
2011-04-28 15:37
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:0 
回复 4楼 showey

你研究下 OpenNETCF.GDIPlus吧。
里面提供了GraphicsPath 。

Using GDI+ on Windows Mobile
http://www.

GDIPlusCF.zip (110.83 KB)


[ 本帖最后由 vxbb 于 2011-4-28 23:26 编辑 ]

QQ:491697374  Mail:vxbb@
2011-04-28 23:21
showey
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2011-4-9
收藏
得分:0 
回复 5楼 vxbb
悲剧了!!转换不了,我打不开那个程序,版本转换失败
2011-04-30 09:24
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:0 
回复 6楼 showey
...
这个是我用的vs2008编译过的。

OpenNETCF.GDIPlus.rar (748.78 KB)

QQ:491697374  Mail:vxbb@
2011-04-30 10:09
showey
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2011-4-9
收藏
得分:0 
我的开发环境是wince 用的是.NET2.0 现在出现了个问题 就是 找不到gdiplus动态库,程序运行不了!!要去下载一个吗?
2011-04-30 13:45
vxbb
Rank: 6Rank: 6
等 级:侠之大者
帖 子:163
专家分:440
注 册:2008-8-18
收藏
得分:0 
回复 8楼 showey
添加引用OpenNETCF.GDIPlus.dll
然后加一句  using OpenNETCF.GDIPlus;


QQ:491697374  Mail:vxbb@
2011-04-30 14:30
showey
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2011-4-9
收藏
得分:0 
谢谢你啦,这么热心的帮我!!!
2011-04-30 16:00
快速回复:Wince嵌入式开发时,C#怎么绘制圆角的控件?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021283 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved