Public Sub TabStrip1_Click()
Dim J As Integer
Dim k As Integer
Dim I As Integer
Dim PO_Z As Long
Dim temp As Long
Dim AX, AY As Integer
Dim P2_buff() As Byte
ReDim P2_buff(0 To (XP_W + 1) * (XP_H + 1) * 3 - 1)
Dim TEMP_BUFF() As Byte
ReDim TEMP_BUFF(0 To (BMP_BUFF_DX))
Dim TEMP_XXS_XBSB As Integer '需显示细胞下标
For I = 0 To MAX_XS_GS - 1
Picture2(I).Visible = False
Next
If TabStrip1.SelectedItem.Index <> LastIndex Then
txtpage.Text = 1
End If
LastIndex = TabStrip1.SelectedItem.Index
Select Case TabStrip1.SelectedItem.Index
Case 1 '中性
If Val(txtpage.Text) > (Val(Text1(1).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
'按图号NucCount将该图的数据放入buff
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(1).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
If I > 0 Then
If XB_L_1(TEMP_XXS_XBSB).NucCount <> XB_L_1(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_1(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_1(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_1(TEMP_XXS_XBSB).X, XB_L_1(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 2 '淋巴
If Val(txtpage.Text) > (Val(Text1(2).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(2).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
'按图号NucCount将该图的数据放入buff
If I > 0 Then
If XB_L_2(TEMP_XXS_XBSB).NucCount <> XB_L_2(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_2(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_2(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_2(TEMP_XXS_XBSB).X, XB_L_2(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 3 '单核
If Val(txtpage.Text) > (Val(Text1(3).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(3).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
'按图号NucCount将该图的数据放入buff
If I > 0 Then
If XB_L_3(TEMP_XXS_XBSB).NucCount <> XB_L_3(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_3(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_3(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_3(TEMP_XXS_XBSB).X, XB_L_3(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 4 '嗜酸
If Val(txtpage.Text) > (Val(Text1(4).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(4).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
'按图号NucCount将该图的数据放入buff
If I > 0 Then
If XB_L_4(TEMP_XXS_XBSB).NucCount <> XB_L_4(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_4(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_4(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_4(TEMP_XXS_XBSB).X, XB_L_4(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 5 '嗜碱
If Val(txtpage.Text) > (Val(Text1(5).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(5).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
'按图号NucCount将该图的数据放入buff
If I > 0 Then
If XB_L_5(TEMP_XXS_XBSB).NucCount <> XB_L_5(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_5(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_5(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_5(TEMP_XXS_XBSB).X, XB_L_5(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 6 '未分类
If Val(txtpage.Text) > (Val(Text1(6).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(0).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
'按图号NucCount将该图的数据放入buff
If I > 0 Then
If XB_L_0(TEMP_XXS_XBSB).NucCount <> XB_L_0(TEMP_XXS_XBSB - 1).NucCount Then
GET_XBMP_buff TEMP_BUFF, XB_L_0(TEMP_XXS_XBSB).NucCount
End If
End If
If I = 0 Then
GET_XBMP_buff TEMP_BUFF, XB_L_0(TEMP_XXS_XBSB).NucCount
End If
BMP_JQ TEMP_BUFF, BMP_WIDTH, BMP_HEIGHT, P2_buff, XP_W + 1, XP_H + 1, XB_L_0(TEMP_XXS_XBSB).X, XB_L_0(TEMP_XXS_XBSB).Y
'XS_XBMP_2 P2_buff, I
XS_SB_XBMP P2_buff, I, 2
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
Case 7 '全部
If Val(txtpage.Text) > (Val(Text1(7).Text) - 1) / MAX_XS_GS + 1 Then txtpage.Text = Val(txtpage.Text) - 1
’实现将前6种细胞都统计在一起显示,第页只能显示27个细胞
For I = 0 To MAX_XS_GS - 1
TEMP_XXS_XBSB = I + (CInt(txtpage.Text) - 1) * MAX_XS_GS
If I < CInt(Text1(6).Text) - (CInt(txtpage.Text) - 1) * MAX_XS_GS Then
Picture2(I).Visible = True
Else
Picture2(I).Visible = False
End If
Next I
End Select
End Sub
HGS = 9
For I = 1 To 26
Load Picture2(I)
If I Mod HGS = 0 Then
Picture2(I).top = Picture2(I - HGS).top + Picture2(I).height + 100
Picture2(I).left = Picture2(I - HGS).left
Else
Picture2(I).top = Picture2(I - 1).top
Picture2(I).left = Picture2(I - 1).left + Picture2(I).width + 100
End If
Picture2(I).ZOrder (0)
Next I
初始化加载了27个控件……
GET_XBMP_buff TEMP_BUFF, XB_L_5(TEMP_XXS_XBSB).NucCount’将下标为XB_L_5(TEMP_XXS_XBSB).NucCount的图片读入内存。
XS_SB_XBMP P2_buff, I, 2’显示细胞
最主要的问题就是在这个下标上,不同类型的细胞下标保存在不同的地方。