Option Explicit Private A As String, B As String, C As String Private T As String 'INI文件名字 Private Const INI_Name = "VRSW.INI" '对主窗口INITIALIZE读取信息 Public Function Main_Init() Dim x As Long, y As Long Dim XT As String, YT As String T = Space$(1000) '事先定义读取值的字串宽度 x = INI_Read("POSITON", "X") XT = Left$(T, Len(Trim$(T)) - 1) y = INI_Read("POSITON", "Y") YT = Left$(T, Len(Trim$(T)) - 1) If (x = 0 And y = 0) Then '初始化 MainFrm.Move Screen.Width - MainFrm.Width - 500, 500 Call INI_Write("POSITON", "X", Screen.Width - MainFrm.Width - 500) Call INI_Write("POSITON", "Y", 500) Call INI_Write("POSITON", "HEIGHT", 8310) Call INI_Write("POSITON", "WIDTH", 2070) Call INI_Write("SYSTEM", "DATA", Date$) Call INI_Write("SYSTEM", "TIME", Time$) Call INI_Write("INSTALINI", "PATH", App.Path) Call INI_Write("INSTALINI", "SN", App.Major & App.Minor) Call INI_Write("INSTALINI", "NAME", App.EXEName) Exit Function Else If (x And y) = 0 Then '对出错信息记录到文件中 MainFrm.Move Screen.Width - MainFrm.Width - 500, 500 Call INI_Error 'Call INI_Write Exit Function End If End If '初始值 MainFrm.Move XT, YT x = INI_Read("POSITON", "WIDTH") XT = Left$(T, Len(Trim$(T)) - 1) y = INI_Read("POSITON", "HEIGHT") YT = Left$(T, Len(Trim$(T)) - 1) MainFrm.Width = XT MainFrm.Height = YT End Function Public Function INI_Write(A, B, C) '写信息 '修改INI文件中TIP字段中START的值 '如果该文件不存在会自动建立,当函数返回值为0时说明修改不成功 Dim FLAGS As Long FLAGS = WritePrivateProfileString(A, B, C, App.Path & "/" & INI_Name) 'B = WritePrivateProfileString("SECEND", "DATA", Date$, App.Path & "/" & INI_Name) 'C = WritePrivateProfileString("THIRD", "NAME", "", App.Path & "/" & INI_Name) If FLAGS = 0 Then MsgBox ("写文件时出错") End Function Public Function INI_Read(A, B) As Long '读取信息返回GetPrivateProfileString函数的值并通过T返回字段的内容 '读取INI文件中 "TIP" 字段中 "START" 的值 '当函数返回值为0时说明读取数据出错 'A = GetPrivateProfileString("TIP", "START", "", T, 1000, App.Path & "/" & INI_Name) INI_Read = GetPrivateProfileString(A, B, "", T, 1000, App.Path & "/" & INI_Name) End Function Public Function INI_Error() 'Create File To LOG,等待完善! End Function '变成最上层窗体 Function AlwaysOnTop(Form_hWnd As Long, Flag As Boolean) As Boolean Const SWP_NOMOVE = 2 Const SWP_NOSIZE = 1 Const B_FLAGS = SWP_NOMOVE Or SWP_NOSIZE Const HWND_TOPMOST = -1 Const HWND_NOTOPMOST = -2 Dim i As Long If Flag Then i = SetWindowPos(Form_hWnd, HWND_TOPMOST, 0, 0, 0, 0, B_FLAGS) Else i = SetWindowPos(Form_hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, B_FLAGS) End If End Function '自动隐藏窗体函数 Public Sub QQHiden(Myform As Form) 'RECT ,POINTAPI 在module里定义 Dim MyRect As RECT, MyCur As POINTAPI Dim dl As Long On Error Resume Next dl = GetWindowRect(Myform.hWnd, MyRect) dl = GetCursorPos(MyCur) '如果鼠标在窗体上,并且窗体隐藏了,显示出来 If (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Top <= 0 Then Myform.Top = 0 Exit Sub End If '如果鼠标不在窗体上,并且窗体靠近了上方,隐藏窗体 If Not (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Top <= 0 Then Myform.Top = 0 - Myform.Height + 330 / 4 Exit Sub End If '如果窗体靠近左边屏幕,显示或隐藏窗体 If (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Left <= 0 Then Myform.Left = 0 Exit Sub End If If Not (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Left <= 0 Then Myform.Left = 0 - Myform.Width + 330 / 4 Exit Sub End If '如果窗体靠近右边屏幕,显示或隐藏窗体 If (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Left >= Screen.Width - Myform.Width Then Myform.Left = Screen.Width - Myform.Width Exit Sub End If If Not (PtInRect(MyRect, MyCur.x, MyCur.y)) And Myform.Left >= Screen.Width - Myform.Width Then Myform.Left = Screen.Width - 330 / 4 Exit Sub End If End Sub '获得当前鼠标位置的颜色信息 Public Function GetColorFromPoint(ByVal x As Integer, ByVal y As Integer) As Long Dim hWnd As Long Dim hDC As Long Dim rColor As Long Dim rDC As Long hWnd = GetDesktopWindow() hDC = GetWindowDC(hWnd) rColor = GetPixel(hDC, x, y) rDC = ReleaseDC(hWnd, hDC) GetColorFromPoint = rColor End Function
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
姓名变为拼音.bas WPS或Excel将姓名变为拼音 操作步骤 https://blog.csdn.net/SwTesting/article/details/111690318
PADS9.5用基本脚本导出坐标文件,但是出来的是BOM,没有坐标。 这是因为17 - Excel Part List Report.BAS脚本有问题,用这个替换就可以正常输出坐标
VB6自行编写的源代码,实现ModbusRTU协议四个字节整形 转换成浮点数据,也可以浮点数据转换为4字节整形,bas形式,用户可以直接在自己程序中调用。 Public Function MODBUSLongtoFloat32(input1 As String) As ...
EXCEL+BOM.BAS
3.在VBA编辑器中 通过菜单 文件=>导入文件 装入该.bas脚本,退出VBA编辑器, 4.在Word中按 Alt+F8 运行刚刚加载的脚本 可以看到对打开的文档的转化,然后将转化后的文本拷贝出来粘贴到 Wiki 系统中就好了。
'2011-2-8 '1.增加Gdi+1.1的函数,结构体,枚举和常数的声明 '2.增加GdipSetImageAttributesCachedBackground ' 和GdipTestControl函数声明 '3....'4....'5....'6.Enum ImageType -> Enum GdipImageType '7....
vb加载lua用的模块mdlLua.bas,从老外的一个VB游戏源码里面剥离出来的,欢迎大家使用。VB和lua交互可以用,目前做项目我正需要,所以就找到了这个模块,欢迎VB爱好者,我就是曾经的VB大牛 ,你懂的
用于wps , 图片过多 , 大小不一样,统一为一样大小。 同时有一些图片过大超出纸张的也能整理到纸张上
"空气物性计算加载宏-VBA.bas 直接导入Excel模板里,在Excel单元格里就可以直接调用函数进行计算了。 压力单位Pa,温度单位K,焓单位j/kg,比容单位m3/kg,密度单位kg/m3,熵单位j/kg.K,音速单位m/s,普朗特数没有...
`mGDIPlus.bas`是一个模块文件,包含了对GDI+ API的声明,方便VB程序调用。下面将详细阐述GDI+ API、字符串指针相关API、CLSID生成器相关API以及GDI+常量。 1. GDI+ API声明: GDI+ API是Windows操作系统提供的一...
标题中的"VB.rar_VB_dll卸载_mdlFakeBarCode.bas_vb dll"暗示了这是一个与Visual Basic(VB)编程相关的压缩包,涉及到DLL动态链接库的管理和一个名为mdlFakeBarCode.bas的源代码文件。DLL是Windows操作系统中用于...
标题中的"donkey.bas:吓坏了donkey.bas"似乎是一个编程相关的引用,可能是某个程序或脚本的名称,而"吓坏了"可能是指在运行或修改这个程序时遇到了问题,导致了一些意外的结果或者困难。结合标签"VBA"(Visual Basic...
操作Word.bas VB语言,操作word基本方法,打开、写入、读取的技术技巧。 张志晨奉献
Word 批量修改选中的图片大小,按页面设置边距充满页边距,打开vb编辑器,文件-导入即可,图片大小可自行修改,根据当前页面节自动处理
这个压缩包包含了三个函数声明库(Winsock-a.bas、Wsksock-b.bas、Winsock-c.bas)以及一个帮助文件(WINSOCK.HLP)和一个Readme.txt说明文件。这些资源为开发者提供了全面的高级编程调用,便于理解和实现复杂的网络...
逐行拼音.bas
清华转莱卡数据.bas
_modPrinter.bas:打印方面的模块 basApi.bas:简化了一些常用的API函数 basCVMK.bas:在VB中使用qbasic中的CVI,CVD,CVS等函数 basEquation.bas: clsEquation的错误定义 basFile.bas:文件系统相关操作 basGDI...