MAP_MODE(MM_TEXT)



  • Hallo,

    ich zeichne einige Linien in eine Bitmap .. und zeige diese Später wieder an.
    Als Map Mode habe ich (zumindest für den Anfang) MM_TEXT gewählt.
    Folgender Code ist soweit in Ordnung:

    SetScrollSizes(MM_TEXT, totalSize); 
    
    // ****************************************** 	 
    CDC     memDC; 
    CDC*    pDC = GetDC(); 
    CBitmap *pOldBitmap;   
    
    memDC.CreateCompatibleDC(pDC);
    Bitmap.CreateCompatibleBitmap(&memDC, width, height); 
    
    pOldBitmap = memDC.SelectObject(&Bitmap); 
    memDC.SetMapMode(MM_TEXT);
    memDC.FillSolidRect(0, 0, width, height, 0x00ff00ff); 
    
    // Routine für's Zeichnen
    
    memDC.SelectObject(pOldBitmap);
    ReleaseDC(&memDC);
    // *********************************************
    

    Jetzt möchte ich aber auf MM_LOENGLISH umsteigen.
    Wenn ich folgende Zeile

    memDC.SetMapMode(MM_TEXT);
    

    in

    memDC.SetMapMode(MM_LOENGLISH);
    

    umändere wird alles schwarz .. und ich weiss leider nicht warum 😞

    Noch eine Kleinigkeit: Was passiert eigentlich mit der Scrollleiste:

    SetScrollSizes(MM_TEXT, totalSize);
    

    Muss diese auch auf MM_LOENGLISH gesetzt werden?

    Hoffe, Ihr könnt ein bißchen weiterhelfen.

    Merci



  • Ich glaube die y-Koordinaten sind jetzt negativ. Änder mal die Vorzeichen. (also -height)



  • Soo..

    An dieser Stelle -height:

    memDC.FillSolidRect(0, 0, width, -height, 0x00ff00ff);
    

    Dann alle y-Koordinaten auf - setzen.

    So scheint's zu funktionieren. Aber die Scrollleisten sind auf MM_TEXT gesetzt.
    Jetzt ist meine Zeichnung mit einem schwarzen Rand versehen. Vermutlich wegen

    SetScrollSizes(MM_TEXT, totalSize);
    

    Hast du noch eine Idee, wie man die schwarze Fläche neben der Zeichnung wegbekommt!?



  • Was passiert denn, wenn du den Scollleisten den anderen MapMode mitteilst?

    Sorry, ich bin nicht besonders fit was zeichnen und besonders Scrolleisten angeht. ich hab da nur die Grundlagen durchgeschaut.



  • Danke, dein vorheriger Tipp hat mir weitergeholfen.

    Ich hab

    SetScrollSizes(MM_LOENGLISH, totalSize);
    

    ausprobiert, doch dann wird nichts mehr angezeigt.

    Mit MM_TEXT bleibt's gleich: Zeichnung, umrandet von einer schwarzen Fläche.

    Ich probier mal ein bißchen rum, vielleicht finde ich etwas raus..



  • Ich hab's. Hier http://home.arcor.de/cpp_kurs/mfc/mfc/kap5/lektion5.htm ist es ganz gut erklärt, wie man zwischen den einzelnen MapModes wechselt.


Anmelden zum Antworten