VB6.0代码实现将指定窗体移入另一指定窗体中
vba光标移动至控件并激活控件的语句-概述说明以及解释
vba光标移动至控件并激活控件的语句-概述说明以及解释1.引言1.1 概述概述部分的内容:在VBA编程中,控件的重要性无法忽视。
控件是用户界面的重要组成部分,它们允许用户与应用程序进行交互并提供了各种功能。
然而,控件的操作和管理并不总是容易的任务。
在设计和开发过程中,我们常常需要将光标移动到特定的控件上,并激活该控件以执行相应的操作。
光标在VBA中具有重要的作用。
它允许我们在用户界面上定位并选择特定的控件,以便与之进行交互。
通过正确地移动光标并激活控件,我们可以实现更高效、准确和用户友好的操作。
本文将介绍一些常用的VBA语句,这些语句可以使光标移动到控件所在的位置,并激活该控件。
通过使用这些语句,我们可以提高程序的交互性,使用户能够更方便地操作应用程序。
接下来,本文将详细介绍VBA中控件的重要性,以及光标在VBA中的作用。
然后,我们将重点讨论如何使用VBA语句将光标移动到控件上,并激活该控件的方法和技巧。
最后,我们将总结控件激活的重要性,并展望光标移动至控件的语句在未来的应用前景。
通过阅读本文,读者将能够了解VBA中控件的重要性,了解光标在VBA中的作用,并学习到如何使用VBA语句将光标移动至控件并激活该控件。
这将有助于读者提高程序的交互性,使用户体验更加友好和便捷。
1.2文章结构1.2 文章结构本文主要分为引言、正文和结论三个部分。
引言部分首先对本文的内容进行概述,介绍VBA中控件的重要性和光标的作用,并明确了本文的目的。
正文部分分为三个子节:VBA中控件的重要性、VBA中光标的作用,以及光标移动至控件并激活控件的语句。
在"VBA中控件的重要性"中,将详细说明控件在VBA中的作用和应用场景,以及控件在用户界面设计中的重要性;在"VBA中光标的作用"中,将探讨光标在VBA中的作用和使用方法,以及光标在用户交互中的重要性;在"光标移动至控件并激活控件的语句"中,将详细介绍如何使用VBA语句将光标移动至指定控件并激活该控件,以及示例代码和应用技巧。
VB6.0中的窗口控制全集
VB6.0中的窗口控制全集 22007-03-20 11:28:55| 分类:开发语言阅读376 评论0 字号:大中小订阅让窗口一直在上面很多流行软件都有这样一个选项:Always on Top。
它可以让窗口在最上面,别的窗口不能覆盖它。
我们在VB 中,可以使用下面的方法来实现:Private Const SWP_NOSIZE = &H1Private Const SWP_NOMOVE = &H2Private Const SWP_NOZORDER = &H4Private Const SWP_NOREDRAW = &H8Private Const SWP_NOACTIVATE = &H10Private Const SWP_FRAMECHANGED = &H20Private Const SWP_SHOWWINDOW = &H40Private Const SWP_NOCOPYBITS = &H80Private Const SWP_NOOWNERZORDER = &H200Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED Private Const SWP_NOREPOSITION =SWP_NOOWNERZORDERPrivate Const HWND_TOP = 0Private Const HWND_BOTTOM = 1Private Const HWND_TOPMOST = -1Private Const HWND_NOTOPMOST = -2Private 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 LongPrivate mbOnTop As BooleanPrivate Property Let OnTop (Setting As Boolean)if Setting ThenSetWindowPos hwnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEElseSetWindowPos hwnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZEEnd IfmbOnTop = SettingEnd PropertyPrivate Property Get OnTop() As Boolean'Return the private variable set in Property LetOnTop = mbOnTopEnd Property调用OnTop=True 即可让窗口Always On Top。
在VisualBasic中如何拖动窗体或控件_VB窗体文章_VB_编程开发_芯友网
在VisualBasic中如何拖动窗体或控件_VB窗体文章_VB_编程开发_芯友网摘要载入中…请稍等…内容载入中…请稍等…芯友首页应用软件编程开发网络硬件软件下载动漫音乐精美图库芯友论坛视频教程电脑技术QQ群:64090268站长视频:photoshop学友-站长发站长论坛位置:编程开发>VB> VB窗体文章在Visual Basic中如何拖动窗体或控件2009-3-12 9:36:01 来源:互联网--------------------------------------------------------------------------------·在Visual Basic中显示动态运行·在Delphi应用程序中拖动控件·制作可移动的窗体的MovePanel控件--------------------------------------------------------------------------------在Visual Basic中如何拖动窗体或控件现在的许多Windows下的应用程序,都采用了图形化的界面,例如:WINAMP等!这样做的好处是可以使程序界面更漂亮生动,更具吸引力。
但是在这样的界面下就不能使用Windows原来的标题条了,否则会影响界面的美观性。
那么在没有标题条的情况下如何用鼠标拖动窗体呢?或者拖动其它的控件呢?其实,采用API函数调用很容易实现,下面我们以拖动窗体(Form1)为例来具体讲一下实现方法:1.新建立一个项目,名称为:test.vbp.2. 填加一个模块,名称为:test.bas,并且在声明部分加入以下代码:Declare Function ReleaseCapture Lib "user32" () As LongDeclare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam AsAny) As LongPublic Const WM_SYSCOMMAND = &H112Public Const SC_MOVE = &HF012其中ReleaseCapture函数是用来释放鼠标捕获的,SendMessage函数是一个在WindowsAPI中非常重要的函数,在这里的作用是用来向Windows发送移动窗体的消息。
vb窗体向右移动的代码
vb窗体向右移动的代码
1.在窗体的属性中将“BorderStyle”设置为“None”,这样窗体的边框就不会挡住移动的过程。
2. 在窗体的“General”页签中找到“StartPosition”属性,将其设置为“Manual”,即手动指定窗体的起始位置。
3. 在窗体的“General”页签中找到“StartPosition”属性下方的“Left”和“Top”属性,将它们分别设置为窗体应该出现的左侧和顶部位置。
4. 在窗体的代码模块中添加以下代码:
Private Sub Form_Load()
Timer1.Interval = 10 ' 设置定时器的时间间隔为10毫秒
Timer1.Enabled = True ' 启动定时器
End Sub
Private Sub Timer1_Timer()
If Me.Left < Screen.Width - Me.Width Then ' 如果窗体还未移动到屏幕右侧
Me.Left = Me.Left + 20 ' 每次向右移动20个像素
Else ' 如果窗体已经移动到屏幕右侧
Timer1.Enabled = False ' 停止定时器
End If
End Sub
5. 运行程序,窗体就会向右移动。
如果想要修改移动速度,可
以调整定时器的时间间隔和每次移动的像素数。
vb.net:可根据窗体大小自动调整其中的控件的窗体,下一次打开时,可自动按照以前的位置和。。。
:可根据窗体⼤⼩⾃动调整其中的控件的窗体,下⼀次打开时,可⾃动按照以前的位置和。
本窗体的所有功能都写在这⾥,其他窗体如果想具有这项功能,不需要做任何变动,只需要继承这个窗体即可,⽐如:Partial Class _frmSuspiciousAlert_caseInherits AML._changableForm ' System.Windows.Forms.Form下⾯是窗体的代码'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 可根据窗体尺⼨⾃动调整其中的控件⼤⼩的窗体Public Class _changableFormInherits Form ' 继承⾃正常的窗体#Region "记录及设置窗体上的控件⼤⼩"' 字典:各个控件及其位置和⼤⼩信息Private dic_controlXY As Dictionary(Of Control, String) = New Dictionary(Of Control, String)' 获取各个控件的 left、top、width、height、字体⼤⼩的值Private Sub getControlsSize(cons As Control)' 遍历窗体中的控件For Each con As Control In cons.Controls'Console.WriteLine(" ----------- " + )' 记下这个控件的左距、上距、宽度、⾼度、字体⼤⼩'con.Tag = con.Width & ":" & con.Height & ":" & con.Left & ":" & con.Top & ":" & con.Font.SizeDim _value As String = con.Left & ":" & con.Top & ":" & con.Width & ":" & con.Height & ":" & con.Font.SizeIf dic_controlXY.ContainsKey(con) Thendic_controlXY(con) = _valueElsedic_controlXY.Add(con, _value)End If'Console.WriteLine( con.Tag )'Console.WriteLine(" con.Controls.Count = " + con.Controls.Count)If con.Controls.Count > 0 Then ' 如果这个控件内部还有其它控件getControlsSize(con) ' 递归调⽤End IfNextEnd Sub''' 根据窗体的新的⼤⼩调整各个控件的⼤⼩Private Sub setControlsSize(newx As Single, newy As Single, cons As Control)' 遍历窗体中的控件,重新设置控件的值For Each con As Control In cons.Controls'Console.WriteLine( & "---" & con.Tag.ToString)'Console.WriteLine(" setControls " + )If dic_controlXY.ContainsKey(con) = False Then ' 如果字典中没有这个控件Continue For ' 跳过去End If'Dim mytag As String() = con.Tag.ToString().Split(":") '获取控件的Tag属性值,并分割后存储字符串数组Dim mytag As String() = dic_controlXY(con).Split(":") '获取控件的Tag属性值,并分割后存储字符串数组Dim a As Single = Convert.ToSingle(mytag(0)) * newx '根据窗体缩放⽐例确定控件的值,宽度con.Left = CInt(a) '左边缘距离'Console.WriteLine(" con.Width = " + con.Width )a = Convert.ToSingle(mytag(1)) * newycon.Top = CInt(a) ' 上边缘距离'Console.WriteLine(" con.Height = " + con.Height )a = Convert.ToSingle(mytag(2)) * newxcon.Width = CInt(a) '宽度'Console.WriteLine(" con.Left = " + con.Left)a = Convert.ToSingle(mytag(3)) * newycon.Height = CInt(a) '⾼度'Console.WriteLine(" con.Top = " + con.Top )Dim fontSize As Single = Convert.ToSingle(mytag(4)) * newy '字体⼤⼩con.Font = New Font(, fontSize, con.Font.Style, con.Font.Unit)If con.Controls.Count > 0 Then ' 如果本控件内部还有其它控件setControlsSize(newx, newy, con) ' 则进⾏嵌套处理End IfNextEnd Sub#End RegionDim timer1 As Timer ' 定时器,⽤于在窗体加载成功以后调⽤相关功能Private Sub timer1_Tick()timer1.Enabled = Falsexyz_read() ' 读取尺⼨位置信息,并照此进⾏设置Me.WindowState = FormWindowState.Normal ' 注意,必须将 FormWindowState设置为Normal,上⾯的设置⽅可⽣效 ' MessageBox.Show("timer1_Tick")End Sub' 在⿏标拖动变化之前,本窗体的⼤⼩Private formLastX As SinglePrivate formLastY As SinglePrivate Sub _changableForm_Load(sender As Object, e As EventArgs) Handles Me.Load' MaximizeBox = False ' 最⼤化按钮不可⽤;' 原因:点击最⼤化按钮,窗体最⼤化,但不会激发Resize动作,所以已经缩⼩的控件不会随窗体⽽放⼤,⽐较难看 ' 有待解决:窗体最⼤化的事件,该如何捕捉?'AddHandler Me.ResizeEnd, AddressOf Form1_Resize ' 窗体调整⼤⼩时引发事件' 注意,不要⽤上⾯,因为窗体的最⼤化⽆法激发ResizeEnd,但可以激发下⾯的 Resize'AddHandler Me.Resize, AddressOf _changableForm_Resize ' 窗体调整⼤⼩时引发事件formLastX = Me.Width '获取窗体的宽度formLastY = Me.Height '获取窗体的⾼度getControlsSize(Me) '调⽤⽅法,将每个控件的尺⼨、位置都标记下来,作为以后随窗体⽽变化的基础timer1 = New Timertimer1.Interval = 500 '5000 ‘ 执⾏时间timer1.Enabled = True ' 定时器开始执⾏AddHandler timer1.Tick, AddressOf timer1_Tick ' 引发事件End SubPrivate Sub InitializeComponent()Me.SuspendLayout()''_changableForm'Me.ClientSize = New Size(284, 261) = "_changableForm"Me.ResumeLayout(False)End Sub' 当窗体的⼤⼩被改变时,获取其宽度和⾼度被改变的⽐例,按照新的⽐例调整各个控件的⼤⼩和位置Private Sub _changableForm_Resize(sender As Object, e As EventArgs) Handles Me.Resize ' MyBase.ResizeDim newx As Single = Convert.ToSingle(Me.Width / formLastX) ' 窗体宽度缩放⽐例Dim newy As Single = Convert.ToSingle(Me.Height / formLastY) ' 窗体⾼度缩放⽐例setControlsSize(newx, newy, Me) '随窗体⼤⼩改变控件⼤⼩' this.Text = this.Width.ToString() + " " + this.Height.ToString()'窗体标题栏⽂本xyz_write() ' 当尺⼨变化时,记录下来当时的窗体⼤⼩及位置End SubPrivate filePath As String ' = Application.StartupPath & "\config\xyz"Private filePathName As String ' = filePath & "\\" & .ToString & ".txt"Private Sub xyz_read() ' 读取⽂本⽂件中窗体的位置及⼤⼩信息,然后照此设置Dim filePath As String = Application.StartupPath & "\config\xyz"Dim filePathName As String = filePath & "\\" & .ToString & ".txt"If IO.File.Exists(filePathName) = False Then ' 如果这个⽂件不存在Return ' 退出End IfDim reader As IO.TextReader = IO.File.OpenText(filePathName) ' 打开⽂件Dim line As String = reader.ReadLine() '读第⼀⾏reader.Close()'MessageBox.Show(line, "xyz_read() 读取⽂件")Dim ss As String() = line.Split(",")Me.Left = CInt(ss(0))Me.Top = CInt(ss(1))Me.Width = CInt(ss(2))Me.Height = CInt(ss(3))' 上⾯下⾯,效果⼀样' SetBounds(CInt(ss(0)), CInt(ss(1)), CInt(ss(2)), CInt(ss(3)))End Sub' 把当前窗体的⼤⼩及位置信息写到⽂本⽂件中Private Sub xyz_write()' 刚开始时(根据timer判断)If IsNothing(timer1) OrElse timer1.Enabled ThenReturn ' 退出End IffilePath = Application.StartupPath & "\config\xyz"If IO.File.Exists(filePath) = False Then ' 如果这个⽂件夹不存在IO.Directory.CreateDirectory(filePath) ' 新建这个⽂件夹End IffilePathName = filePath & "\\" & .ToString & ".txt" ' ⽂件名,即窗体的名称' 写⼊⽇志⽂件'Dim t As IO.StreamWriter = New IO.StreamWriter(PathUserData, True, System.Text.Encoding.UTF8)Dim t As IO.StreamWriter = New IO.StreamWriter(filePathName, False, System.Text.Encoding.UTF8)Dim strWrite As String = Me.Left & "," & Me.Top & "," & Me.Width & "," & Me.Heightt.WriteLine(strWrite)t.Close()End Sub' 当窗体的位置及⼤⼩变化时,记录下来Private Sub _changableForm_LocationChanged(sender As Object, e As EventArgs) Handles Me.LocationChanged ', Me.Resize 'MyBase.LocationChanged' 奇怪,不能同时 handle Me.Resize,否则界⾯不正常xyz_write()End SubEnd Class。
VB6.0教程
首先说明一下“工程”的概念。VB把一 个应用程序称为一个工程(Project),而一 个工程又是各种类型的文件的集合,这些文件 包括工程文件(.vbp)、窗体文件(.frm)、 标准模块文件(.bas)、类模块文件(.cls)、 资源文件(.res)、ActiveX 文档(.dob)、 ActiveX 控件(.ocx)、用户控件文件(.ctl)、 属性页文件(.pag)。
“标准”工具栏各按钮的作用如图所示。
二.其他窗口
1.窗体窗口
“窗体窗口”也称为“对象窗口”,
主要用来在窗体上设计应用程序的界面, 用户可以在窗体上添加控件来创建所希
望的界面外观。例如,当新建一个工程
时,VB自动建立一个新窗体,并命名为 Form1,如图所示。
2.代码(code)窗口
双击窗体或窗体上的 控件就可以弹出代码窗口。代 码窗口是专门用来进行程序设 计的窗口,可在其中显示和编 辑程序代码(如图1-11所示)。 也可以通过点击菜单栏上的 【视图】—>【代码窗口】, 调出代码窗口。 代码窗口标题栏下面 有两个下拉列表框,左边是 “对象”下拉列表框,可以选 择不同的对象名称;右边是 “过程”下拉列表框,可以选 择不同的事件过程名称,还可 以选择用户自定义过程的名称。
1.3 Visual Basic 6.0集成开发环境 1.3.1窗口介绍
vb6什么代码可以用鼠标移动无标题栏的窗体
vb6什么代码可以用鼠标移动无标题栏的窗体悬赏分:50 - 解决时间:2007-9-4 15:23vb6中用什么代码可以做出移动没有标题栏的窗体移动来?谢谢问题补充:.按dos62 你的回复,成功了,但是在任务栏上也没有窗口显示了,怎么避免这个问题?谢谢s_b_w,如果将窗体的BorderStyle属性应该为2 ,那么标题栏怎么去掉呢?我不想要标题栏和边框.提问者:waaoo - 助理二级最佳答案在设计阶段,将窗体的BorderStyle设置为0,ShowInTaskbar设置为True就可以了。
移动窗体的代码如下:Dim MoveScreen As BooleanDim MousX As IntegerDim MousY As IntegerDim CurrX As IntegerDim CurrY As IntegerPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenMoveScreen = TrueMousX = XMousY = YEnd IfEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If MoveScreen ThenCurrX = Form1.Left - MousX + XCurrY = Form1.Top - MousY + YForm1.Move CurrX, CurrYEnd IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) MoveScreen = FalseEnd Sub回答者:小_埃-试用期一级9-3 22:46我来评论>>提问者对于答案的评价:谢谢几位的回复评价已经被关闭目前有 2 个人评价好 100% (2)不好0% (0)相关内容 • 在VB6中怎样可以向标题栏中添加按钮?• 请教各位高手VB6使用中的几个问题:• 如何用VB6把ACCESS 数据库导出成EXCEL 表• [急]无法改主页• 家里的主页被恶意修改更多关于怎么样用鼠标移动窗体的问题>>查看同主题问题:代码 鼠标 标题栏 窗体其他回答 共 2 条'---------------------------------------------' 移动无标题栏窗体的例子'---------------------------------------------' 洪恩在线 求知无限'---------------------------------------------'程序说明:'本例演示了怎样移动无标题栏的窗体的方法,程序中涉'及到MouseDown 、MouseMove 、MouseUp 三个鼠标事件的'使用,我们可以从中学习到它们的用法。
vb-窗口控制
vb-窗⼝控制定义模块Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long'在窗⼝中建⽴⼀timer(时间控制器),然后在代码窗⼝输⼊如下代码:Private Sub Form_Load()Timer1.Interval = 500End Sub时间控制器的代码如下:Private Sub Timer1_Timer()Dim hwnd As Longhwnd = FindWindow(vbNullString, "计算器") '抓取"计算器"这个窗⼝名称.If (hwnd = 0) ThenIf MsgBox("你没有打开[计算器]程序!点击“确定”退出。
点“取消”继续。
", 49, "错误!") = 1 Then EndElseIf (hwnd <> 0) ThenMsgBox "你已经打开了[计算器]程序.点“确定”退出本程序", , "退出"EndEnd IfEnd Sub模拟键盘事件2.以下为模拟键盘事件.⽐如模拟"r"键.----------------------------------------------------------------------------------------------------------------------------'在模块中定义Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)在窗⼝中建⽴⼀timer.时间间隔随意.只要不是0就可以了哦.呵呵.Private Sub Timer1_Timer()Call keybd_event(82, 0, 0, 0) '模拟按下"R"键End Sub快捷键例⼦3.以下为快捷键例⼦.⽐如按下"ctrl+A"就退出!'可以设置Form的KeyPreview属性为True,然后在Form_KeyDown事件中添加代码:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = Asc("A") And Shift = vbCtrlMask Then unload me '如果ctrl+A键被按下就退出End Sub例⼆:在Form中加⼊Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As IntegerPrivate Function MyHotKey(vKeyCode) As BooleanMyHotKey = (GetAsyncKeyState(vKeyCode) < 0)End Function'然后在循环中或Timer的Timer事件中检测:Private Sub Timer1_Timer()If MyHotKey(vbKeyA) And vbKeyControl Then 'ctrl+AEnd '关闭End If'其中vbkeyA是键盘″A″的常数,其他键可按F1查得。
VB6.0如何复制窗体?
步骤③:在你的原工程导入已存在的窗体文件即可。
有些时候因为一些特殊的要求我们需要一个一模一样的窗体但是苦逼地发现vb并没有提供复制窗体的功能那就我们自己来实现吧
VB6.0如何复制窗体?
·VB6.0如何复制窗体?
有些时候因为一些特殊的要求,我们需要一个一模一样的窗体,但是苦逼程树状栏右击需要复制的窗体,选择“***.frm另存为”("***"为当前窗体名称),把他另存为一个窗体
【VB】SetWindowPos改变窗口位置,样式
【VB】SetWindowPos改变窗口位置,样式【转】【VB】SetWindowPos改变窗口位置,样式2011-12-16 18:56转载自 aboutvb最终编辑 aboutvbSetWindowPos 改变窗口位置、样式、尺寸函数功能详解函数原型: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 LongBOOL SetWindowPos(HWND hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags);函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z 序。
子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。
参数:hWnd:窗口句柄。
hWndlnsertAfter:在z序中的位于被置位的窗口前的窗口句柄。
该参数必须为一个窗口句柄,或下列值之一:HWND_BOTTOM:将窗口置于Z序的底部。
如果参数hWnd标识了一个顶层窗口,则窗口失去顶级位置,并且被置在其他窗口的底部。
HWND_NOTOPMOST:将窗口置于所有非顶层窗口之上(即在所有顶层窗口之后)。
如果窗口已经是非顶层窗口则该标志不起作用。
HWND_TOP:将窗口置于Z序的顶部。
HWND_TOPMOST:将窗口置于所有非顶层窗口之上。
即使窗口未被激活窗口也将保持顶级位置。
查看该参数的使用方法,请看说明部分。
x:以客户坐标指定窗口新位置的左边界。
VB程序设计试题及答案(一)
VB程序设计试题及答案(一)一、单选题1. VB6.0是一种面向 B 的编程环境。
(A)机器(B)对象(C)过程(D) 应用2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下 D 语句是正确的。
(A) Forml。
Caption=“欢迎使用VB”(B) Forml。
Caption='欢迎使用VB’(C) Forml.Caption=欢迎使用VB(D)Forml.Caption=”欢迎使用VB”3。
若要使命令按钮不可操作,要对 A 属性进行设置。
(A)EnabIed (B)Visible(C)Backcolor (D)Caption4。
如果在窗体上已经创建了一个文本框对象TextI,可以通过 C 事件获得输入键值的ASCII码。
(A)Change (B)LostFocus(C) KeyPress (D)GotFocus5。
下面 A 是合法的变量名。
(A)X_yz (B)123ab。
(C) integer (D)X-Y6. 以下关系表达式中,其值为False的是 A 。
(A) "ABC">"AbC”(B)"女"〉"男”(C)”BASIC”=UCase("basic)(D) ”123”<”23”7。
为了给x、y、z三个变量赋初值1,下面正确的赋值语句是 A .(A) x=1:y=1:z=1 (B) x=1,y=1,z=1(C)x=y=z=1 (D)xyz=18。
VB提供了结构化程序设计的三种基本结构,三种基本结构是 D 。
(A)递归结构、选择结构、循环结构(B)选择结构、过程结构、顺序结构(C)过程结构、输入输出结构、转向结构(D)选择结构、循环结构、顺序结构9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。
(A)If sex="男" And age=4O And InStr(duty,"教授")〉O Then n=n+l (B) If sex=”男" And age=4O And (duty=”教授” Or duty="副教授") Then n=n+l(C)If sex=”男” And age=4O And Right(duty,2)="教授" Then n=n+l (D)If sex="男" And age=4O And duty="教授" And duty=”副教授” Then n=n+l10.下列关于Do…Loop循环结构执行循环次数的描述正确的是 D 。
如何利用VBA控制窗口在不同的工作表间切换
如何利用VBA控制窗口在不同的工作表间切换或许你看过不同的VBA程序的运行,对于窗口的切换一定印象深刻。
在程序运行时,根据不同的需求,窗口在不同的工作表间自由的切换,可以先从一个工作表取值,放到第二个工作表中,再从其他的工作表中取出参数并参与运算,运算得出结果,放到一个单独的工作表中,看的人眼花缭乱。
这种运算是VBA所特有的。
虽然在运行时会产生很多的碎片,影响时间的利用,但对于单纯的运算来讲,还是节约了时间,最主要的是提高了数据的准确性和可信度。
在羡慕别人的同时,是否也希望自己能做出这样的程序呢?当然,对于每位学习VBA的朋友来说,这是很自然的事情,学以致用,利用自己的所学。
从VBA入手点滴的积累,总会有所收获,正如你经常来我这个平台,福不唐捐,总会能碰到你急于掌握的知识一样。
前些时有位朋友留言,说是帮了他大忙,但我确实不知道这位朋友的大忙是什么,也并非给这位朋友定制的,总是机缘吧。
闲话少叙,其实这个实现起来很简单的,今天就给大家讲解一下利用VBA如何控制窗口的切换。
我们先看下面的代码:11 Dim AppPATH12 AppPATH = ActiveWorkbook.Path13 ChDir AppPATH14 Workbooks.Open FileName:=AppPATH & '\XX.XLS' '打开文件15 Sheets('SHEET1').Select1617 Do While .Cells(I, 1).Value <> ''18-90 '提取数据'91 I = I 192 Loop9394 ActiveWindow.Close (False) '关闭文件9596 Windows('LUMAN').Activate9798 Sheets('SHEET1').Select99-199 '执行操作200201 Sheets('SHEET2').Select201-230 '执行操作231232 MsgBox ('ok!')233程序讲解,上面的代码是一个名为LUMAN.xls的EXCEL的VBA 部分代码,当执行到第11行时,程序会识别一下路径,进而打开一个在同文件夹下名字为XX的文件。
vb6.0中DataGrid控件的使用
vb6.0中DataGrid控件的使用vb6.0中DataGrid控件的使用/doc/1312377568.html,/ivu890103@1 26/blog/static/117734463201122782022384/DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。
可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意 DataGrid 控件与 Visual Basic 5.0中的 DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持 DBGrid 的“解除绑定模式”概念。
DBGrid 控件包括在 Visual Basic 的 Tools 目录中。
可能的用法查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用 DataGrid 控件的设计时特性可以不编写任何代码,只通过使用 DataGrid 控件的设计时特性来创建一个数据库应用程序。
下面的说明概要地说明了在实现DataGrid 控件的典型应用时的一般步骤。
完整的循序渐进的指示,请参阅主题“DataGrid方案1: 使用DataGrid 控件创建一个简单数据库应用程序”。
请教,如何使用VBA将一个工作簿...
请教,如何使用VBA将一个工作簿...请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!还没有人帮忙吗?那我就来试试吧。
不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊在这里,我假设有两个excel档案是在同一个资料夹里的,一个为1.xlsx,另一个为2.xlsx(这里有必要说明一下,我用的是excel2007版的)那么假设1.xlsx里的sheet1中的A1和C2单元格是我们所要赋值的源单元格,我们想要将它们分别赋值给2.xlsx中的B1,B2单元格,那么可以在1.xlsx用vba程式码,具体做法如下:(1)将1.xlsx开启,然后同时按下Alt+F11,开启visual basic 编辑器(2)选择选单上的“插入”下的“模组”,出现一个空白视窗后,贴上以下程式码:Sub test()Dim r1 As RangeDim r2 As RangeDim w As WorkbookThisWorkbook.ActivateSet r1 = ThisWorkbook.Sheets(1).[a1]Set r2 = ThisWorkbook.Sheets(1).[c2]Set w = Workbooks.Open(ThisWorkbook.Path & "\2.xlsx")w.Sheets(1).[b1] = r1w.Sheets(1).[b2] = r2SendKeys "~"w.Savew.CloseEnd Sub(3)回到excel视窗,按下Alt+F8,选中“test”,然后点执行就可以了。
以下是补充说明的几点:(1)这只是一个例子,可能与楼主的要求符(2)我用的是excel2007版的,程式码可能有些不相容(3)在执行程式码的过程中,2.xlsx这个档案的开启及关闭过程是看不到的,楼主可以在执行程式码前和执行程式码后对比一下差别。
[VB学习]VB6.0中怎么复制、移动文件?
[VB学习]VB6.0中怎么复制、移动文件?转自:[url]/question/10741489.html[/url]有两种方法可以实现,第一使用API函数代码如下:Option Explicit'声明移动文件的API函数Private Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As LongPrivate Sub Command1_Click()Dim str1 As String'存放原始路径Dim str2 As String'要复制的路径str1 = "c:\123\"str2 = "c:\456\123.exe"str1 = str1 + "123.exe"'倘若原始文件不存在If Dir(str1) = "" ThenMsgBox "原始文件未找到!", vbOKOnly + vbExclamationExit SubEnd If'移动文件MoveFile str1, str2MsgBox "文件移动成功!", vbOKOnly + vbInformationEnd Sub首先你要先在c盘下面建立123和456这两个文件。
++++++++++++++++++++++++++++++++=第二种方法,使用VB自身的函数实现,代码稍有变动,具体如下:Option ExplicitPrivate Sub Command1_Click()Dim str1 As String'存放原始路径Dim str2 As String'要复制的路径str1 = "c:\123\"str2 = "c:\456\123.exe"str1 = str1 + "123.exe"'倘若原始文件不存在If Dir(str1) = "" ThenMsgBox "原始文件未找到!", vbOKOnly + vbExclamation Exit SubEnd IfFileCopy str1, str2 'FileCopy是复制文件的函数Kill str1 '复制好了,删除原始文件!MsgBox "文件移动成功!", vbOKOnly + vbInformation End Sub。
VB6.0实现将窗体最小化到托盘区
VB6.0实现将窗体最小化到托盘区1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False2、菜单:工程--添加模块按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas3、在Module1中写下如下代码:Option ExplicitPublic Const MAX_TOOLTIP As Integer = 64Public Const NIF_ICON = &H2Public Const NIF_MESSAGE = &H1Public Const NIF_TIP = &H4Public Const NIM_ADD = &H0Public Const NIM_DELETE = &H2Public Const WM_MOUSEMOVE = &H200Public Const WM_LBUTTONDOWN = &H201Public Const WM_LBUTTONUP = &H202Public Const WM_LBUTTONDBLCLK = &H203Public Const WM_RBUTTONDOWN = &H204Public Const WM_RBUTTONUP = &H205Public Const WM_RBUTTONDBLCLK = &H206Public Const SW_RESTORE = 9Public Const SW_HIDE = 0Public nfIconData As NOTIFYICONDATAPublic Type NOTIFYICONDATAcbSize As LonghWnd As LonguID As LonguFlags As LonguCallbackMessage As LonghIcon As LongszTip As String * MAX_TOOLTIPEnd TypePublic Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As LongPublic Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long'4、在Form1的Load事件中写下如下代码:Private Sub Form_Load()'以下把程序放入System Tray====================================Syst em Tray BeginWith nfIconData.hWnd = Me.hWnd.uID = Me.Icon.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP.uCallbackMessage = WM_MOUSEMOVE.hIcon = Me.Icon.Handle'定义鼠标移动到托盘上时显示的Tip.szTip = App.Title + "(版本 " & App.Major & "." & App.Minor & "." & App.Revision & ")" & vbNullChar.cbSize = Len(nfIconData)End WithCall Shell_NotifyIcon(NIM_ADD, nfIconData)'====================================== =======================System Tray End Me.HideEnd Sub'5、在Form1的QueryUnload事件中写入如下代码:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)Call Shell_NotifyIcon(NIM_DELETE, nfIconData)End Sub'6、在Form1的MouseMove事件中写下如下代码:Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim lMsg As SinglelMsg = X / Screen.TwipsPerPixelXSelect Case lMsgCase WM_LBUTTONUP'MsgBox "请用鼠标右键点击图标!", vbInformation, "实时播音专家"'单击左键,显示窗体ShowWindow Me.hWnd, SW_RESTORE'下面两句的目的是把窗口显示在窗口最顶层'Me.Show'Me.SetFocus'' Case WM_RBUTTONUP'' PopupMenu MenuTray '如果是在系统Tray图标上点右键,则弹出菜单MenuTray'' Case WM_MOUSEMOVE'' Case WM_LBUTTONDOWN'' Case WM_LBUTTONDBLCLK'' Case WM_RBUTTONDOWN'' Case WM_RBUTTONDBLCLK'' Case ElseEnd SelectEnd Sub7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。
VB鼠标的左键拖动控件到窗体的任意位置-文档资料
二级VB程序设计教程
第十章 键盘与鼠标事件过程
Private Sub Text1_KeyPress (KeyAscii As Integer) KeyAscii = Asc(Ucase(Chr(KeyAscii))) End Sub
二级VB程序设计教程
第十章 键盘与鼠标事件过程
第二节 KeyDown和KeyUP事件
二级VB程序设计教程
第十章 键盘与鼠标事件过程
能响应KeyPress事件的控件有:窗体、复选框、组 合框、命令按钮、列表框、图片框、文本框、滚动条及 与文件有关的控件。 要用法如:对输入的信息进行合法性检测,前面讲
过的口令文本框中只允许输入数字字符,输入其它字符
则响呤,并取消输入的字符。又如小写换大写。 例如,如果希望将文本框中的所有字符都强制转换 为大写字符,则可在输入时使用此事件转换大小写:
件。
二级VB程序设计教程
第十章 键盘与鼠标事件过程
在用键盘输入的场合,如在文本框中输入信息, KeyPress 事件常用于判断按了什么键,当在键盘上按键 时将触发该事件。 每按一次键,拥有输入焦点的控件都会发生这个事
件,可以用其检测如输入密码时字符的合法性等。
某一时刻,只有一个控件拥有输入焦点,如果窗体 上没有活动的或可见的控件,则输入焦点位于窗体上。
二级VB程序设计教程
第十章 键盘与鼠标事件过程
1、Keycode 返回的是用户所按键的ASC码;大小写字母用同一 个按键,其ASC码为大写字母的ASC码;单键双字符键 中,返回的是其下档字符的ASC码。另外,大键盘上的
数字键与小键盘上的数字键不同。
如按下“A”、“a”则返回的Keycode均为65(即 &H41)。
vb6.0 unloadmode 参数
vb6.0 unloadmode 参数在VB6.0中,UnloadMode参数用于指定关闭窗体时的操作方式。
它是一个可选参数,可以在Unload语句中使用。
UnloadMode参数的取值可以是以下之一:
* 0:默认值,表示关闭窗体时,不保存窗体的状态。
下次打开窗体时,窗体的状态将不会保留。
* 1:表示关闭窗体时,保存窗体的状态。
下次打开窗体时,窗体的状态将保持不变。
* 2:表示关闭窗体时,不保存窗体的状态,并且不允许再次打开该窗体。
下面是一个示例Unload语句,演示如何使用UnloadMode参数:
Unload Me, UnloadMode:=1
上述代码将关闭当前窗体,并保存窗体的状态,以便下次打开窗体时能够恢复之前的窗口布局和数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Handle = FindWindow(vbNullString, "要被移入的窗体标题名称") '可手工输入,也可通过程序获取后调用
nStyle = WS_Visible Or WS_Caption Or WS_CLIPSIBLINGS '窗体风格样式
Ret = SetWindowLong(Handle, GWL_STYLE, nStyle)
本段VB6.0代码可以实现将指定窗体移入另一指定窗体中
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,
'但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个)
'返回值Long,前一个父窗口的句柄
'hWndChild Long,子窗口的句柄
'hWndNewParent Long,hWndChild的新父
'可用这个函数在运行期将vb控件置入容器控件内部(比如将一个按钮设成图象或窗体控件的子窗口),或者将控件从一个容器控件移至另一个。控件移至另一个父后,它的位置
'将由新父的坐标系统决定。这样一来,有必要重新规定控件的位置,使其能在目标位置显示出来
SetParent Handle, Me.hwnd '插入指定的窗体,可以是窗体、frame、picture等
End Sub
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'在窗口结构中为指定的窗口设置信息
'返回值Long,指定数据的前一个值
'hwnd Long,欲为其取得信息的窗口的句柄
'nIndex Long,请参考GetWindowLong函数的nIndex参数的说明
'dwNewLong Long,由nIndex指定的窗口信息的新值
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
'获得前台窗口的句柄。这里的“前台窗口”是指前台应用程序的活动窗口
'返回值Long,前台窗口的句柄
'windows nt支持多个桌面,它们相互间是独立的。每个桌面都有自己的前台窗口
Байду номын сангаас
Private Sub Form_Load()
Dim Handle As Long, Ret As Long, nStyle As Long '获取窗体句柄
Const GWL_STYLE = (-16)
Const WS_CLIPSIBLINGS = &H4000000 '显示菜单项
Const WS_Child = &H40000000 '视频窗口是子窗口,位于应用程序主窗口内。否则是独立的窗口
Const WS_Visible = &H10000000 '视频窗口可见
Const WS_Caption = &HC00000 '视频窗口有标题栏
Const WS_ThickFrame = &H40000 '视频窗口有边框