用"SSTab"控件与"TreeView"相结合即可。
解决方案 »
- 仿腾讯扣扣界面 VB源码
- 树形控件treeview,知道node.key,如何删除,该节点?还有其他问题
- 高手请指点为什么我的VB6程序只能在本机打包安装运行没问题,而到其它机器上就不行了,即使这台机装上了VB6和相关东西也不行,除非在这个
- 关于屏蔽某一网页问题 救命!! 分不够再加
- 想在安装程序的时候把程序信息写入注册表,该如何写??
- 各位大虾,快帮帮我!
- 招聘Visual Basic Programmer
- 怎样向一个应用程序的文本框输入一段已确定的字符串?(用vb程序自动完成)
- COM+ 在Internet上的应用问题?(很急,一定帮帮忙)
- 如何使用资源文件?
- 如何在MSGBOX信息窗体显示期间程序继续运行呢?
- 如何将两个BMP(黑白)文件连接成一个大的BMP文件
+-----0001 CPU NOTE1
+-----0002 Mouse NOTE2
+-----0003 主板 NOTE3清楚了么??就象project2000里面工程管理主界面的表格有点类似,MS project
是用表格做的。大家可以看看。我出150分(呵,没分了本来应该多一点的)
没有必要分成多个标签。
只要字符串可以对齐就可以了
LABEL0=label_a0 & label_b0 & label_c0 & ....
LABEL1=label_a1 & label_b1 & label_c1 & ....然后控制让label_a0与label_a1长度都相等球球label有汉字和英文好象也比较麻烦。:)谁能写成project 2000那样的控件就好了。
====================================================================
用LenB(StrConv(字符串,vbFromUniCode))可得到实际长度
www.componentone.com
使用lstrlen可以得到实际长度
汽车监控的公司对车进行监控时用到的
事例程序
http://www.mvps.org/btmtz/listview/lvitemtree.zip
先在数据环境中定义一个一对多的关系,然后联接到MSFLEXGRID控件上.请参见http://www.csdn.net/expert/topic/556/556434.xml?temp=.6455347
http://www.csdn.net/expert/topic/560/560842.xml?temp=.5458643★★★★★
打工好辛苦
★★★★★
钞票好难赚
★★★★★
编程好伤神
★★★★★
光阴好易混
★★★★★
lstMyListBox.AddItem "0002" & vbTab & "丁二" & vbTab & "上海市"
lstMyListBox.AddItem "0003" & vbTab & "张三" & vbTab & "北京市"
lstMyListBox.AddItem "0004" & vbTab & "李四" & vbTab & "重庆市"
1、员工编号 (长度为6)
2、员工姓名 (长度为6)
3、员工住址 (长度为38)
4、员工性别 [长为4]Const LB_SETTABSTOPS = &H192
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongSub SetListTabStops(iListHandle As Long)
' 设定四个栏位, 长度各为 6,6,38,4
' iListHandle = the window handle of the list box
Dim iNumColumns As Long
Dim iListTabs(3) As Long
Dim Ret As Long
iNumColumns = 4
iListTabs(0) = 24 ' 24/4 = 6 (第1-第6字节)
iListTabs(1) = 48 ' 48/4 = 12 (第7-第12字节)
iListTabs(2) = 200 ' 200/4 = 50 (第13-第50字节)
iListTabs(3) = 216 ' 216/4 = 54 (第51-第54字节)
Ret = SendMessage(iListHandle, LB_SETTABSTOPS, _
iNumColumns, iListTabs(0))
End SubPrivate Sub Form_Load()
Call SetListTabStops(List1.hwnd)
List1.AddItem "0001" & vbTab & "王一" & vbTab & "广州市市体育东路二段120巷176号" & vbTab & "男"
List1.AddItem "0002" & vbTab & "丁二" & vbTab & "北京市中关村路100号" & vbTab & "男"
List1.AddItem "0003" & vbTab & "张三" & vbTab & "上海市中山路150巷26号" & vbTab & "女"
List1.AddItem "0004" & vbTab & "李四" & vbTab & "重庆市福州路99号" & vbTab & "男"
End Sub
1. 如果您要输入的整串字和它带出的字完全一样,就可以不用再输入,可以节省时间。
2. 如果您要输入的整串字和它带出的字不一样,您还是可以继续输入,继续输入的字串会自动取代后面那串已经选定反白的字串。 以下的范例,只处理英文字,若要处理其他情形如数字,请自行略加更改,请先在 Form1 中放一个 Combo,然后将以下程式直接 Copy 进去即可:Dim strCombo As String
Const WM_SETREDRAW = &HB
Const KEY_A = 65
Const KEY_Z = 90Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Sub combo1_KeyUp(KeyCode As Integer, Shift As Integer)
Dim x%
Dim strTemp$
Dim nRet&If KeyCode >= KEY_A And KeyCode <= KEY_Z Then
'only look at letters A-Z
strTemp = Combo1.Text
If Len(strTemp) = 1 Then strCombo = strTemp
nRet& = SendMessage(Combo1.hwnd, WM_SETREDRAW, False, 0&)
For x = 0 To (Combo1.ListCount - 1)
If UCase((strTemp & Mid$(Combo1.List(x), Len(strTemp) + 1))) = UCase(Combo1.List(x)) Then
Combo1.ListIndex = x
Combo1.Text = Combo1.List(x)
Combo1.SelStart = Len(strTemp)
Combo1.SelLength = Len(Combo1.Text) - (Len(strTemp))
strCombo = strCombo & Mid$(strTemp, Len(strCombo) + 1)
Exit For
Else
If InStr(UCase(strTemp), UCase(strCombo)) Then
strCombo = strCombo & Mid$(strTemp, Len(strCombo) + 1)
Combo1.Text = strCombo
Combo1.SelStart = Len(Combo1.Text)
Else
strCombo = strTemp
End If
End If
Next
nRet& = SendMessage(Combo1.hwnd, WM_SETREDRAW, True, 0&)
End If
End SubPrivate Sub Form_Load()
Combo1.AddItem "AAAAAAAA"
Combo1.AddItem "ABBBBBBB"
Combo1.AddItem "ABCCCCCC"
Combo1.AddItem "ABCDDDDD"
Combo1.AddItem "ABCDEEEE"
Combo1.AddItem "ABCDEFFF"
Combo1.AddItem "ABCDEFGG"
Combo1.AddItem "ABCDEFGH"
End Sub