| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2259 人关注过本帖
标题:话说,VFP有无可用/好用/易用的“Markdown编辑框”控件?
取消只看楼主 加入收藏
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
唉,实在搞不懂这位英雄究竟想推销些什么。

傻瓜才会想要让VFP去实现Notepad++。

就好比,裁缝生产的齿轮,有人想要吗?

唉,不好好地抄你的剪刀卷尺,搞什么搞?
2025-07-11 07:05
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
虽说我老人家涵养好,可卖广告卖到跟巷口老中医贴狗皮膏药一样,那就得赠你一句:

客官自重,面斥不雅。

2025-07-11 10:36
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
DeepSeek很有意思!我老人家虽编程水平很烂,但胜在脑子活泛,灵光一闪,竟然想出一个歪点子来。

跟DeepSeek再一讨论,她给出了一些很邪门的代码。一句也看不懂!

可惜啊我自上世纪一路走来,只略懂Delphi和C语言,连C++也没正儿八经写过代码;汇编倒是小时候玩破解,用Debug写过代码,嘿嘿。完全不懂新出的那些稀奇古怪的编程语言。

没关系,有DeepSeek在,下回下载来装一个,试试编译一下,看能否通过。
2025-07-12 15:48
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
苦苦尝试了整整一天一夜,一片痴心终究还是错付了。

想不到在国内连 github 这般困难!鬼佬的开源代码,用到一大堆的依赖包,现在流行全放到 github 服务器上。随便一个几十MB的依赖包,下载堵塞,就导致编译出错退出!开源也等于白搭,稍大一点的项目,哪怕才100 MB不到,源代码全下载到本地,也根本没办法完成编译。

话说,免费的科学上网工具,悄悄地,谁透露一下下?

2025-07-13 18:05
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
以下是引用wcx_cc在2025-7-13 23:48:42的发言:

用 word 做控件放入表单内,替换 EDIT控件的位置


这确实是个非常棒的建议!不知嵌入的word,操作反应会不会略有延迟、卡顿?——请展开谈谈。

2025-07-14 16:40
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
VFP9 有个大问题——天大的问题!

它是32位的。

以前下载的许多开源代码,要在类Linux平台语言下编译出命令行工具或DLL,而Linux官方早已移除了32位支持,编程语言自然也相应移除了32位预编译包。我苦苦折腾了几天几夜,发觉时至今日,已根本无法成功编译那些32位代码了!动辄发生依赖包不兼容32位的错误,“若要成功,必先自宫”——时光必须要倒流到2020年左右,方有可能!

咱就期待,千万不要哪天Windows也移除32位支持吧……

2025-07-15 08:11
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
以下是引用wcx_cc在2025-7-18 13:43:47的发言:

word 嵌入表单内,速度不如edit 快,他也有弊端,就是需要整篇存盘,占磁盘空间比较大,所以适合电脑内存,和服务器硬盘都比较大的情况,使用者感觉不到有延迟,卡顿现象。
在自己做的软件中,重要的篇幅大的文述部分都是word的,篇幅小的任然保留了edit,使用多年,这一方面用户无不良反馈。


初步测试嵌入 word 的表单,发现似乎 word 很不稳定。我系统安装的是Office 2016,已一路自动升级到了Office 2021。一旦嵌入的 word 失去焦点(比如,点击表单以外的区域,甚至是点击 word 以外的表单内的其他控件或空白区域),word 文字工作区就会一片灰白;原来输入到 word 的文字,都变得不再可见;点击VFP之外区域,整个表单干脆全消失不见,虽然仍停留后台未被销毁(退出VFP时,这表单会一闪而过,意味着它仍像僵尸一样残存于系统内存),但已不可见,不可选中了。如何解决?这问题我也问了 DeepSeek ,它倒是给出了一堆方案,就是感觉比较繁琐,还没来得及试。

只是想啊:

倘若 word 嵌入表单,就是这种衰样表现的话,恐怕此种方式,无多少实用价值!太脆弱,也太易出错啦!
2025-07-18 21:59
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
以下是引用cssnet在2025-7-18 21:59:44的发言:
一旦嵌入的 word 失去焦点(比如,点击表单以外的区域,甚至是点击 word 以外的表单内的其他控件或空白区域),word 文字工作区就会一片灰白;原来输入到 word 的文字,都变得不再可见……


