Vb.net/VB 声明API功能父窗口功能

     回想第一次敲房费,他说自己是api函数实现父窗口及其子窗口最小化的功能。现在再次遇到,自己就在思考,能不能继续使用API函数呢?答案当然是Of Course!

事实上细致看两者并没有多大的差别,先看看在vb.net中怎样调用:

首先加入一个类模块。来封装此API函数:

<span style="font-size:14px;"> Public Declare Function SetParent Lib "<span style="color:#ff0000;">user32</span>" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer</span>

然后在窗口中直接调用就可以满足自己想要的需求

<span style="font-size:14px;">SetParent(FrmRegisterCard.Handle.ToInt<span style="color:#ff0000;">32</span>, Me.Handle.ToInt<span style="color:#ff0000;">32</span>)</span>

然后把父窗口的windowState属性改为Maximized。

实现的终于效果就是,单击其他得窗口,此窗口会默认最小化到父窗口的左下角。如图:


注:尽管实现了其想要的功能,但自我感觉窗口的大小也要更加子窗口来自我改动一下:

             <span style="font-size:14px;">FrmRegisterCard.Width = Me.ClientRectangle.Width - 800
        FrmRegisterCard.Height = Me.ClientRectangle.Height - 200
        SetParent(FrmRegisterCard.Handle.ToInt32, Me.Handle.ToInt32)
        FrmRegisterCard.Show()</span>
下边来谈谈与VB的API函数声明的差别:

1、当中最基本的一个差别就是在vb中定义的数据类型是long。而在vb.net中则使用Integer来代替long,由于在vb.net中Integer类型是32位的,和long类型一样。

2、要注意使用ByVal和ByRef

  • ByVal是传递值,源数据不会被改动,能够把这个值当做自己的局部变量来使用;(传递參数内存给被调用者)
  • ByRef是传递地址,源数据可能被改动。(传递參数地址给被调用者)

3、在主窗口调用API函数的时候要注意“Handel.ToInt32”的使用,他等同于vb调用过程中的.hwnd

H:handle;Wnd:变量对象描写叙述,也就所谓窗口。所以Handel.ToInt32所谓窗口句柄意思。


这只是他们自己的理解。穿API了解这里放,要学会再次发挥的一项基本权利!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我会用中文回复这篇博客:http://blog.csdn.net/vbcom/article/details/7245186。 这篇博客主要介绍了如何在C#中使用Win32 API来实现窗口的拖动和缩放功能。作者首先介绍了Win32 API的概念和作用,然后详细讲解了如何使用API函数来获取窗口的句柄、移动窗口、改变窗口大小等操作。最后,作者还提供了完整的示例代码,方便读者学习和实践。 总的来说,这篇博客对于想要深入了解C#和Win32 API的开发者来说是一篇非常有价值的文章。通过学习这篇博客,读者可以了解到如何使用API函数来实现一些高级的窗口操作,从而提高自己的编程技能。 ### 回答2: 该文章是一篇讲解机器学习基础的入门级文章。文章首先介绍了机器学习的概念和分类,分别包括有监督学习、无监督学习、半监督学习和强化学习。其中,有监督学习的应用最为广泛,无监督学习是指从数据中学习模型并发现数据的结构,半监督学习是指利用已有标注数据再进行学习提高分类效果,强化学习则是指学习如何做出一系列行动并获得奖励,从而最大化总体奖励的过程。 接着,文章介绍了机器学习中的建模过程,包括数据的准备、选择合适的模型、模型训练和评估。数据准备主要包括数据清洗、数据预处理和特征选择等步骤;选择合适的模型可以根据不同的应用场景和问题来选择;模型训练则是利用训练集训练模型;模型评估则是根据测试集的表现来评估模型的好坏。 最后,文章介绍了机器学习的一些应用领域,包括自然语言处理、计算机视觉、医疗诊断和金融风控等。这些领域都是机器学习所涵盖的应用领域,其中,自然语言处理主要应用于机器翻译、语音识别等,计算机视觉主要应用于图像分类、目标检测等,医疗诊断主要应用于医学影像分析和病理检测,金融风控主要应用于个人信用评估和反欺诈等方面。 总的来说,该文章讲述了机器学习的基础知识,包括概念、分类、建模过程和应用领域等方面,对初学者来说是一篇很好的入门级文章。 ### 回答3: 这篇文章主要讲了作者在学习Cocos2d-x游戏引擎时的一些心得和体会。作者首先介绍了游戏引擎的概念,游戏引擎是一个游戏开发中很重要的组成部分,能够大大减少游戏开发时间和精力成本。然后作者介绍了Cocos2d-x的一些特性,Cocos2d-x是一个轻量级的游戏引擎,使用C++语言开发,提供了丰富的API,可以方便地创建2D游戏。 接着,作者介绍了创建一个Cocos2d-x项目的流程,首先在终端中使用命令行工具创建一个空项目,然后在Xcode或Android Studio中导入该项目。作者还介绍了Cocos2d-x的基本框架,包括场景(Scene)、层(Layer)、精灵(Sprite)等,不同的框架可以组合使用,实现不同的游戏功能。 在讲解完Cocos2d-x基本框架后,作者详细介绍了游戏开发中的一些常用功能,如图片和动画的加载与显示、碰撞检测、音效的播放等。并给出了一些实例代码进行说明,让读者更好的理解和掌握。 最后,作者总结了自己在学习Cocos2d-x过程中遇到的一些问题和解决方法,如调试技巧、错误处理等。并鼓励读者多花时间去了解和尝试Cocos2d-x,因为这是一个非常实用的工具。 总之,这篇文章是一个很好的介绍Cocos2d-x游戏引擎的文章,对于刚接触这个引擎的人来说,是一个很好的指导。文章内容详细,实用性很强,读者可以通过实例代码和作者的经验总结更好的掌握该引擎的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值