DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: webb123
今日帖子: 27
在线用户: 18
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 8:30:07
标题:
为什么RichEdit全角引号变成了半角 浏览:1845
加入我的收藏
楼主: 设计时显示正常,运行后变成半角
此帖子包含附件:lyp8899_20214228307.rar 大小:171.1K
----------------------------------------------
▄︻┻┳═
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 8:31:05
1楼: delphi7, “内部基本规定”-->"内部基本规定"
此帖子包含附件:
JPEG 图像
大小:17.0K
----------------------------------------------
▄︻┻┳═
作者:
男 dmzn (dmzn) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 10:54:17
2楼: 应该不会.
你把组件的Font调成宋体 大字号再看看.
----------------------------------------------
生活愉快.
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 15:10:20
2楼: 不是字体设置原因

只要设成RichEdit1.WordWrap := False;全角引号就变了半角了
设成RichEdit1.WordWrap := True; 就显示全角引号
----------------------------------------------
▄︻┻┳═
作者:
男 dmzn (dmzn) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 16:22:18
3楼: 试了一下,确实是你说的这种情况.
应该是Delphi7使用的RichEdit库版本过低引起的,Delphi 10的显示正常.

procedure TCustomRichEdit.CreateParams(var Params: TCreateParams);
const
  RichEditModuleName = 'RICHED32.DLL'; //RICHED20.DLL为新版本
  HideScrollBars: array[Boolean] of DWORD = (ES_DISABLENOSCROLL, 0);
  HideSelections: array[Boolean] of DWORD = (ES_NOHIDESEL, 0);
begin
  if FRichEditModule = 0 then
  begin
    FRichEditModule := LoadLibrary(RichEditModuleName);
    if FRichEditModule <= HINSTANCE_ERROR then FRichEditModule := 0;
  end;
  inherited CreateParams(Params);
  CreateSubClass(Params, 'RICHEDIT'); //RICHEDIT20A新类名
  with Params do
  begin
    Style := Style or HideScrollBars[FHideScrollBars] or
      HideSelections[HideSelection];
    WindowClass.style := WindowClass.style and not (CS_HREDRAW or CS_VREDRAW);
  end;
end;

你可以改一下,就可以在D7用了.
----------------------------------------------
生活愉快.
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 16:44:13
4楼: ComCtrls.pas

RichEditModuleName = 'RICHED32.DLL'; //RICHED20.DLL为新版本
改成:
RichEditModuleName = 'RICHED20.DLL';

没有起作用,ComCtrls.pas怎么重新编译
----------------------------------------------
▄︻┻┳═
作者:
男 bjlg (蓝天) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 17:30:04
5楼: 你需要吧ComCtrls.pas拷贝到你当前目录,在安装目录是浏览,不会编译的
----------------------------------------------
http://delphi.icm.edu.pl/ftp/http://delphi-z.ru
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/22 21:25:59
6楼: 明白了,多谢!
----------------------------------------------
▄︻┻┳═
作者:
男 lyp8899 (lyp8899) ★☆☆☆☆ -
盒子活跃会员
2021/4/23 8:30:40
7楼: 在D7试了,运行时提示如下错误:

异常 EReadError发生在模块 Project1.exe中的00017813位置
读错误 RichEdit1 Lines Strings: RichEdit line insertion error

再改回32 就没有上面的提示了
----------------------------------------------
▄︻┻┳═
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2021/4/23 14:13:00
8楼: 用 RXLIB 的替代。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 vkow (vkow) ★☆☆☆☆ -
普通会员
2021/4/23 16:49:57
9楼: 你注意到: CreateSubClass(Params, 'RICHEDIT'); //RICHEDIT20A新类名
这也要修改了吗?
----------------------------------------------
-
作者:
男 rururu (rr) ★☆☆☆☆ -
盒子活跃会员
2021/5/9 21:21:13
10楼: 改用richview吧,微软因为richedit这个控件被人骂死了,从xp开始微软就拒绝开放richedit的具体细节,连技术参数都是残缺不全的,到现在仍旧如此。现在微软推荐的是用web方式代替richedit,因为richedit有word的技术。谁都知道,用web技术要学多少东西!
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/5/10 17:45:46
11楼: 用 WEB 的话,如果有一套支持它的 JS 代码,实现一个基于 WEB 的 RichEdit 似乎也就不难了。
----------------------------------------------
-
作者:
男 abcjingtong (jingtong) ★☆☆☆☆ -
普通会员
2021/5/10 19:35:40
12楼: 可以看看这个是否能满足,我开源2年并不断维护的的类似word和wps的软件,有带分页和不带分页2种,不带分页的和RichEdit是一样的功能, https://gitee.com/hcview
之前在盒子上也介绍过 http://bbs.2ccc.com/topic.asp?topicid=580946
----------------------------------------------
18114532@qq.com
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行1027.344毫秒 RSS