看了一下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里面要怎样声明?
最好能够给出一个实例,可以加分的!

解决方案 »

  1.   

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

  2.   

    '前旧做的一个程序里用到的,一起给你好了
    '不过直接发 EM_SETCHARFORMAT 给 RichText 控件没用,RichText 控件会屏蔽此消息
    '必须发送给自己创建的 RichEditPrivate 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 Type
      

  3.   

    EM_SETCHARFORMAT是textbox的消息,不适合richtextbox
      

  4.   

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