Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Меняю шрифт в RTB... Добавлено: 19.05.04 04:48  

Автор вопроса:  Calhoon | Web-сайт: 4elovekssn.blog.ru | ICQ: 789764 

В RTB при запуске программы выделяю какой-нибудь текст на русском и меняю шрифт. Иногда появляется косяк с тем, что русские символы отображаются каракулями. Как от него избавиться?

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #1
Добавлено: 19.05.04 04:55

Наверное у тебя набор символов меняется с кирилицы на западно-европейский.

Как с VB-шным контролом работать не знаю. Могу только на API. Глянь пример API Richpad 2 на моём сайте.

Ответить

Номер ответа: 2
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #2
Добавлено: 19.05.04 05:29
Вот смотрел я API Richpad... Нифига не понял!

Ответить

Номер ответа: 3
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #3
Добавлено: 19.05.04 13:45

'Тип CHARFORMAT и объявления API сам скопируй его из API-viewer'а

'

Const WM_USER = &H400

Dim hRichEdit as Long: hRichEdit=RichTextBox1.hWnd

Dim QuickCharformat As CHARFORMAT

'

Const EM_GETCHARFORMAT As Long = (WM_USER + 58)

QuickCharformat.cbSize = Len(QuickCharformat)

SendMessage hRichEdit, EM_GETCHARFORMAT, ByVal True, QuickCharformat

'

Const CFM_CHARSET = &H8000000

Const RUSSIAN_CHARSET As Long = 204

QuickCharformat.dwMask = CFM_CHARSET

QuickCharformat.bCharSet=RUSSIAN_CHARSET

'

Const EM_SETCHARFORMAT As Long = (WM_USER + 68)

Const SCF_SELECTION As Long = &H1

SendMessage hRichEdit, EM_SETCHARFORMAT, SCF_SELECTION, QuickCharformat

Ответить

Номер ответа: 4
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #4
Добавлено: 20.05.04 04:18
Ээээ.... Дело в том, что в API я не такой умный... Пытался вставить код, делал оюьявления функций... Нифига не работает! Можно попонятней?

Ответить

Номер ответа: 5
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #5
Добавлено: 24.05.04 18:47
- Открой ARPAD 2;
- нажми на тулбаре кнопку "Формат текста" (рисунок с буквой С);
- нажми "Помощь";
- медитируй.

Ответить

Номер ответа: 6
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #6
Добавлено: 25.05.04 05:32

Ну вот что не так?

 

Private Const WM_USER = &H400
Private Const EM_GETCHARFORMAT As Long = (WM_USER + 58)
Private Const CFM_CHARSET = &H8000000
Private Const RUSSIAN_CHARSET As Long = 204
Private Const EM_SETCHARFORMAT As Long = (WM_USER + 68)
Private Const SCF_SELECTION As Long = &H1

Private Type CHARFORMAT2
    dwMask As Long
    cbSize As Integer
    bCharSet As Byte
End Type


Private Sub Command1_Click()

Dim hRichEdit As Long
hRichEdit = rich1.hwnd

Dim QuickCharformat As CHARFORMAT2


QuickCharformat.cbSize = Len(QuickCharformat)
SendMessage hRichEdit, EM_GETCHARFORMAT, ByVal True, QuickCharformat

QuickCharformat.dwMask = CFM_CHARSET
QuickCharformat.bCharSet = RUSSIAN_CHARSET

SendMessage hRichEdit, EM_SETCHARFORMAT, SCF_SELECTION, QuickCharformat
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #7
Добавлено: 25.05.04 06:17
Во первых неправильно определён тип CHARFORMAT2 (ты каким API-Viewer'ом такое объявление нашёл?).
Скачай APIViewer2004. Там должно быть правильное объявление этого типа.
Во вторых, если ты пользуешся MS RichTextBox control, то тебе нужен не CHARFORMAT2, а CHARFORMAT.

Ответить

Номер ответа: 8
Автор ответа:
 2San



Вопросов: 11
Ответов: 68
 Профиль | | #8 Добавлено: 25.05.04 21:30
А есть урл откуда можно скачать APIViewer2004?

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 25.05.04 22:30
activevb.de

Ответить

Номер ответа: 10
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #10
Добавлено: 26.05.04 05:16

Скачал. Искал. Ну НЕТУ ТАМ!!!

Народ, ну помогите!!!

Ответить

Номер ответа: 11
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #11
Добавлено: 01.06.04 04:27
Ну вы что затихли?

Ответить

Номер ответа: 12
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #12
Добавлено: 05.06.04 11:21
win32.hlp:

The CHARFORMAT structure contains information about character formatting in a rich edit control.

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;
} CHARFORMAT;
 

Members

cbSize

Size in bytes of this structure. Must be set before passing the structure to the rich edit control.

dwMask

Members containing valid information or attributes to set. This member can be zero or more of the following values:

Value Meaning
CFM_BOLD The CFE_BOLD value of the dwEffects member is valid.
CFM_COLOR The crTextColor member and the CFE_AUTOCOLOR value of the dwEffects member are valid.
CFM_FACE The szFaceName member is valid.
CFM_ITALIC The CFE_ITALIC value of the dwEffects member is valid.
CFM_OFFSET The yOffset member is valid.
CFM_PROTECTED The CFE_PROTECTED value of the dwEffects member is valid.
CFM_SIZE The yHeight member is valid.
CFM_STRIKEOUT The CFE_STRIKEOUT value of the dwEffects member is valid.
CFM_UNDERLINE. The CFE_UNDERLINE value of the dwEffects member is valid.
 

dwEffects

Character effects. This member can be a combination of the following values:

Value Meaning
CFE_AUTOCOLOR The text color is the return value of GetSysColor (COLOR_WINDOWTEXT).
CFE_BOLD Characters are bold.
CFE_ITALIC Characters are italic.
CFE_STRIKEOUT Characters are struck out.
CFE_UNDERLINE Characters are underlined.
CFE_PROTECTED Characters are protected; an attempt to modify them will cause an EN_PROTECTED notification message.
 

yHeight

Character height.

yOffset

Character offset from the baseline. If this member is positive, the character is a superscript; if it is negative, the character is a subscript.

crTextColor

Text color. This member is ignored if the CFE_AUTOCOLOR character effect is specified.

bCharSet

Character set value. Can be one of the values specified for the lfCharSet member of the LOGFONT structure.

bPitchAndFamily

Font family and pitch. This member is the same as the lfPitchAndFamily member of the LOGFONT structure.

szFaceName

Null-terminated character array specifying the font face name.

 

Remarks

This structure is used with the EM_GETCHARFORMAT and EM_SETCHARFORMAT messages.

Ответить

Номер ответа: 13
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #13
Добавлено: 06.06.04 05:24
Спасибо, sharp...
Я с @CyRax PTR в асе пообщался, добился, чтоб помог. Ему спасибо, все работает!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам