![]() |
Problem bei MDIChild Enabled
Hallo!
Mein Programm dient zur Thumbnail-Betrachtung und MDIChilds repräsentieren verschiedene Verzeichnisse. Je nach Anzahl von Bildern im Verzeichnis kann das Laden eines MDIChilds auch mal mehrere Sekunden dauern. Wird aber während des Ladevorgangs der Scrollbalken des Childs bewegt, wird das nächste erzeugte Vorschaubild versetzt auf das MDIChild gezeichnet. Um dies zu verhindern setzte ich zuvor
Delphi-Quellcode:
und nach dem Ladevorgang auf True. Danach kommt allerdings kein MouseWheel-Ereignis mehr bei dem MDIChild an. Erst wenn ich ein anderes MDIChild anklicke und dann zurück auf das ursprüngliche Child wechsle, empfängt das MDIChild wieder die Ereignisse.
Self.Enabled:= False
Vergeblich versucht habe ich bereits:
Delphi-Quellcode:
Weiß jemand welche Eigenschaft/Methode ich setzen/aufrufen muss um wieder zum Empfänger der MouseWheel-Ereignisse zu werden?
Self.BringToFront;
Self.SetFocus; Self.Show; Self.Repaint; Gruß e-gon |
AW: Problem bei MDIChild Enabled
Vielen Dank für die zahlreichen Hilfestellungen! :thumb:
|
AW: Problem bei MDIChild Enabled
Mir fehlt die Vorstellungskraft deines Problems.
|
AW: Problem bei MDIChild Enabled
Mal abgesehen davon, daß MDI wie auch Delphi 6 halt nicht gerade dem Stand der Technik entspricht, ist die Hauptursache für fehlende Antworten eine unzureichend gestellte Frage. Wenn ich, wie in diesem Fall, erst selbst umständlich ein Testszenario aufbauen muss, lass ich es lieber gleich bleiben.
Du kannst natürlich jederzeit professionelle Hilfe gegen Bezahlung nachfragen. Auch in diesem Forum gibt es einige Leute, die damit ihren Lebensunterhalt verdienen. |
AW: Problem bei MDIChild Enabled
Hallo,
Zitat:
Dann noch etwas Code
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var f : TForm2; begin f := TForm2.Create (Self); f.Show end;
Delphi-Quellcode:
Wird der Timer getriggert kommt das Form in den Vordergrund (falls von einem anderen Form überdeckt) und das Scrollen per Mausrad ist problemlos möglich.
procedure TForm2.FormCreate(Sender: TObject);
begin AutoScroll := True; Enabled := False end; procedure TForm2.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin ScrollBy (0, WheelDelta) end; procedure TForm2.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; Enabled := True; SetFocus end; Also wird es wohl irgendwo an Deinem Code haken. Was, warum, wieso, weshalb, sorry, da habe ich keine Lust mit der langen Stange im Nebel zu stochern. Gib den hilfswilligen hier im Forum mal etwas mehr Infos und Dir wird sicherlich geholfen. BTW völlig kontraproduktiv sind Posts like: Zitat:
Zitat:
Gruß |
AW: Problem bei MDIChild Enabled
Hallo,
tut mir leid, wenn Ihr meine Fragestellung als unzureichend angesehen habt. Aber das hätte mir ja auch jemand auf meine Anfrage hin sagen können und mich nicht 14 Tage im Ungewissen lassen! Außerdem ist es nicht das erste Mal, dass ich hier Monologe führen musste! So warte ich beispielsweise bis heute auf eine Antwort zu diesem ![]() Sorry, wenn ich deshalb etwas zu provozierend war! @Uwe Raabe: Ich weiß dass Delphi 6 nicht mehr auf dem neusten Stand ist. Aber ich habe damals verdammt viel Geld dafür ausgegeben! Zitat:
@Volker Z.: Danke für die Bemühungen! Aber am Wochenende habe ich nun endlich eine andere Lösung gefunden. Statt das MDIChild zu "disablen" setze ich die Top- und Left-Eigenschaften nun abhängig von den Scrollbalken.
Delphi-Quellcode:
Scheint auch die elegantere Lösung zu sein...
IMG[Index].Top:= (Index div ColCount) * (OpThumbSize + 60) - Self.VertScrollBar.Position;
IMG[Index].Left:= (Index mod ColCount) * (OpThumbSize + 8) - Self.HorzScrollBar.Position; Gruß e-gon |
AW: Problem bei MDIChild Enabled
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz