Hallo,
ich lade zur Programmlaufzeit mehrere kleine Bitmaps in TImages, die ich momentan als Parent des Hauptformulars "Form1" abgeleitet und demnach auch dort abgelegt habe.
Delphi-Quellcode:
ImageArray[i]:=TImage.Create(Self);
ImageArray[i].Parent := Form1;
ImageArray[i].Autosize:=true;
ImageArray[i].Picture.LoadFromFile('Bild'+IntToStr(i)+'.bmp');
ImageArray[i].Transparent:=true;
ImageArray[i].tag:=i;
Das Erkennen und Verschieben der Bildchen zur Laufzeit klappt problemlos über:
Delphi-Quellcode:
iImageArray[i].OnMouseDown:= MyMouseDown;
iImageArray[i].OnMouseMove:= MyMouseMove;
iImageArray[i].OnMouseUp:= MyMouseUp;
Verschiebe ich aber eines der Bilder außerhalb der Form, scrollt mir Windows automatisch den oberen bzw. linken Fensterrand -
und damit auch meine Werkzeugleiste (Panel) - außerhalb des sichtbaren Bereiches.
Wie kann ich das verhindern ?
Ich suche also ein "Zeichenfeld", dass mir meine Bitmaps nur in einem festen Bereich darstellt und auch scrollt, ohne die ganz Form zu "zerstören".
Wenn ich meine Bitmaps auf ein ExtraPanel zeichne:
ImageArray[i].Parent := ExtraPanel;
funktioniert die Sache zwar wie gewünscht, aber der Bildaufbau dauert viel zu lang und flackert ungemein beim Verschieben eines Imagefeldes.
Wer kann da helfen? Schonmal Danke im Voraus!
Gruß Gerd