Foxtable(狐表)用户栏目专家坐堂 → 简单改造编辑器


  共有18311人关注过本帖树形打印复制链接

主题:简单改造编辑器

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
简单改造编辑器  发帖心情 Post By:2012/11/27 16:03:00 [只看该作者]


应  飞的要求将此简单改造代码编辑器的方法上传:

详细如下:

Foxtable中调用Notepad++写代码的方法

1. 下载一个nodepad++放在D盘下(放其它地方也行,改一下后面的代码就是了),然后在Notepad++的视图菜单下点击自定义语言格式,在里面新建一个语言,名称为Foxtable,后缀设置为Fox,各项设置去语言设计里面找一下vb的复制过来,然后其它的根据个人喜好修改好(这里不多介绍,具体百度一下Notepad++的用法)
2. 在计划管理新建一个计划(用于在编辑器上面创建按钮),名称为编辑器按钮,间隔300毫秒,代码如下:
Dim frmCodeEditor As Windows.Forms.Form = Windows.Forms.Form.ActiveForm
If frmCodeEditor Is Nothing Then Return
If frmCodeEditor.Name <> "frmCommand" And frmCodeEditor.Name <> "frmCodeEditor" Then Return
If frmCodeEditor.Controls("BtnNotepadEdit") IsNot Nothing Then Return
Dim BtnFind As Windows.Forms.Button = frmCodeEditor.Controls("Button4")
Dim BtnNotepadEdit As New Windows.Forms.Button
With BtnNotepadEdit
    .Name = "BtnNotepadEdit"
    .Anchor = windows.Forms.AnchorStyles.Left Or windows.Forms.AnchorStyles.Bottom 
    .Top = BtnFind.Top
    .Left = 96
    .Size = BtnFind.Size
    .Text = "NotePad++"
    AddHandler .Click,AddressOf NotepadEdit_Click
End With
frmCodeEditor.Controls.Add(BtnNotepadEdit)
3. 新增一个内部函数,名称为NodePadEdit,代码如下:
'调用Notepad++
Dim CodeBox As Windows.Forms.RichTextBox = CodeRichTextBox
FileSys.WriteAllText(ProjectPath & "Temp\Code.Fox",CodeRichTextBox.Text,False)
CodeRichTextBox.SelectAll
Dim Proc As New Process
Proc.WaitForClose = True
Proc.File = "D:\Notepad++\notepad++.exe "
Proc.Arguments = ProjectPath & "Temp\Code.Fox"
Proc.Start
Dim CodeStr As String = FileSys.ReadAllText(ProjectPath & "Temp\Code.Fox")
If CodeStr = CodeBox.Text Then Return Nothing
CodeBox.Text = CodeStr
4. 在全局代码中加入以下代码:
'此函数用于返回代码编辑器的RichTextBox控件
Public Function CodeRichTextBox() As Windows.Forms.RichTextBox 
    Dim frmCodeEditor As Windows.Forms.Form = Windows.Forms.Form.ActiveForm
    If frmCodeEditor Is Nothing Then Return Nothing
    If frmCodeEditor.Name <> "frmCommand" And frmCodeEditor.Name <> "frmCodeEditor" Then Return Nothing
    Dim SplitCtl As Windows.Forms.SplitContainer
    If frmCodeEditor.Name = "frmCommand" Then 
        SplitCtl = frmCodeEditor.Controls("SplitContainer1")
        SplitCtl = SplitCtl.Panel1.Controls("MyCodeEditor21").Controls("SplitContainer1")
    Else
        SplitCtl = frmCodeEditor.Controls("MyCodeEditor1").Controls("SplitContainer1")
    End If
    SplitCtl = SplitCtl.Panel1.Controls("SplitContainer2")
    Dim RichTextBox As Windows.Forms.RichTextBox = SplitCtl.PaneL1.Controls("Editor")
    Return RichTextBox 
End Function
 
'启动NotePad++
Public Sub NotepadEdit_Click(ByVal sender As Object, ByVal e As EventArgs)
    Function.ecute("NodePadEdit")
End Sub
 
重启项目之后打开命令窗口或者代码编辑器就会发现下面多出一个按钮,点击之后就可以在notepad++中编辑代码了
 
[此贴子已经被作者于2012-11-28 13:11:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cqlpjks
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2012/11/27 16:17:00 [只看该作者]

学习!

 回到顶部
帅哥哟,离线,有人找我吗?
blueskyyq
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:295 积分:1856 威望:0 精华:1 注册:2012/7/9 23:25:00
  发帖心情 Post By:2012/11/27 16:37:00 [只看该作者]

朱兄动作挺快的,再顶一个

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/27 17:29:00 [只看该作者]

 看着头晕!给个例子吧,小朱。

 回到顶部
帅哥哟,离线,有人找我吗?
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/11/27 17:58:00 [只看该作者]

图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.gif
图片点击可在新窗口打开查看

 


 

追加一个包,用于设置foxtable关键字高亮与自动完成功能,用法内详

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtable?epad++.zip

[此贴子已经被作者于2012-11-28 12:39:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/11/27 19:16:00 [只看该作者]

不是我的东西,是飞大侠叫我发的.


另外 我可不是小朱,是老朱了.

 回到顶部
帅哥哟,离线,有人找我吗?
xmj09663
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:408 积分:2921 威望:0 精华:4 注册:2010/8/26 20:57:00
  发帖心情 Post By:2012/11/27 19:25:00 [只看该作者]

小朱    图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/11/27 19:34:00 [只看该作者]

羡慕嫉妒没有恨,虽说看不懂,但还是收藏,以待来日图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
bohe
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1074 积分:9872 威望:0 精华:0 注册:2008/9/2 11:34:00
  发帖心情 Post By:2012/11/27 19:59:00 [只看该作者]

看着头晕,没看到具体方法

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1128 积分:11029 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/11/28 7:23:00 [只看该作者]

太高科技了

 回到顶部
总数 42 1 2 3 4 5 下一页