wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
阅读:2207回复:13

关于文字处理的问题

楼主#
更多 发布于:2005-08-03 10:45
  我想在RichEdit中区分一行文字的不同颜色,或者找到有下划线的文字,请问大家我该怎么做呢?
付出多少就会收获多少
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-08-03 13:37
调用GetSelectionCharFormat函数.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
hhyjmd
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望11点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-08-03 20:42
CRichEditCtrl::GetSelectionCharFormatSee Also
CRichEditCtrl Overview | Class Members | Hierarchy Chart | CRichEditCtrl::GetDefaultCharFormat | CRichEditCtrl::GetParaFormat | CRichEditCtrl::SetSelectionCharFormat | CRichEditCtrl::GetSelText
Gets the character formatting attributes of the current selection.

DWORD GetSelectionCharFormat(
   CHARFORMAT& cf
) const;
DWORD GetSelectionCharFormat(
   CHARFORMAT2& cf
) const;
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-08-04 11:10
谢谢
付出多少就会收获多少
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-08-04 14:05
向大家请教个问题:为什么我的程序一加上CRichEdit控件,我的程序运行的时候就会自动退出呀?
付出多少就会收获多少
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-08-04 14:21
因为你没有在程序开头调用AfxInitRichEdit函数.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-08-04 14:26
谢谢你,可是我不知道怎么样调用这个函数,在那里调用这个函数?以前的事情希望你不要放在心上
付出多少就会收获多少
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-08-04 14:36
如果你用MFC写,在App的InitInstance较前处加上:
AfxInitRichEdit();
如果你直接用SDK写,在WinMain的较前处加上:
LoadLibraryA("RICHED32.DLL");
以前没什么的,你多虑了.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-08-04 14:42
我用的是MFC写的,谢谢你,我加上了,果然可以了。我的QQ号是44554548,不嫌弃的话可以加上我。
付出多少就会收获多少
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-08-04 14:53
CHARFORMAT cf;
memset(&cf, 0, sizeof(CHARFORMAT));
//判断是否选择了内容
BOOL bSelect = (pRich->GetSelectionType() != SEL_EMPTY) ? TRUE : FALSE;
if (bSelect)
{
           pRich->GetSelectionCharFormat(cf);
}else
{
          pRich->GetDefaultCharFormat(cf);
}
//得到相关字体属性
BOOL bIsBold = cf.dwEffects & CFE_BOLD;
BOOL bIsItalic = cf.dwEffects & CFE_ITALIC;
BOOL bIsUnderline = cf.dwEffects & CFE_UNDERLINE;
BOOL bIsStrickout = cf.dwEffects & CFE_STRIKEOUT;
帮我看看好吗?我无论怎么样,得到的cf也全部是0。我不知道为什么?我如何才能得到下划线的呢
付出多少就会收获多少
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-08-04 14:54
不好意思,单位有规定,要用MSN,所以我不用QQ.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
wyq521003
驱动小牛
驱动小牛
  • 注册日期2005-05-28
  • 最后登录2008-11-19
  • 粉丝0
  • 关注0
  • 积分406分
  • 威望53点
  • 贡献值10点
  • 好评度26点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-08-04 15:16
我的MSN:wyq521003@hotmail.com,我的Skype是wyq521003:)
付出多少就会收获多少
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-08-04 15:17
在memset(&cf, 0, sizeof(CHARFORMAT));后面加上:
cf.cbSize = sizeof( CHARFORMAT );
cf.dwMask = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_STRIKEOUT;
你再试试.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
hhyjmd
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分104分
  • 威望11点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-08-04 21:23
太好了,这里不仅可以学到好多知识,而且让人感到好亲切阿,咣咣地:)
游客

返回顶部