Schriftart und Richedit Problem
-
Also mein Richedit hab ich so erstellt
HWND richedit = CreateWindowEx(WS_EX_WINDOWEDGE,RICHEDIT_CLASS,"",WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_AUTOVSCROLL|WS_VSCROLL,chatlogposX,chatlogposY,chatlogWidth,chatlogHeight,hDlg,NULL,GetModuleHandle(NULL),NULL);und
void AddText(HWND hEdit, const char *text, int r, int g, int b) { char *cpyText = (char *)malloc(strlen(text) + 10); sprintf(cpyText, "%s\n", text); int nCpyText = strlen(cpyText); CHARFORMAT cfSysText; ZeroMemory(&cfSysText, sizeof(CHARFORMAT)); cfSysText.cbSize = sizeof(CHARFORMAT); cfSysText.dwMask = CFM_COLOR | CFM_SIZE; cfSysText.crTextColor = RGB(r, g, b); cfSysText.bCharSet = DEFAULT_CHARSET; cfSysText.bPitchAndFamily = DEFAULT_PITCH; cfSysText.yHeight = 32; strcpy(cfSysText.szFaceName, "Arial"); int nLength = GetWindowTextLength(hEdit); SendMessage(hEdit, EM_SETSEL, nLength, nLength); SendMessage(hEdit, EM_REPLACESEL, FALSE, (LPARAM)cpyText); SendMessage(hEdit, EM_SETSEL, nLength, nLength + nCpyText); SendMessage(hEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfSysText); SendMessage(hEdit, EM_SETSEL, nLength + nCpyText, nLength + nCpyText); free(cpyText); }Aber er zeigt mir nie Arial an ! Immer nur die Schrift art "System" ..
-
Wie siehts aus mit den Return-Werten ? Speziell von:
SendMessage(hEdit, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cfSysText);
?
-
cfSysText.dwMask = CFM_BOLD | CFM_COLOR | CFM_SIZE | CFM_FACE;jetzt gehts