回 帖 发 新 帖 刷新版面

主题:高手来帮帮忙

源码已经传上去了。这个主要是个记事本,我出错的地方是想让选中的字随设置(窗体2)而改变大小,加粗,颜色(我不会显示颜色设置框在窗体2上,只能让他弹出来,有会的请说一下 谢谢了)......。运行的时候总是说我缺少对于像。谢谢了

回复列表 (共14个回复)

沙发

在RichTextBox1的前面必须加上Form1.

板凳

能详细一些吗?谢谢了 是这样吗  form1.richtextbox1.selfontname   (同时谢谢您看我的程序)

3 楼

是的。不过,我建议你删除Form2而直接调用字体对话框,代码如下:

Sub mmfff_Click()
On Error GoTo 100
With RichTextBox1
  CommonDialog1.FontName = .SelFontName
  CommonDialog1.FontSize = .SelFontSize
  CommonDialog1.FontStrikethru = .SelStrikeThru
  CommonDialog1.FontUnderline = .SelUnderline
  CommonDialog1.FontBold = .SelBold
  CommonDialog1.FontItalic = .SelItalic
  CommonDialog1.Color = .SelColor
  CommonDialog1.Flags = &H103
  CommonDialog1.ShowFont
  .SelFontSize = CommonDialog1.FontSize
  .SelFontName = CommonDialog1.FontName
  .SelStrikeThru = CommonDialog1.FontStrikethru
  .SelUnderline = CommonDialog1.FontUnderline
  .SelBold = CommonDialog1.FontBold
  .SelItalic = CommonDialog1.FontItalic
  .SelColor = CommonDialog1.Color
End With
100
End Sub

4 楼

谢谢你的回答 在问个问题 我在mnuexit_click 中添加了如下代码
Private Sub mnuExit_Click()
If RichTextBox1.Text <> "" Then
MsgBox "当前文件是否保存?", vbOKCancel, "警告"
   If answer = 1 Then
      mnusave_Click  (就是这里 调用不成功....谢谢老师指点)
   Else
      End
    End If
Else
   End
End If
End Sub
想让richtextbox  含有内容并且在用户单击了退出时  提示 用户 是否存储,结果当我单击确定是 却不弹出 文件保存那个对话框
-------------------------------------------
能解释一下您那个程序的意思吗?谢谢

5 楼

MsgBox "当前文件是否保存?", vbOKCancel, "警告"
这是没有必要的!系统可以自动判定是否保存:
if GetAttr(本文件的路径名称)=32 then  mnusave_Click  
这里经常没有被调用的一种原因,就是过程名称拼写错误。你仔细检查!

GetAttr(本文件的路径名称)=32 就是说这个文件自上次保存以来发生了改变。当然你也可以向word一样不直接调用保存对话框,而是询问是否需要。

6 楼

回复5楼:
if GetAttr(本文件的路径名称)=32 then  mnusave_Click  
1.请问 getattr是什么函数   (本文件的路径名称)这是什么意思?为什么要判断他等于32?他是如何知道文件是否被改变?
2.请问这个是什么意思?On Error GoTo 100    With RichTextBox1 ..语句...  with 100  这个语句是干吗用的?
3.4楼我提到的问题  我已经解决了  MsgBox "当前文件是否保存?", vbOKCancel, "警告"
应该将他返回的值  付给一个变量。

请老师解答 1 和 2  问题 谢谢了

7 楼

GetAttr是获取一个文件、目录、或文件夹的属性,VB帮助里有详细的说明。
On Error GoTo 100表示如果发生了错误,则转到标号为100的语句去执行。
With RichTextBox1 ..End With表示对某个对象执行一系列的语句,而不用重复指出对象的名称,VB帮助里也有详细说明。

8 楼

谢谢  我查了一下  判断文件改变 getattr  的返回值是32
但是 我有一个新的问题  getattr他的参数在我这里该如何写呢?谢谢

9 楼

这个参数是全路径文件名,可以是绝对路径,例如:

D:\textfile\123.txt

也可以是相对路径,例如:

app.path &"\.123.txt"

这个app.path 就表示你的主程序文件所在的路径,所谓主程序文件,是指编译好的exe文件,如果还没有编译,则是指VB的工程文件,只有当 123.txt 文件与主程序文件在同一个文件夹时才用相对路径。

10 楼

但是  我并不能知道 当前用户会将文件村到哪里?所以不可能预先将路径写在程序里!所以请问这里应该如何解决?谢谢解答

我来回复

您尚未登录,请登录后再回复。点此登录或注册