社区
界面
帖子详情
如何实现异形控件?
BenKwan
2006-10-31 02:02:08
要根据一些不规则的图片作出一些异形的控件,搜索过!但是对“掩模”不太清楚!如果获得图片的有效点击区域!使用一个矩阵还是???会的朋友,高手指导指导!
...全文
243
5
打赏
收藏
如何实现异形控件?
要根据一些不规则的图片作出一些异形的控件,搜索过!但是对“掩模”不太清楚!如果获得图片的有效点击区域!使用一个矩阵还是???会的朋友,高手指导指导!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BenKwan
2006-11-02
打赏
举报
回复
楼上的用的是自己指定的热点区域吗?
AIRFLYNET
2006-10-31
打赏
举报
回复
CreatePolygonRgn
The CreatePolygonRgn function creates a polygonal region.
HRGN CreatePolygonRgn(
CONST POINT *lppt, // array of points
int cPoints, // number of points in array
int fnPolyFillMode // polygon-filling mode
);
BenKwan
2006-10-31
打赏
举报
回复
控制只有mask里面那部分的区域可相应事件是代码是哪?
新手!不太熟!
BenKwan
2006-10-31
打赏
举报
回复
虽然还未怎么看懂先手下!!THANKS!
happyness44
2006-10-31
打赏
举报
回复
void CMyWnd::Display(CDC *pDC, UINT nMaskId)
{
// 获得窗体矩形
CRect rectWnd;
this->GetWindowRect(rectWnd);
// 读取位图资源
CBitmap myBitmap,*pOldBitmap;
myBitmap.LoadBitmap(nMaskId);
// 创建"内存一致"设备
CDC memDC;
memDC.CreateCompatibleDC(pDC);
// 选择绘图设备
pOldBitmap = memDC.SelectObject(&myBitmap);
// 创建窗体的初始区域
CRgn rgnWnd,rgnTemp;
rgnWnd.CreateRectRgn(0,0,rectWnd.Width(),rectWnd.Height());
int nWidth,nHeight;
COLORREF color;
for (nWidth = 0;nWidth <= rectWnd.Width()-1;nWidth++)
{
for (nHeight = 0;nHeight <= rectWnd.Height();nHeight++)
{
color = memDC.GetPixel(nWidth,nHeight);
// 当象素是白色时,去掉该点
if (color == RGB(255,255,255))
{
rgnTemp.CreateRectRgn(nWidth,nHeight,nWidth+1,nHeight+1);
rgnWnd.CombineRgn(&rgnWnd,&rgnTemp,RGN_XOR);
rgnTemp.DeleteObject();
}
}
}
memDC.SelectObject(pOldBitmap);
SetWindowRgn((HRGN)rgnWnd,FALSE);
}
C# WinForm制作
异形
窗体与
控件
的方法
本文实例讲述了C# WinForm制作
异形
窗体与
控件
的方法。分享给大家供大家参考,具体如下: 制作
异形
窗体或
控件
的思路一般都是想办法生成一个region,然后设置给指定的窗口或
控件
。生成region的方法有很多,最常用的就是从一幅图片生成,把该图片中的透明色部分“抠”掉,剩下的部分作为一个region。设置窗口或
控件
的region可以用SetWindowRgn API,不过.NET framework封装了这个操作,在C#中只要对窗口或
控件
的Region属性赋值就可以了。下面我就把我在C#中
实现
异形
窗体的核心代码贴出来给大家看看,有什么意见尽管提,别客气哦 首先,是一个根据Bitmap对象生成
VB
异形
窗口(调用API)
本例中用设定透明色以达到
异形
窗口的目的。form1展示的是
异形
窗口,form2展示的是各个
控件
“悬空”的效果。
qt5.1
实现
的
异形
按钮(适应图片的形状)
qt5.1开发环境,
实现
了按钮的形状根据图片的外观来展示,美观很多。
不用代码
实现
异形
窗口
不用代码
实现
窗体和图像的双重透明,从而达到制作
异形
窗口的目的,解决了大多数人想轻松拥有
异形
窗口的梦想.注:只测试了2000与XP系统 如果其它系统也能支持,请留言
MFC皮肤增强类(窗口、按钮、进度条、静态
控件
等)
可以
实现
异形
的窗口,
异形
的按钮,带图片的窗口和按钮。还有数型
控件
的常用参数设置举例。 带颜色的静态文字
控件
,带文字的进度条。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章