Символ в RichEdit
От: dubrovskiy Украина  
Дата: 12.03.03 17:10
Оценка:
Добрый день.

Помогите.
RichEdit настроен на один шрифт, но необходимо вставить символ
с другого шрифта.
Re: Символ в RichEdit
От: VVV Россия  
Дата: 12.03.03 19:12
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

D>Добрый день.


D>Помогите.

D>RichEdit настроен на один шрифт, но необходимо вставить символ
D>с другого шрифта.

EM_SETCHARFORMAT не помогает?
Re[2]: Символ в RichEdit
От: dubrovskiy Украина  
Дата: 14.03.03 09:52
Оценка:
Здравствуйте, VVV, Вы писали:

VVV>Здравствуйте, dubrovskiy, Вы писали:


D>>Добрый день.


D>>Помогите.

D>>RichEdit настроен на один шрифт, но необходимо вставить символ
D>>с другого шрифта.

VVV>EM_SETCHARFORMAT не помогает?


Нет не помогает
Re[2]: Символ в RichEdit
От: dubrovskiy Украина  
Дата: 14.03.03 09:52
Оценка:
Здравствуйте, VVV, Вы писали:

VVV>Здравствуйте, dubrovskiy, Вы писали:


D>>Добрый день.


D>>Помогите.

D>>RichEdit настроен на один шрифт, но необходимо вставить символ
D>>с другого шрифта.

VVV>EM_SETCHARFORMAT не помогает?


Нет не помогает
Re[3]: Символ в RichEdit
От: Patalog Россия  
Дата: 14.03.03 09:55
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

[]

VVV>>EM_SETCHARFORMAT не помогает?


D>Нет не помогает


Ну тады покажи как ты ето делаешь.
Почетный кавалер ордена Совка.
Re[4]: Символ в RichEdit
От: dubrovskiy Украина  
Дата: 14.03.03 10:24
Оценка:
Здравствуйте, Patalog, Вы писали:

P>Здравствуйте, dubrovskiy, Вы писали:


P>[]


VVV>>>EM_SETCHARFORMAT не помогает?


D>>Нет не помогает


P>Ну тады покажи как ты ето делаешь.


Сщздаю окно

hRtfUp = CreateWindow("RichEdit", NULL, WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT|
ES_AUTOHSCROLL, 80,27,200,30, hDlg, NULL, hInst, NULL);

Создаю CHARFORMAT

chFmt.cbSize = sizeof(CHARFORMAT);
SendMessage(hRtfUp, EM_GETCHARFORMAT, TRUE, (LPARAM)&chFmt);
chFmt.bPitchAndFamily = FF_DONTCARE|DEFAULT_PITCH;
chFmt.bCharSet=RUSSIAN_CHARSET;
chFmt.yHeight = 250;
chFmt.dwEffects=CFE_ITALIC;
strcpy(chFmt.szFaceName, _T("GOST type A"));
SendMessage(hRtfUp, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&chFmt);

А дальше у меня есть кнопка к которой привязан символ
при нажатии на нее символ вставляется в RichEdit.
Устанавливаю новый формат

chFmt.cbSize = sizeof(CHARFORMAT);
SendMessage(hRtfUp, EM_GETCHARFORMAT, TRUE, (LPARAM)&chFmt);
chFmt.bPitchAndFamily = FF_DONTCARE|DEFAULT_PITCH;
chFmt.bCharSet=RUSSIAN_CHARSET;
chFmt.yHeight = 250;
chFmt.dwEffects=CFE_ITALIC;
strcpy(chFmt.szFaceName, _T("Symbol type A"));

А вот дальше не знаю что делать?
Re[5]: Символ в RichEdit
От: VVV Россия  
Дата: 14.03.03 11:07
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

D>Здравствуйте, Patalog, Вы писали:


P>>Здравствуйте, dubrovskiy, Вы писали:


P>>[]


VVV>>>>EM_SETCHARFORMAT не помогает?


D>>>Нет не помогает


P>>Ну тады покажи как ты ето делаешь.



D>А дальше у меня есть кнопка к которой привязан символ

D>при нажатии на нее символ вставляется в RichEdit.
D>Устанавливаю новый формат

D>chFmt.cbSize = sizeof(CHARFORMAT);

D>SendMessage(hRtfUp, EM_GETCHARFORMAT, TRUE, (LPARAM)&chFmt);
D>chFmt.bPitchAndFamily = FF_DONTCARE|DEFAULT_PITCH;
D>chFmt.bCharSet=RUSSIAN_CHARSET;
D>chFmt.yHeight = 250;
D>chFmt.dwEffects=CFE_ITALIC;
D>strcpy(chFmt.szFaceName, _T("Symbol type A"));

D>А вот дальше не знаю что делать?


D>


Посмотри внимательно на dwMask в структуре CHARFORMAT. Особенно на флажок CFM_FACE.
MSDN

dwMask
Members containing valid information or attributes to set. This member can be zero, one, or more than one of the following values.


Value Meaning
CFM_BOLD The CFE_BOLD value of the dwEffects member is valid.
CFM_CHARSET The bCharSet 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.
Re[6]: Символ в RichEdit
От: dubrovskiy Украина  
Дата: 14.03.03 11:59
Оценка:
Подкажи как отправить символ в RichEdit
кокое EM_ необходимо!
Re[7]: Символ в RichEdit
От: dubrovskiy Украина  
Дата: 14.03.03 12:24
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

D>Подкажи как отправить символ в RichEdit

D>кокое EM_ необходимо!

Объясните как работает EM_STREAMIN?
Re[7]: Символ в RichEdit
От: VVV Россия  
Дата: 14.03.03 12:27
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

D>Подкажи как отправить символ в RichEdit

D>кокое EM_ необходимо!

EM_SETSEL + EM_REPLACESEL
Re[8]: Символ в RichEdit
От: VVV Россия  
Дата: 14.03.03 12:46
Оценка:
Здравствуйте, dubrovskiy, Вы писали:

D>Здравствуйте, dubrovskiy, Вы писали:


D>>Подкажи как отправить символ в RichEdit

D>>кокое EM_ необходимо!

D>Объясните как работает EM_STREAMIN?


MSDN пример: (MFC, но всё будет так же на Win API)

Example

// My callback procedure that writes the rich edit control contents
// to a file.
static DWORD CALLBACK 
MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
   CFile* pFile = (CFile*) dwCookie;

   *pcb = pFile->Read(pbBuff, cb);

   return 0;
}

// The example code.
   // The pointer to my rich edit control.
   extern CRichEditCtrl* pmyRichEditCtrl;
   // The file from which to load the contents of the rich edit control.
   CFile cFile(TEXT("myfile.rtf"), CFile::modeRead);
   EDITSTREAM es;

   es.dwCookie = (DWORD) &cFile;
   es.pfnCallback = MyStreamInCallback; 
   pmyRichEditCtrl->StreamIn(SF_RTF, es);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.