阅读:2207回复:13
关于文字处理的问题
我想在RichEdit中区分一行文字的不同颜色,或者找到有下划线的文字,请问大家我该怎么做呢?
|
|
|
沙发#
发布于:2005-08-03 13:37
调用GetSelectionCharFormat函数.
|
|
|
板凳#
发布于: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; |
|
地板#
发布于:2005-08-04 11:10
谢谢
|
|
|
地下室#
发布于:2005-08-04 14:05
向大家请教个问题:为什么我的程序一加上CRichEdit控件,我的程序运行的时候就会自动退出呀?
|
|
|
5楼#
发布于:2005-08-04 14:21
因为你没有在程序开头调用AfxInitRichEdit函数.
|
|
|
6楼#
发布于:2005-08-04 14:26
谢谢你,可是我不知道怎么样调用这个函数,在那里调用这个函数?以前的事情希望你不要放在心上
|
|
|
7楼#
发布于:2005-08-04 14:36
如果你用MFC写,在App的InitInstance较前处加上:
AfxInitRichEdit(); 如果你直接用SDK写,在WinMain的较前处加上: LoadLibraryA("RICHED32.DLL"); 以前没什么的,你多虑了. |
|
|
8楼#
发布于:2005-08-04 14:42
我用的是MFC写的,谢谢你,我加上了,果然可以了。我的QQ号是44554548,不嫌弃的话可以加上我。
|
|
|
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。我不知道为什么?我如何才能得到下划线的呢 |
|
|
10楼#
发布于:2005-08-04 14:54
不好意思,单位有规定,要用MSN,所以我不用QQ.
|
|
|
11楼#
发布于:2005-08-04 15:16
我的MSN:wyq521003@hotmail.com,我的Skype是wyq521003:)
|
|
|
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; 你再试试. |
|
|
13楼#
发布于:2005-08-04 21:23
太好了,这里不仅可以学到好多知识,而且让人感到好亲切阿,咣咣地:)
|
|