RichText Box wird nicht erstellt



  • Eben nicht keine Ahnung woran das liegt mein Dev-Cpp Compiler nimmt die Funktion LoadLibary nicht an. Fehlermeldung:

    funktion LoadLibary() undeclared (first use this funktion) <- so in etwa



  • *g* Windows hat auch keine Funktion namens LoadLibary() 🤡

    Dann kanst du auch mal RICHEDIT_CLASS als Fensterklasse angeben, das ist für die neueren Versionen von Rich Edit ("2.0 and later").

    (hä, musste man nicht InitCommonControls aufrufen, bevor man die verwenden kann, irgendwie steht davon gar nix (mehr?) in der MSDN 😕 😕 )



  • ach, scheiß msdn.

    Die geben immer an der falsche Stelle Codebeispiele.

    RICHEDIT_CLASS geht nicht.



  • #include<Richedit.h>
    
    // [...]
    
    HWND hRe=NULL;
    if(LoadLibrary("Riched20.dll")){
        hRe=CreateWindow(RICHEDIT_CLASS, "my rich edit 2.0 or later", WS_CHILD|WS_VISIBLE|ES_MULTILINE, 20, 20, 200, 150, parentHwnd, 0, hInstance, 0);
    }
    else if(LoadLibrary("Riched32.dll")){
        hRe=CreateWindow("RichEdit", "my rich edit 1.0", WS_CHILD|WS_VISIBLE|ES_MULTILINE, 20, 20, 200, 150, parentHwnd, 0, hInstance, 0);
    }
    else MessageBox(parentHwnd, "sorry can't create a richedit", "error", MB_ICONERROR);
    

    Aber jetzt nicht mehr die MSDN beschimpfen!



  • @flammenvogel: Ich hatte auch mal so ein Problem, es ist echt krass woran das lag: Der Name meiner Window-Klasse (WNDCLASS) enthielt ein Leerzeichen! Als ichs rausgenommen hab funzte es perfekt (d.h. das RichEdit wurde dann angezeigt)!! 😉

    Gruss,
    ~code_pilot



  • Ich sag doch das die msdn scheiße ist! 😉
    Da steht nirgends das man für die LoadLibary() Funktion richedit.h braucht.
    Was mich auch immer nervt ist das die Online MSDN keine Wildcards unterstützt.

    Jetzt funktioniert es wenigstens.

    Jetzt müsste ich nur noch wissen wie man den Inhalt der Box nachträglich verändern kann.



  • flammenvogel schrieb:

    Jetzt müsste ich nur noch wissen wie man den Inhalt der Box nachträglich verändern kann.

    z.B. EM_REPLACESEL



  • Damit ersetze ich doch nur das was der User gerade markiert hat, ich möchte aber alles ändern. Außerdem bin ich auf der suche nach einer ähnlich Funktion wie bei den edit Boxes. Da gab es eine Funktion, die hieß irgendwie SetDlgWindowText. Sowas suche ich für die RichText Box.



  • Du kannst ja vorher mit EM_SETSEL die Markierung entsprechend setzen. Ansonsten gilt aber auch:

    Rich edit controls support almost all of the messages and notification messages used with multiline edit controls.

    flammenvogel schrieb:

    Da gab es eine Funktion, die hieß irgendwie SetDlgWindowText. Sowas suche ich für die RichText Box.

    Du meinst sicher SetDlgItemText - hast du diese Funktion mit dem RichEdit-Control denn schon ausprobiert?



  • flammenvogel schrieb:

    Ich sag doch das die msdn scheiße ist! 😉
    Da steht nirgends das man für die LoadLibary() Funktion richedit.h braucht.

    Mensch Jung, die Funktion heißt LoadLibrary()!

    Und für LoadLibrary() braucht man auch nicht die richedit.h!

    Wenn Du schon auf die MSDN schimpfst, dann lerns sie erstmal lesen und verstehen...



  • Du brauchst garn nicht schimpfen, ich habe den Funktionsnamen aus der MSDN herauskopiert. Und der Compiler hat trozdem eine Fehlermeldung ausgeben.



  • Übrigends ich habe jetzt die Funktion SetDlgItemText versucht und es funzt. Ich wusste nur nicht mehr nicht mehr wie die Funktion heißt.


Anmelden zum Antworten