RichEdit GREEK_CHARSET



  • Tag Zusammen
    Ich versuche momentan einen Griechischen Text in ein Rich-Edit-Control einzufügen. Klappt auch fast wunderbar. Bis auf das er mit einem Buchstaben nicht zurechtkommt.
    Das Wort: μία wird z.B als: μ���α. Wobei die � bei mir kleine Vierecke sind und ungefähr so aussehen: □(Aus der Zeichentabelle kopiert)!
    Wohingegen er dieses Wort: καὶ richtig darstellt. Weiß jemand woran das liegen könnte?

    Hier noch ein Screen, wie es aussehen soll und wie es aussieht: http://img214.imageshack.us/img214/4601/greek.jpg

    Hie mal der Code:

    SendMessage(ausgabe,EM_SETTEXTEX,(WPARAM)&st_selection,(LPARAM)insert_string.c_str());
    SendMessage(ausgabe, EM_EXSETSEL, 0, (LPARAM)&cr);//Der hinzugefügte Text wird Ausgewählt
    //Ausgewählte Text wird formatiert
    charformat.cbSize = sizeof(charformat);
    charformat.dwMask = CFM_BOLD|CFM_ITALIC|CFM_FACE|CFM_COLOR|CFM_SIZE;
    charformat.dwEffects = NULL;;
    charformat.yHeight = 170;
    charformat.crTextColor = RGB(70,60,59);
    wcscpy_s(charformat.szFaceName, L""); 
    charformat.bCharSet = GREEK_CHARSET;
    
    SendMessage(ausgabe,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&charformat);
    

  • Mod

    Und das ist mit Sicherheit Unicode?
    Das Fenster als Unicode erzeugt?



  • Öhm ja..

    const wchar_t szAppName[] = L"Fenster";
    wc.cbClsExtra         = 0;
    wc.cbWndExtra         = 0;
    wc.hbrBackground      = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wc.hCursor            = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon              = LoadIcon(hInstanceGlobal,MAKEINTRESOURCE(ID_MAIN_ICON));
    wc.hInstance          = hInstance;
    wc.lpfnWndProc        = WndProc;
    wc.lpszClassName      = szAppName;
    wc.lpszMenuName       = 0;
    wc.style              = CS_HREDRAW | CS_VREDRAW;
    
    RegisterClass(&wc);
    
    //Haupt-Fenster wird erstellt//
    hWnd = CreateWindowEx( WS_EX_TOOLWINDOW,
    			szAppName,
    			szAppName,
    			WS_VISIBLE|WS_POPUP|WS_CLIPCHILDREN,
    			iWidth - 300,
    			iHeight - 130-(appBarData.rc.bottom-appBarData.rc.top),
    			300,
    			130,
    			NULL,
    			NULL,
    			hInstance,
    			NULL);
    

    Und Zeichensatz ist auch auf Unicode eingestellt.



  • Keiner mehr ne Ahnung woran es liegen könnte??



  • Ich bin zwar ein bischen weitergekommen, aber den Fehler konnte ich immer noch nicht ganz lösen: Das RichEdit stellt alle Zeichen richtig dar. Eingenommen diesem: ὶ. Wenn der strich über dem Zeichen aber in die andere Richtung geht kommen die drei Vierecke. Weiß jemand wie ich das ändern kann. Oder ist die einzige möglichkeit: Das Zeichen zu ersetzten??


Anmelden zum Antworten