转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
从VB 6到VB.NET——窗体特殊应用         ★★★★

从VB 6到VB.NET——窗体特殊应用

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3626 更新时间:2009/4/23 19:01:50
            ''''定义内矩形的左上角坐标

            Dim RectTop As Integer = 100

            ''''在窗体上绘制一个大椭圆,左上角的坐标取为(0,0)

            Graphics.AddEllipse(0, 0, intWidth, intHeight)

            ''''再绘制一个小矩形

            Dim AddRect As New Rectangle(RectTop, RectTop, intHeight - (RectTop * 2), intHeight - (RectTop * 2))

            Graphics.AddRectangle(AddRect)

            ''''设置窗口的可见区域

            Me.Region = New Region(Graphics)

        Else

            Me.Region = Nothing

        End If

        IsNormalRegion = Not IsNormalRegion

End Sub

程序运行的结果如下:

2、             使窗体在其他所有窗体之上(Allway On Top)

VB6中实现(借助API函数SetWindowPos)

    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _

                ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _

                ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

---- hWnd变元是窗口的句柄;x,y是窗口的左上角的坐标;cx、cy是窗口宽度和高度;hWndInsertAfter变元是窗口清单中hWnd窗口前面的窗口句柄,有四个可选值:
序号 可 选 值 作 用
1 HWND_BOTTOM 把窗口放在窗口清单的底部
2 HWND_TOP 把窗口放在窗口清单的字符顺序的顶部
3 HWND_TOPMOST 把窗口放在窗口清单的顶部
4 HWND_NOTOPMOST 把窗口放在窗口清单的顶部,最上层窗口之下
---- WFlags变元为整型值,有八个可选值:
序号 可 选 值 作用
1 SWP_DRAWFRAME 在窗口周围画一个方框
2 SWP_HIDEWINDOW 隐藏窗口
3 SWP_NOACTIVATE 不激活窗口
4 SWP_NOMOVE 保持窗口当前位置
5 SWP_NOREDRAW 窗口不自动重画
6 SWP_NOSIZE 保持窗口当前尺寸
7 SWP_NOZORDER 保持窗口在窗口清单中的当前位置
8 SWP_SHOWWINDOW 显示窗口

    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _

                    ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _

                    ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    Private Const SWP_NOMOVE = 2

    Private Const SWP_NOSIZE = 1

    Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE

    Private Const HWND_TOPMOST = -1

    Private Const HWND_NOTOPMOST = -2

 

    Private Sub Command1_Click()

        ''''把窗体放在最前面:

        res% = SetWindowPos(Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

    End Sub

 

    Private Sub Command2_Click()

        ''''使窗体恢复普通模式:

        res% = SetWindowPos(Form1.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)

    End Sub

 

 

在VB.NET中,太简单了!系统为窗体提供了TopMost属性,我们将TopMost属性设置为True,就实现了Allways On Top 的功能,要取消此功能,设置为False即可。

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.TopMost = True

End Sub

 

3、             窗体透明度渐变效果

我们还是来看一下在VB6中的实现,VB6中实现(借助API函数SetLayeredWindowAttributes)

  使用这个函数,可以轻松的控制窗体的透明度。按照微软的要求,透明窗体在创建时应使用WS_EX_LAYERED参数(用CreateWindowEx),或者在创建后设置该参数(用SetWindowLong),我选用后者。

SetLayeredWindowAt

上一页  [1] [2] [3] [4] [5]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台