Form加载完成后,在text框中填入一个数字,如何才能让MsFlexGrid的行、列随着Text框中的数字的改变而实时改变呢?
另外,为何我用FindWindow找不到“另存为”对话框的句柄呢?各位高人还有什么高招吗?
另外,为何我用FindWindow找不到“另存为”对话框的句柄呢?各位高人还有什么高招吗?
解决方案 »
- App.path
- 庆祝端午节,散分
- 如何修改查询得到的记录集中字段值(要修改的字段是数据库原有字段合成的字段,如:(A+B) AS C,要改以的值)?
- 你发现了吗?WinSock的Error事件的Number参数,被定义成Integer,但设置值可以是40006。马上溢出。
- 关于Activex的问题
- 如何得到打印信息呀?
- 关于三层结构
- (VB+access)查询日期问题:条件是比当前日期要大。请教这条语句该怎么样写。
- VB的文件拷贝问题
- 如果我的acitivex控件里用了inet,那么是不是就不能再其他没有装inet的电脑里运行这个控件
- DataGrid.FirstRow如何设置
- 一个找遍CSDN也找到不到答案的问题
______________________________________________
根据Text数字改变MsFlexGrid.Row和MsFlexGrid.Col另外,为何我用FindWindow找不到“另存为”对话框的句柄呢?各位高人还有什么高招吗?
_______________________________________________
有代码吗?光这么说找不到问题。
Debug.Print h1
'SetWindowPos h1, HWND_BOTTOM, -100, -100, 0, 0, SWP_HIDEWINDOW '隐藏PlotaW窗口
SendKeys "%FS", True '打开另存为对话框
h2 = FindWindow("#32770", "另存为") '获取另存为对话框句柄
'SetWindowPos h2, HWND_BOTTOM, -100, -100, 0, 0, SWP_HIDEWINDOW
Debug.Print h2
SendKeys CurSpectraPath, True '输入文件名
Debug.Print CurSpectraPath
SendKeys "{TAB}{TAB}", True '将焦点定位到保存按钮上
SendKeys "{ENTER}", True '回车
SendKeys "%FX", True '退出PlotaW
h1每次都能顺利找到,但是h2每次的返回值都是0,当将h2 = FindWindow("#32770", "另存为")修改为h2 = FindWindow("#32770", vbNullString)后返回值始终是329704 ,不知是什么原因?
:(
使用代码MsFlexGrid1.Rows = Val(text1.text)
MsFlexGrid1.Redraw = True
运行后,MsFlexGrid1的行、列均为预设值,如(5,5)。
但是在文本框中填入一个数字,如8,MsFlexGrid1的行数并没有随之改变为8。经测试,如果加入一个Command1,将上述代码填入Command1段中,运行后点击Command1按钮则可以重绘MsFlexGrid1,使其行数变为8。请问该如何解决呢?谢谢!
Private Sub Form_Load()
fg.Rows = 10
End SubPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
fg.Rows = Val(Text1.Text)
End If
End Sub这样在文本框中输入完毕按下回车就可以得到你要的结果
我使用下面的代码实现MSFlexGrid1的数据录入:
Private Sub MSFlexGrid1_EnterCell()
' 设置文本框的大小与位置,使之重叠在当前单元格上
txtMSFG1.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
txtMSFG1.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
txtMSFG1.Width = MSFlexGrid1.CellWidth
txtMSFG1.Height = MSFlexGrid1.CellHeight
txtMSFG1.Text = MSFlexGrid1.Text ' 将当前单元格的数据赋予文本框
txtMSFG1.Visible = True
'txtMSFG1.SetFocus
End SubPrivate Sub MSFlexGrid1_LeaveCell()
MSFlexGrid1.Text = txtMSFG1
End Sub
但是出现了问题:
当鼠标左键单击第一行(标题行,row=0)的某一个单元格(如cell(0,1))时,该单元格所在列的所有Cell中的数据都被替换成了该列的第二个单元格(cell(1,1))中的数据。
如果使用
If MSFlexGrid2.Row > 0 Then
' 设置文本框的大小与位置,使之重叠在当前单元格上
txtMSFG1.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
txtMSFG1.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
txtMSFG1.Width = MSFlexGrid1.CellWidth
txtMSFG1.Height = MSFlexGrid1.CellHeight
txtMSFG1.Text = MSFlexGrid1.Text ' 将当前单元格的数据赋予文本框
txtMSFG1.Visible = True
'txtMSFG1.SetFocus
End If
再点击cell(0,1)则会将该列数据都清零。这个问题该如何解决呢?谢谢!