让我们以马为例。维基百科说:“目前,家养马和野马被认为是一个物种,马的有效科学名称是Equus ferus”。想象一匹长着翅膀的马。它将拥有普通马的所有特征(属性,如尾巴和蹄子),并且可以做普通马可以做的一切(方法,如奔跑和嘶鸣),并且可以对普通马会做出反应的事物做出反应(事件,如接近水槽或被装上马鞍)。然而,除了这些之外,它还将拥有翅膀。这个新类,Equus Pegasus,将继承Equus的所有东西,但也将有Public Sub Wings() … End 特定于这种特殊类型的Equus。
菜单项向下使用其复选框。如果选中,则通过键入来搜索名称将被关闭。Enter 将光标向下移动到下一个单元格,一如往常。如果未选中(程序以这种方式启动),请键入几个字母来定位某人的姓名,然后按 Enter 输入分数。然后再次按 Enter 离开单元格并准备好搜索下一个姓名。此处关键的表格视图属性是NoKeyboard。菜单项设置或取消设置它。
Export'Without this you will not see the class in the toolbar of classesInheritsTableViewPrivatessAsStringPublicSearchColumnAsIntegerEventEnterOnLinePublicSubCheckKey()SelectCaseKey.CodeCaseKey.Esc,Key.BackSpace,Key.Delss=""Me.UnSelectAllCaseKey.Enter,Key.ReturnRaiseEnterOnLine'action on pressing Enterss=""CaseKey.TabSearchDownCaseKey.BackTabSearchUpCaseElsess&=Key.TextSearchDownEndSelectEndPrivateSubSearchUp()Dimi,StartAsIntegerIfMe.Rows.Selection.Count=0ThenStart=-1ElseStart=Me.Rows.Selection[0]'the selected lineFori=Start-1DownTo0IfInStr(LCase(Me[i,SearchColumn].text),LCase(ss))ThenMe.Rows.Select(i)ReturnEndifNextFori=Me.Rows.maxDownToStartIfInStr(LCase(Me[i,SearchColumn].text),LCase(ss))ThenMe.Rows.Select(i)ReturnEndifNextEndPrivateSubSearchDown()Dimi,StartAsIntegerIfMe.Rows.Selection.Count=0ThenStart=-1ElseStart=Me.Rows.Selection[0]Fori=Start+1ToMe.Rows.Max'if no selected line, start at top, else start at next lineIfInStr(LCase(Me[i,SearchColumn].text),LCase(ss))>0ThenMe.Rows.Select(i)ReturnEndifNextFori=0ToStart'if no more occurrences, you will end up at the line you are onIfInStr(LCase(Me[i,SearchColumn].text),LCase(ss))>0ThenMe.Rows.Select(i)ReturnEndifNextEndPublicSubHandleClick()IfMe.Column=SearchColumnThenReturn'searchable column is not editable by clickingss=""Me.EditEnd
PublicSubsb1_EnterOnLine()sb1.Column=1sb1.EditEndPublicSubForm_Open()DimNamesAsNewString[]DimiAsIntegerNames=["Mereka AIKE","Ernest AIRI","John AME","Stanley ANTHONY","Natasha AUA","Veronica AUFA","John Taylor BUNA","Romrick CLEMENT","Philomena GAVIA","Richard GHAM","Gerard BUZOLIC","John HEARNE","Thomas EDISON"]sb1.Rows.Count=Names.countsb1.Columns.Count=2Fori=0ToNames.Maxsb1[i,0].text=Names[i]IfiMod2=0Thensb1[i,0].Background=&hDDDDFFsb1[i,1].Background=&hDDDDFFEndIfNextsb1.Columns[0].Width=140'-1 for max needed widthsb1.Mode=Select.Singlesb1.NoKeyboard=True'start with sb1 selecting the line when Enter is pressed in a cellsb1.Expand=Truesb1.SetFocusEndPublicSubMenuQuit_Click()'Yes, I put in a Quit menuitem in a File menu.QuitEndPublicSubsb1_KeyPress()sb1.CheckKey()EndPublicSubsb1_DblClick()sb1.Edit'to edit the names in the searchable column, double-click one of themEndPublicSubsb1_Save(RowAsInteger,ColumnAsInteger,ValueAsString)sb1[Row,Column].text=ValueEndPublicSubsb1_Click()sb1.HandleClickEndPublicSubMenuGoingDown_Click()MenuGoingDown.Checked=NotMenuGoingDown.Checkedsb1.NoKeyboard=Notsb1.NoKeyboardEnd
PublicSub_new()DimNamesAsNewString[]DimiAsIntegerNames=["Mereka AIKE","Ernest AIRI","John AME","Stanley ANTHONY","Natasha AUA","Veronica AUFA","John Taylor BUNA","Romrick CLEMENT","Philomena GAVIA","Richard GHAM","Gerard BUZOLIC","John HEARNE","Thomas EDISON"]Me.Rows.Count=Names.countMe.Columns.Count=2Fori=0ToNames.MaxMe[i,0].text=Names[i]IfiMod2=0ThenMe[i,0].Background=&hDDDDFFMe[i,1].Background=&hDDDDFFEndIfNextMe.Columns[0].Width=140'-1 for max needed widthMe.Mode=Select.SingleMe.NoKeyboard=True'start with sb1 selecting the line when Enter is pressed in a cellMe.Expand=TrueMe.SetFocusEnd