ImageBox



  • hi

    ich würde gerne wissen wie man mit imageboxen arbeitet, die hilfe die ich habe hilft mir nicht 😞

    hier mein ansatz (gekürzt).

    static HWND img_Image1;
    switch(message)
    {
    case WM_CREATE:
        img_Image1 = CreateWindow("image", "Bild", WS_CHILD | WS_VISIBLE,
                                    25,25,100,50, hwnd, (HMENU)1,
                                    (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
    case WM_COMMAND: //wenn ein Button (der erstellt wurde, ich habe Code nur gekürzt gedrückt wird dann ...
        img_Image1.set_Image("C:\\test.bmp");
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    

    das geht nicht weil set_Image gerne ein Objekt (nämlich image) haben will.
    wie mache ich so ein objekt und wie sage ich ihm dann welches bild es haben soll?

    phillip



  • Haben wir schon wieder April?



  • Guck mal in der MSDN Lib nach LoadBitmap(...)

    Dann musst de das ändern:

    img_Image1.set_Image(LoadBitmap(...));
    

    Denn ich vermute mal das set_Image ein HBITMAP haben will, oder?!



  • Phillip schrieb:

    static HWND img_Image1;
    

    img_Image1 ist ein fensterhandle kein objekt somit kann es auch keine methode set_image besitzen.

    Phillip schrieb:

    img_Image1 = CreateWindow("image", "Bild", WS_CHILD | WS_VISIBLE,
                                    25,25,100,50, hwnd, (HMENU)1,
                                    (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
    

    was ist image für eine fensterklasse, selber erstellt???

    welche hilfe hast du den? und versuche doch mal genau zu erklären was du machen möchtest.



  • also, ich habe die hilfe von
    http://www.henkessoft.de/index.htm
    (wie ich auf image gekommen bin weiß ich nicht mehr, glaube aber in der msdn gibt es ein paar einträge)

    das mit dem static ist ebenfalls aus der hilfe ...
    und HWND img_image1 ist "nur" ein fensterhandle? kein object? ich mache doch createwindow ... naja ...

    und was ich genau machen will:
    einfach auf knopfdruck (WM_COMMAND) ein bild in dem imagefeld anzeigen.

    würde mich echt über ein bisschen quelltext mit schönen kommentare freuen! 🙄

    danke ...



  • Die gesamte WinAPI besteht nur aus C-Funktionen.
    Da ist quasi nix objekt-orientiert. Dazu hat Microsoft den Wrapper "MFC" erfunden 😉

    Es gibt kein "Image"-Objekt.
    Was es aber gibt ist eine Fensterklasse "STATIC", der man das Window-Style SS_BITMAP geben kann und dann mittels SendMessage(fensterhandle,STM_SETIMAGE,...) eine Bitmap zuweisen kann.



  • ich lese mir das tutor eh gerade nochmal durch, ich verstehe schon um einiges mehr was ich da mache.

    aber kannst du mir bitte ein ganz kurzes beispiel prog mit kommentaren posten? wäre ganz lieb 😃



  • Hab ne C/C++ IDE vom Rechner verbannt, steige zur Zeit auf C# und .net mit Windows.Forms um.
    Evtl. noch interessant für dich wäre http://www.winprog.org/



  • ist gut, ich schaue mir das an. danke jedenfalls ...
    aber falls noch wer lust hat mir quelltext zu schicken -> gerne 🙂


Anmelden zum Antworten