Ja, TGraphicControls reagieren auf Maus-Events, siehe TSpeedButon, aber leider nicht wenn sie auf einer Form mit FormStyle=fsMDIForm (
MDI-Client) sind. Setze ich auf die
MDI-Form ein Panel und darauf zb einen TSpeedbutton, dann sollte wohl alles richtig sein, aber dann ist das Panel immer im Vordergrund und überdeckt alle
MDI-Child-Fenster.
TPanel und TButton sind von TWinControl abgeleitet und haben ein eigenes FensterHandle, während TGraphicControl von TControl abgeleitet ist und somit über kein eigenes FensterHandle verfügt. Eigentlich macht ein TGraphicControl nichts weiter als auf dem Canvas seines Parent was zu zeichnen. Damit ein TGraphicControl überhaupt auf Maus-Events reagieren kann, werden von der
VCL die Maus-Events vom Parent des TGraphicControls an das TGraphicControl weitergeleitet und dort ausgewertet, siehe TSpeedButton. Sitzt das TGraphicControl aber auf einer Form mit FormStyle=fsMDIForm (die
MDI-Form ist in diesem Fall das Parent des TGraphicControls), so scheint dieser Mechanismus zu versagen.