针对此问题,DeepSeek 给出的方案,真的很有意思,哈哈哈哈!也算得上是脑洞大开!不知哪位天才想出来的!——

方法3:内存位图缓存(最稳定方案)
* -------------------------
* 声明API
DECLARE INTEGER CreateCompatibleDC IN gdi32 INTEGER hdc
DECLARE INTEGER CreateCompatibleBitmap IN gdi32 INTEGER hdc, INTEGER nWidth, INTEGER nHeight
DECLARE INTEGER BitBlt IN gdi32 ;
    INTEGER hDestDC, INTEGER x, INTEGER y, INTEGER nWidth, INTEGER nHeight, ;
    INTEGER hSrcDC, INTEGER xSrc, INTEGER ySrc, INTEGER dwRop

* 在失去焦点时截屏保存
PROCEDURE oleWord.LostFocus
    LOCAL hDC, hBmp
    hDC = CreateCompatibleDC(0)
    hBmp = CreateCompatibleBitmap(hDC, THIS.Width, THIS.Height)
    = BitBlt(THISFORM.picCache.hDC, 0, 0, THIS.Width, THIS.Height, ;
             THIS.hDC, 0, 0, 0x00CC0020)  && SRCCOPY
    THISFORM.lNeedRedraw = .T.
ENDPROC

* 在Paint事件中恢复图像
PROCEDURE oleWord.Paint
    IF THISFORM.lNeedRedraw
        = BitBlt(THIS.hDC, 0, 0, THIS.Width, THIS.Height, ;
                 THISFORM.picCache.hDC, 0, 0, 0x00CC0020)
    ENDIF
ENDPROC

* 专业级效果:实现类似Visual Studio代码编辑器的"僵尸视图"效果
* -------------------------

想想,还真 TM 有可能会奏效咧!
2025-07-19 15:33
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
以下是引用wcx_cc在2025-7-19 17:19:16的发言:

51楼说的情况,不知道是采用哪种方式运行?可能打开的方式或嵌入方法有不合适的?


因为你50楼说的是“word 嵌入表单内”,就找了一段【嵌入】的代码来测试,如下。不知你平时用的何种方式嵌入 word 对象?能否列前边几句生成 word 对象的代码来看看?

oform1=NEWOBJECT("form1")
oform1.Show
RETURN
**************************************************
*-- Form:         form1 (e:\vfp\test\Test1.scx)
*-- ParentClass:  form
*-- BaseClass:    form
*
DEFINE CLASS form1 AS form

    Top = 20
    Left = 20
    Height = 700
    Width = 1440
    ShowWindow = 2
    DoCreate = .T.
    AutoCenter = .T.
    Caption = "将word直接嵌入VFP表单中"
    Name = "Form1"

    PROCEDURE Init
        WITH THISFORM
            .ADDOBJECT('oWordDoc','OleControl','Word.Document')
            .oWordDoc.LEFT = 0
            .oWordDoc.TOP = 0
            .oWordDoc.HEIGHT = .HEIGHT
            .oWordDoc.WIDTH = .WIDTH
            .oWordDoc.VISIBLE =  .T.
            * 这一句比较古老,可能不是必须 .oWordDoc.DOVERB(0)
        ENDWITH
    ENDPROC

ENDDEFINE
*
*-- EndDefine: form1
**************************************************

2025-07-19 17:42
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:445
专家分:370
注 册:2013-10-4
收藏
得分:0 
我知道,常规的作法是:

MyWord=CreateObject('Word.Application')
MyWord.Visible=.T.
MyWord.Documents.Add
……

只是那样一来,Word是一个独立窗口,若是最大化或者放在屏幕的某一个角落,那还好说;可若是放在屏幕正中间,四周被其他VFP原生控件所环绕——比如说,窗体布局像个“回”字,中间是word,四周是别人——那么,界面设计就极其困难了!我实在想不出有什么办法,能够协调好word窗口与其他VFP控件的布局关系。

故而,THISFORM.AddObject("oleWord", "OLEControl", "Word.Document"),这样子嵌入Word文档对象,是最最方便处理的方式。只是如此一来,Word瞬间变得好脆弱,好敏感,如同一只弱不禁风的小猫,一有风吹草动就消失无影踪。

呵呵。
2025-07-19 20:05
快速回复:话说,VFP有无可用/好用/易用的“Markdown编辑框”控件?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019558 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved