如何创建[圆角、边框色彩渐变、边框宽度自定义]窗体

先让大家看一下我要实现的窗体效果:

该窗体的背景色、圆角半径(下面代码中将圆角半径等于边框宽度,此为为般化处理,参考者可视具体需要而对代码略作修改,使二者具有不同的值,以获得不同的效果)由用户根据需要改变。上、左边框的色彩为白色(其实为DrawEdge过程中colTopLef决定,可设为其他值)到窗体背景色的渐变,下、右边框的色彩为RGB(132, 132, 132)(其实为DrawEdge过程中colBottomRight所决定,也可设为其他值)到窗体背景色的渐变。
 

要实现该效果,你的窗体(对任拥有hWnd属性的对象,也一样实用)应作如下设置:
1——BorderStyle=0,
2——ScaleMode=3 (所有GDI类API使用的长度单位都为Pixel,对应于该项的设置)。
3——AutoRedraw=True
主要使用了三个过程:
WindowShape ——'重塑窗体轮廓,入口函数,调用后两个函数
MakeRoundCorner——圆角
DrawEdge ——画外框
以下代码为要实现特效的窗体中的代码:
===============================================================
Private Sub Form_Load()
'调用入口函数实现效果
WindowShape hwnd, hdc, BackColor, ScaleWidth + 1, ScaleHeight + 1, 10
'将窗体置顶,
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
===============================================================
以下为具体实现代码,可置于一个module中:
===============================================================
Option Explicit
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long

时间: 2024-09-18 06:58:58

如何创建[圆角、边框色彩渐变、边框宽度自定义]窗体的相关文章

Swift开发在UIView上绘制矩形(直角,圆角,带边框)

当系统要显示一个视图(UIView)时,它会向视图发送drawRect(rect:)消息.所以,如果我们需要在视图上进行绘制,则可以在drawRect方法内部实现.   1,用纯色填充的矩形 下面创建一个长宽都为100的矩形UIView,坐标(50,50).其内部使用绿色填充. 开发在UIView上绘制矩形(直角,圆角,带边框)-swift uiview 圆角">    代码如下 复制代码 import UIKit   class ViewController: UIViewControl

CSS创建圆角框

我们接下来会创建一个xHTML页面,内含两个分别被ID为fixedBox与FlowBox的DIV所包含的两个内容区域,分别为固定宽度与不固定宽度的两个DIV,现在我们来为这两个DIV加上圆角. 我们所使用的理论是:在为元素添加背景时,背景图片总是显示在背景色之上:要创建单色的圆角矩形框,我们可以先创建一个正常的矩形框,然后,使用与背景色一致的圆角图片来做为这个元素的四圆角背景,就可以组成一个圆角框了.下面分两种情况-固定大小的框与流式不固定大小的框再详细说明方法. 为固定大小的框添加圆角 第一步

WPF换肤之一:创建圆角窗体

原文:WPF换肤之一:创建圆角窗体     我们都期望自己的软件能够有一套看上去很吸引人眼球的外衣,使得别人看上去既专业又有美感.这个系列就带领着大家一步一步的讲解如何设计出一套自己的WPF的窗体皮肤,如果文中有任何错误或者不足,还请指出.     WPF是微软大战略中的一个重心所在,学习WPF可谓是一举多得:首先,学习WPF可以让你了解SilverLight的80%:其次,XAML语言可以让你快速的入手WCF和WF:更甚者,就是WPF给予DX渲染核心,抛弃了传统WINFORM以GDI+为主的渲

VC创建圆角dialog的实现方法_C 语言

本文实例讲述了VC创建圆角dialog的实现方法.分享给大家供大家参考,具体如下: 我们有时候需要圆角的对话框,要实现这样的效果,一般包括两步工作,第一步:将原有对话框的直角裁剪掉,第二步:为对话框画上圆角或者为对话框贴上一个圆角的图片. 第一步:我们在OnCreate函数中来实现,代码量也不多. int CTestDialog::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) ==

为Access2007创建一个应用程序级的自定义Ribbon

为Access2007创建一个应用程序级的自定义Ribbon (一) 创建一个Access2007应用程序级的自定义Ribbon 1.开启Access2007,打开一个已存在的数据库或创建一个新数据库. 2.单击"Office按钮",单击"Access选项",然后单击"高级"选项卡. 3.在"常规"部分,选择选项"显示加载项用户接口错误"(在不同的应用程序中,该选项可能在不同的位置). 4.单击"

android layout-在android中怎么创建圆角的文本框?

问题描述 在android中怎么创建圆角的文本框? 有没有人能告诉我怎么样能够设置像下边图一样的圆角编辑框? 解决方案 你需要两个shape绘制文件 对于顶部的EditText,调用这个,top_edittext_bg: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"

vb 控制excel表格边框,边框样式未声明

问题描述 vb 控制excel表格边框,边框样式未声明 With workSheet .Range(.Cells(1, 10), .Cells(2, 12)).Borders(XlBordersIndex.xlEdgeTop).LineStyle= xlContinuous End With vb 提示 xlContinuous未声明,这要如何改

swing-Swing panel怎么去设置边框及边框颜色?

问题描述 Swing panel怎么去设置边框及边框颜色? java 中的Swing panel怎么去设置边框及边框颜色? 解决方案 设置边框颜色设置panel和TextField的边框样式 解决方案二: 边框设置方法setBorder(BorderFactory.createLineBorder(Color.red));//设置面板边框颜色

美图秀秀怎么制作文字边框 文字边框制作教程分享

给各位美图秀秀软件的使用者们来详细的解析分享一下文字边框的制作教程. 教程分享: 效果图   1.在"美图秀秀"中打开照片.适当调高亮度.对比度以及色彩饱和度,并使用透明度为50%的"粉红佳人"特效,让照片色调鲜亮起来.   使用粉红佳人特效 2.点击"美容" "磨皮祛痘",先使用一次"轻度磨皮"降除噪点,再调节磨皮画笔的力度和大小,对照片背景进行虚化处理,以此突出人物.   人像美容-磨皮祛痘 3.点击&