CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

向RichEdit 发送 EM_SETCHARFORMAT 遇到的问题

楼主chewinggum(口香糖·个人二五计划第一年)2003-06-04 17:44:14 在 VB / API 提问

看了一下rich.h中的定义看到:  
  typedef   struct   _charformat  
  {  
  UINT cbSize;  
  _WPAD _wPad1;  
  DWORD dwMask;  
  DWORD dwEffects;  
  LONG yHeight;  
  LONG yOffset;  
  COLORREF crTextColor;  
  BYTE bCharSet;  
  BYTE bPitchAndFamily;  
  char szFaceName[LF_FACESIZE];  
  _WPAD _wPad2;  
  }   CHARFORMATA;  
   
  其中   _WPAD   的定义为:  
  #ifdef   _WIN32  
  # define _WPAD /##/  
  #else  
  # define _WPAD WORD  
  #endif  
   
  不明白/##/是什么东西。这个结构体在VB里面要怎样声明?  
  最好能够给出一个实例,可以加分的! 问题点数:30、回复次数:5Top

1 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2003-06-04 23:31:56 得分 0

#If   Win32   Then  
          Debug.Print   "AAA"  
  #Else  
          Debug.Print   "BBB"  
  #End   IfTop

2 楼James0001(虾米—什么时候成大虾?)回复于 2003-06-05 07:07:50 得分 30

'前旧做的一个程序里用到的,一起给你好了  
  '不过直接发   EM_SETCHARFORMAT   给   RichText   控件没用,RichText   控件会屏蔽此消息  
  '必须发送给自己创建的   RichEdit  
   
  Private   Const   SCF_SELECTION   =   &H1&  
  Private   Const   SCF_WORD   =   &H2&  
  Private   Const   SCF_DEFAULT   =   &H0&  
  Private   Const   SCF_ALL   =   &H4&  
  Private   Const   LF_FACESIZE   =   32&  
  Private   Const   CFM_BOLD   =   &H1&  
  Private   Const   CFM_ITALIC   =   &H2&  
  Private   Const   CFM_UNDERLINE   =   &H4&  
  Private   Const   CFM_STRIKEOUT   =   &H8&  
  Private   Const   CFM_PROTECTED   =   &H10&  
  Private   Const   CFM_LINK   =   &H20&  
  Private   Const   CFM_SIZE   =   &H80000000  
  Private   Const   CFM_COLOR   =   &H40000000  
  Private   Const   CFM_FACE   =   &H20000000  
  Private   Const   CFM_OFFSET   =   &H10000000  
  Private   Const   CFM_CHARSET   =   &H8000000  
  Private   Const   CFE_BOLD   =   &H1&  
  Private   Const   CFE_ITALIC   =   &H2&  
  Private   Const   CFE_UNDERLINE   =   &H4&  
  Private   Const   CFE_STRIKEOUT   =   &H8&  
  Private   Const   CFE_PROTECTED   =   &H10&  
  Private   Const   CFE_LINK   =   &H20&  
  Private   Const   CFE_AUTOCOLOR   =   &H40000000  
  Private   Type   CHARRANGE  
          cpMin   As   Long  
          cpMax   As   Long  
  End   Type  
  Private   Type   TEXTRANGE  
          chrg   As   CHARRANGE  
          lpstrText   As   String  
  End   Type  
  Private   Type   CHARFORMAT  
          cbSize   As   Long  
          dwMask   As   Long  
          dwEffects   As   Long  
          yHeight   As   Long  
          yOffset   As   Long  
          crTextColor   As   Long  
          bCharSet   As   Byte  
          bPitchAndFamily   As   Byte  
          'szFaceName   As   String   *   LF_FACESIZE  
          szFaceName(LF_FACESIZE   -   1)   As   Integer  
  End   TypeTop

3 楼rainstormmaster(暴风雨 v2.0)回复于 2003-06-05 07:16:47 得分 0

EM_SETCHARFORMAT是textbox的消息,不适合richtextboxTop

4 楼rainstormmaster(暴风雨 v2.0)回复于 2003-06-05 07:19:36 得分 0

建议使用相应的以WM开头的消息,不过万事都有例外,真要想用,也不是不可以,要麻烦一些。Top

5 楼James0001(虾米—什么时候成大虾?)回复于 2003-06-05 07:51:46 得分 0

RichEdit   支持基本上所有   Edit   (EM_*)   的消息,当然还有它自己的以   EM   开头的消息,EM_SETCHARFORMAT   是其中之一。Top

相关问题

  • RichEdit
  • RichEdit
  • RICHEDIT
  • 利用OLE向RichEdit插入“gif”图象时,总出现“存储器不足”的提示,请问谁遇到过类似的情况?
  • rtf,RichEdit
  • 当DELPHI遇到WORD!!!
  • 遇到了难题
  • 遇到难题了!!!
  • 遇到问题咯!
  • 遇到问题了???

关键词

  • win32
  • 消息
  • cfm
  • wpad
  • setcharformat
  • cfe
  • scf
  • private const
  • em

得分解答快速导航

  • 帖主:chewinggum
  • James0001

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo