VB常用小知识点总结 C与VB

习惯了用C语言,偶尔用VB写个串口上位机程序,发现好多不习惯。所以,把用到了的知识点总结下。
1. 定义数组
与C不同,VB定义数组时是使用的数组元素的上限
Dim Packet(8) As Byte
表示定义了一个9个元素的数组,数组元素从packet(0) 到 packet(8)
2.把byte数据以hex方式显示
str = str + Hex(indata(i)) + ” ”
3.表示hex数据
Packet(0) = &HAA
4.整除与取余
Packet(7) = crc \ 256 ‘取高字节
Packet(8) = crc Mod 256 ‘取低字节
5.数字不足位数时在前面补零
方法1.
Format(Hex(indata(i)), “00”)
方法2.
String(2 – Len(Hex(indata(i))), “0”) & Hex(indata(i))
6.把数字表示为十六进制字符
Hex$(Val(Text3.Text))
例如Text3.Text = 200,则Text3.Text 是一个string 类型”200”
Val(Text3.Text) 为200,是double类型数据
Hex$(Val(Text3.Text)) 为 “C8” 是一个string类型。
7.全局变量的初始化
全局变量的初始化应该放到窗体是LOAD事件中,不能向C语言一样在文件开始初始化,否则VB会报“无效的外部过程”错误。
8.文本框获取焦点方法
Text1.SetFocus
9.窗体实现固定大小、可最小化、不可以最大化
方法一:设置窗体属性
BorderStyle 属性设置为 1,
MinButton 属性设置为 True
即可实现窗体高宽不可变,最大化按钮不可用,最小化按钮有效。
方法二:调用API
模块代码
掉用方法 call FrmStyle(Me.hwnd)
Private Declare Function SetWindowLong Lib “User32” Alias “SetWindowLongA” (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib “User32” Alias “GetWindowLongA” (ByVal Hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_SYSMENU = &H80000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_CAPTION = &HC00000
Private Const GWL_STYLE = (-16)
Public Sub FrmStyle(ByVal Hwnd As Long)
Dim l As Long
l = GetWindowLong(Hwnd, GWL_STYLE)
l = l And Not WS_SYSMENU
l = l And Not WS_MAXIMIZEBOX
l = l And Not WS_MINIMIZEBOX
l = l And Not WS_CAPTION
Call SetWindowLong(Hwnd, GWL_STYLE, l)
End Sub
10.强制要求变量声明
Option Explicit
11.使文本框不可编辑
两种方法:
Text1.Locked = True

Text1.Enabled = False

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/253/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名