Fragen [FileSize, Tab in RichEdits, ReadFile mit UNICODE]



  • Die Funktionen siehst du doch alle in der MSDN-Library - hier
    Ich denke, du brauchst MultiByteToWideChar 🙂



  • Danke, habe die Funktion schon entdeckt aber nicht genauer betrachtet da ja MultiByte-Strings wieder etwas anderes sind und ich nicht gewusst habe, dass ich per Flag auch ANSI-Strings als Quelle einstellen kann.

    Also es funktioniert nun wieder. Bloß was tun wenn ich bereits einen TCHAR* ausgelesen habe? Also eigentlich jeweils 2 char* zusammengehören? Sowas tun:

    // Mit char* FileContentA Datei auslesen
    ...
    
    // Hier nochmal TCHAR* FileContentW anlegen mit Größe == FileSize
    ...
    
    if(IsTextUnicode(...))
    {
        // was hier?
        // doch nicht sowas?:
        FileContentW = FileContentA; // casten, jaja...
        FileSize /= 2;
    }
    else
    {
        MultiByte...
    }
    
    std::basic_string<TCHAR> Text = FileContentW;
    delete [] FileContentW;
    

    MfG SideWinder



  • Wenn du schon Unicode ausgelesen hast sollte eigentlich ein cast reichen 🙂



  • zu 2.) Vielleicht hat das was mit WS_TABSTOP und WS_GROUP zu tun 😕



  • Funktioniert nicht, gibt mir nur das erste Zeichen in der RichText-Box aus, arbeitet die etwa wieder intern mit char* und liest das 'A' und dann eine 0?

    Kann ja nicht sein, imho hat sie schon chinesische Zeichen ausgegeben...

    Also das was ich eben zusammengecasted habe funktioniert nicht 😞

    MfG SideWinder



  • Hast du denn dein Programm jetzt mit Unicode-Unterstützung kompiliert?



  • Es funktioniert nun, keine Ahnung warum. Hab die Funktion nochmals neu geschrieben und nun gehts 😕

    @Frage3: Hmm mal sehen, aber irgendwie müsste das doch eine Option beim Erstellen sein, imho markiert kein einziges Textfeld das ich jemals gesehen habe den gesamten Text der in ihr steht sondern gibt entweder dem nächsten Objekt den Fokus oder erstellt 4/8 Leerzeichen 😕

    Naja ich werds weiter versuchen.

    MfG SideWinder



  • Hast du evtl. dort nur dieses eine Control sitzen? Dann könnte es nämlich sein, dass der Fokus wieder neu auf das Control gesetzt wird und dabei wird dann häufig der sich darin befindende Text markiert 😕



  • flenders schrieb:

    Hast du evtl. dort nur dieses eine Control sitzen? Dann könnte es nämlich sein, dass der Fokus wieder neu auf das Control gesetzt wird und dabei wird dann häufig der sich darin befindende Text markiert 😕

    Jop das ist wahr, wie stelle ich ein, dass das RichEdit nicht Ziel des Fokus-TabStops werden kann bzw. dass dieser Wechsel mit TabStop überhaupt nicht funktioniert für ein bestimmtes Fenster?

    Wenn ich den Dialog als Resource mache kann ich das ja anhaken und fertig, aber RichEdits muss ich ja mit CreateWindow() erstellen - wie nun? Den Style gibts nicht in der MSDN?!

    MfG SideWinder



  • Hast du da einfach den Haken bei Tabstop rausgenommen? Hast du den evtl. bei CreateWindow angegeben - evtl. mal explizit dieses Flag löschen (ist ja evtl bereit wo enthalten) 😕


Anmelden zum Antworten