Frage : Maus klicken an Bild von TcxPageControl (Vorsprungbild)

Hallo dort, ist das

i morgens schauend, um (in einem onmousedown) eine Überprüfung zu finden, um zu sehen, wenn der Mäusezeiger über dem Bild des Vorsprunges eines pagecontrol

The TcxPageControl ist-, ein devexpress component
Component Code:
var
  pcSUMDatabases: TcxPageControl;
cxTabSheet1: TcxTabSheet;

  pcSUMDatabases := TcxPageControl.Create (Self);
cxTabSheet1: = TcxTabSheet.Create (Selbst);
mit pcSUMDatabases do
begin
Namen: = „pcSUMDatabases“;
Elternteil: = tsSUM;
verließ: = 0;
Oberseite: = 105;
Breite: = 971;
Höhe: = 431;
ActivePage: = cxTabSheet1;
stimmen überein: = alClient;
ImageBorder: = 2;
Bilder: = ilTabs;
Wahlen: = [pcoAlwaysShowGoDialogButton, das pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize];
Art: = 9;
TabOrder: = 1;
OnMouseDown: = pcSUMDatabasesMouseDown;
Ende;
mit cxTabSheet1 do
begin
Namen: = „cxTabSheet1“;
Elternteil: = pcSUMDatabases;
Untertitel: = „cxTabSheet1“;
ImageIndex: = 0;
Ende;

(dfm Pastencode)
object pcSUMDatabases: TcxPageControl
, das = 0
Oberseite = 105
Breite = 971
Höhe = 431
ActivePage = cxTabSheet1
gelassen wird, stimmen = alClient
ImageBorder = 2
Bilder = ilTabs
LookAndFeel.Kind = lfStandard
Wahlen = [pcoAlwaysShowGoDialogButton, das pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize],
Art = 9
TabOrder = 1
TabSlants.Positions = [spLeft, spRight]
OnMouseDown = pcSUMDatabasesMouseDown
ExplicitLeft = 96
ExplicitTop = 224
ExplicitWidth = 289
ExplicitHeight = 193
ClientRectBottom = 431
ClientRectRight = 971
ClientRectTop = 26
Gegenstand cxTabSheet1 überein: TcxTabSheet
Untertitel = 'cxTabSheet1'< Br/> ImageIndex = 0
end
end


The ilTabs enthält Bilder von den Gemeinschaftsdateien (Knöpfe dir), das 16x16

I nicht gerade scheinen kann, zu finden, wie man die Position des Bildes auf dem tab.

Anybody eine Lösung von Ideen findet?

i addiert ein screenshot, um zu erklären, nach welchem Bereich ich genau
suche

Antwort : Maus klicken an Bild von TcxPageControl (Vorsprungbild)

es erhalten:

in den versteckten Tiefen der geschützten Maler:

Art
  TmagiccxPCStandardPainter = Ende der Kategorie (TcxPCStandardPainter);

Verfahren TfrmSumGraphs.pcSUMDatabasesMouseDown (Absender: TObject;
  Knopf: TMouseButton; Verschiebung: TShiftState; X, Y: Ganze Zahl);
var
  n: Ganze Zahl;
  Vorsprung: tcxTabSheet;
  R: TRect;
  Pint: TPoint;
anfangen
  n: = pcSUMDatabases.IndexOfTabAt (X, Y);
  wenn (n <> -1) dann
  anfangen
    Vorsprung: = pcSUMDatabases.Pages [n];
    TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .StandardPainterPrepareOutTabImageAndTextData (tab.TabIndex);
    R: = TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .FOutTabImageAndTextData.TabImageRect;
    wenn PtInRect (R, Punkt (X, Y)) dann ShowMessage („es '' s auf dem Bild!!!! ");
  Ende;
Ende;
Weitere Lösungen  
 
programming4us programming4us