Resize - TImage mit Bitmap



  • Hallo,

    die Form muß neu gezeichnet werden!

    wenn du dein Test maximiert hast und dieser Effeckt erscheint,
    das kleine Bild auf dem Großen, und klickst auf minimieren und
    danach auf die Taskleiste um es wieder aufzubauen ist der Effeckt
    weg, daher muß die Form neu gezeichnet werden wenn ein Resize aus
    gelöst wurde.

    gruß promicha



  • Ich habe folgendes versucht im OnResize-Event der Form:
    Form->Repaint();
    Image->Repaint();

    Beides funktioniert nicht. Tut mir leid, wenn ich jetzt irgendetwas offensichtliches übersehe, aber ich weiß wirklich nicht, was ich machen soll.



  • hast recht funktioniert nicht, habs gerade probiert.
    Ich habe jetzt alle einfachen sachen mal probiert von
    Refresh bis Update aber nichts hilft. Ich probiere mal
    ob der Effeckt bleibt wenn man beim onResize das Bild
    erneut einladet, wenn nicht dann giebts da auch noch
    Möglichkeiten.



  • Bild neu einladen bringt nichts.
    Also eins ist sicher, es liegt an MDI, denn normal gehts ja.
    Mich interessiert das jetzt auch, aber ich gehe erst mit dem
    Hund und dann lese,suche,FAQe mich mal durch ob ich was finde
    womit ich der Sache auf dem Grund komme, ist bestimmt Simpel.



  • Super, ich danke Dir schon mal jetzt für Deine bisherigen Mühen.
    Ich muß jetzt noch ein bißchen an meinen Datenbank-projekten weiterarbeiten. Dann gehts es mal ins Bett. 5:30 Uhr ist Aufstehen angesagt... 😃 👍



  • So also, ähh ja erst mal gute::nacht

    ich habe auf die schnelle nichts gefunden, leider mußte ich auch
    geschlagende fast 2 Stunden Telefonieren.
    Nun gut man kann es kompliziert machen und die Messages abfangen und
    Auswerten da onResize ja bereits beim Start ausgefürt wird, und dann
    entsprechend reagieren und das MDI Aufbauen klappt auch ist
    aber nicht eine einfache Lösung.
    Die einfache Lösung ist man benutzt etwas was nichts direct damit zu tun
    hat, also man nehme ein TPanel ebenfalls mit Align->AllClient und BevelInner,
    BevelOuter auf "bvNone" setzen und daruf das TImage platzieren mit den
    bekannten Einstellungen, das funktioniert.

    Ist sicherlich nicht die perfekte Lösung aber es geht, nach meiner
    Suche mußte ich Feststellen das im Aufbau von MDI immer Probleme
    giebt, guck mal in der suche mit MDI, oft in Verbindung mit VC++

    gruß und nacht Michael



  • Fantastisch, genau so hat es funktioniert. Ich danke Dir.



  • tja, aber irgenwie funktioniert es denn doch nicht so, wie gewünscht.

    versuch 1:ich erstelle ein MDI-Dokument, setze ein TImage rein, vergebe diesem ein bildchen. starte, und nichts ist zu sehen.

    versuch 2:ich erstelle ein MDI-Dokument, setze ein TPanel und darin ein TImage rein, vergebe diesem ein bildchen. starte, man sieht es, allerdings überdeckt er jetzt die child fenster.

    was soll ich da tun, damit ich nur im hintergrund ein bild sehen kann, ohne dass dieses die child fenster überdeckt?

    gruß gerd



  • Speicher das Bild doch in einem TBitmap.
    In OnPaint der Form machste StretchDraw in Canvas der Form!



  • ich find das so scheisse
    laut der Dokumentation müsste das automatisch beim Anpassen der Width/Height Eigenschaften funktionieren... bei mir klappt das nicht mal in normalen Forms, aber ich hab grad n Workaround hinbekommen:

    delete(Image);
    Image = new(TImage)(Form1);
    Image->Parent=Form1;
    Image->Top=8;
    Image->Left=8;
    Image->Width=size+2;
    Image->Height=size+2;

    funktioniert 🙂
    CU

    AlgoMan


Anmelden zum Antworten