跟上面同一个问题,分两次给分了

ninansky 2004-12-18 05:07:02
我在练习做一个多文档的MDI文本编辑器,遇到下面几问题,望大家能帮帮忙:

1、请问Windows自带的记事本中“自动换行”菜单是怎么实现的啊?
我本来以为是用文本框的ScollBars属性在程序运行中可以实现,但是不行

2、在MDI窗体中,我需要记算其中一共是有几个文档窗口,新建一个时子窗体计数器加1,
关闭一个时计数器减1,但减1的代码我不知道应该写在哪一个事件里面,是不是有窗口的
关闭事件呢?,不会是_Queryunload()吧

3、“打开”通用对话框中点击“取消”后就会出现错误:path/file access error
请问这个该怎么处理

4、在“_queryunload”事件里面弹出一个和记事本一样的对话框,但是每次我点“取消”
都会把一个子窗体(或都整个应用程序)关掉,请问该怎么办才能不关掉窗体

5、在开始运行程序的时候,MDI窗体中都会有一个子窗体,请问我该怎么办才能使开始运行时
没有子窗体存在

6、请问在一个事件执行过程里面能不能禁止其它事件过程的执行

7、请问如何获得已打开文件的路径,我想要在对一个打开的文本文件进行修改后进行保存
但不要打开保存对话框,是直接覆盖掉原来的文件内容

8、在光标选中文本后,菜单中的“剪切”、“复制”、“删除”才变以可用的,该怎么处理,
是不是要写在一个Timer的Timer事件里面,我做了,在选取的时候可行,但是一旦关闭窗口就会
出现:object variable or with block variable not set 的错误,请问这个对象变量或模块
变量是指什么啊,或者是应该怎么处理呢??

上面几个小问题请大家帮帮忙,小弟在此先谢了,谢谢!!
...全文
130 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumylove1234 2005-01-06
  • 打赏
  • 举报
回复
这么多问题,汗.
dongle2001 2005-01-05
  • 打赏
  • 举报
回复
怎么什不可能呢,windows的记事本不就是这样的吗
看错了,我以为你要关掉整个程序时保存。
我把楼上的改成你要的
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("你确定在关我吗?", vbYesNo, "你确定吗?") = vbNo Then
Cancel = True
Else
CommonDialog1.ShowSave
If CommonDialog1.FileName = vbNullString Then
Cancel = True
End If
End If
End Sub


lyxhappy 2005-01-05
  • 打赏
  • 举报
回复
试试楼上的吧
newsuperstar 2005-01-05
  • 打赏
  • 举报
回复
用下面的试一下:
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("你确定在关我吗?", vbYesNo, "你确定吗?") = vbNo Then
Cancel = True
End If
End Sub
ninansky 2005-01-05
  • 打赏
  • 举报
回复
怎么什不可能呢,windows的记事本不就是这样的吗
dongle2001 2005-01-04
  • 打赏
  • 举报
回复
在我做的这个东西里面,我新建了一个文档,在文档里输入了东西,然后点击“X”,会弹出一个信息框:“是否保存文件”,点击“是”,然后在打开的通用对话框里又点击“取消”,这样的话,整个文档都会被关掉,请问我该怎么做才能在点击“取消”后不关闭文档
这个不太可能吧,再说也没什麽意义
ninansky 2005-01-04
  • 打赏
  • 举报
回复
好久无法上网了,今天终于得到解脱,很感谢大家,上面的问题基本上是解决了,不过今天又给大家带来了个新的问题,不好意思,又要麻烦大家了:
在我做的这个东西里面,我新建了一个文档,在文档里输入了东西,然后点击“X”,会弹出一个信息框:“是否保存文件”,点击“是”,然后在打开的通用对话框里又点击“取消”,这样的话,整个文档都会被关掉,请问我该怎么做才能在点击“取消”后不关闭文档
谢谢大家了
ninansky 2004-12-19
  • 打赏
  • 举报
回复
第一道题中,multiline属性也不能在运行时候设置啊,这个问题还没有解决
第六:请问在一个事件执行过程里面能不能禁止其它事件过程的执行,这个也还没有解决
第七:请问如何获得已打开文件的路径,我想要在对一个打开的文本文件进行修改后进行保存
但不要打开保存对话框,是直接覆盖掉原来的文件内容,在不要使用richtextbox这个控件的
情况下要怎么办:

Private Sub save_Click()
On Error GoTo errhandler
Dim temp As Integer
If Left(MDIWrite.ActiveForm.Caption, 3) = "无标题" Then
temp = Right(MDIWrite.ActiveForm.Caption, 1)
commondialog1.Filter = "All files(*.*)|*.*|文本文件|*.txt"
commondialog1.FilterIndex = 2
commondialog1.ShowSave
Open cdg2.FileName For Output As #2
Print #2, MDIWrite.ActiveForm.Text1.Text
Close #2
MDIWrite.ActiveForm.Caption = commondialog1.FileName & " 文档:" & temp

Else
Open MDIWrite.ActiveForm.Caption For Output As #2 '(Bad file name or number)
Print #2, MDIWrite.ActiveForm.Text1.Text
Close #2
End If

errhandler:
End Sub

麻烦大家帮我看一下上面这段代码,在Else后面的这个语句中“MDIWrite.ActiveForm.Caption"
能不能用其它语句来代替啊,而且我也不知道这样写是不是会有语法错误
daisy8675 2004-12-18
  • 打赏
  • 举报
回复
ft,家里面的office有问题,偶转不了。。。。
我先放了一个繁体VB写的NOTEPAD带有繁体转换简体功能的。你先参考下吧

http://www.iunknown.com.cn/anya/software/notepad.zip
daisy8675 2004-12-18
  • 打赏
  • 举报
回复
实际上TW版本的MSDN里面是有这样的一个例子的,但是chs版本没有,这样,我上传一个NOTEPAD的程序上去好了。wait.
tztz520 2004-12-18
  • 打赏
  • 举报
回复
5.在菜单中选"工程"--"属性",将"启动对象"设为你的MDI窗口就行了
6.事件执行是有顺序的.
zgvslch 2004-12-18
  • 打赏
  • 举报
回复
5: 在MDIForm_Load()事件里不Show子窗体。
7:CommonDialog控件就可以获得路径,CommonDialog.filename
8:在编辑框的Mousemove事件里
zgvslch 2004-12-18
  • 打赏
  • 举报
回复
2:在子窗体的Unload事件里减1
3:CommonDialog1.CancelError = False 或on error goto CancelErr 捕获错误.
4:if msgbox "是否退出?" = vbNo then cancel = true

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