Cuestión : el ratón chasca encendido la imagen de TcxPageControl (la imagen de la lengüeta)

Hola allí, el

i que mira para encontrar (en un onmousedown) un cheque para considerar si el indicador de ratón está sobre la imagen de la lengüeta de un pagecontrol

The TcxPageControl es un código del component
Component de los devexpress:
var
  pcSUMDatabases: TcxPageControl;
cxTabSheet1: TcxTabSheet;

  pcSUMDatabases := TcxPageControl.Create (Self);
cxTabSheet1: = TcxTabSheet.Create (uno mismo);
con nombre del begin
del do
de los pcSUMDatabases: = “pcSUMDatabases”; Padre del
: = tsSUM; El
se fue: = 0; Tapa del
: = 105; Anchura del
: = 971; Altura del
: = 431;
ActivePage: = cxTabSheet1; El
alinea: = alClient;
ImageBorder: = 2; Imágenes del
: = ilTabs; Opciones del
: = [el pcoAlwaysShowGoDialogButton, pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize]; Estilo del
: = 9;
TabOrder: = 1;
OnMouseDown: = pcSUMDatabasesMouseDown; extremo del
;
con cxTabSheet1 nombre del begin
del do
: = “cxTabSheet1”; Padre del
: = pcSUMDatabases; Subtítulo del
: = “cxTabSheet1”;
ImageIndex: = 0; extremo del
; pcSUMDatabases del
object del

(código de la goma del dfm): TcxPageControl
dejado = tapa de 0
= anchura de 105
= altura de 971
= 431
ActivePage = cxTabSheet1
alinea = el alClient
ImageBorder = las imágenes de 2
= el ilTabs
LookAndFeel.Kind = las opciones del lfStandard
= [el pcoAlwaysShowGoDialogButton, pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize] estilo del
= 9
TabOrder = 1
TabSlants.Positions = [spLeft, spRight] el
OnMouseDown = pcSUMDatabasesMouseDown
ExplicitLeft = objeto cxTabSheet1 de 96
ExplicitTop = de 224
ExplicitWidth = de 289
ExplicitHeight = de 193
ClientRectBottom = de 431
ClientRectRight = de 971
ClientRectTop = de 26
: ¿El subtítulo de TcxTabSheet
= el 'Br/> ImageIndex de cxTabSheet1'< = los ilTabs del end
end


The de 0
contiene imágenes de los archivos comunes (dir de los botones) que 16x16

I apenas no puede parecer encontrar cómo encontrar la localización de la imagen en el tab.

Anybody una solución de ideas? el

i agregará un screenshot para explicar qué área exactamente estoy buscando
class= del

Respuesta : el ratón chasca encendido la imagen de TcxPageControl (la imagen de la lengüeta)

conseguido lo:

con las profundidades ocultadas de los pintores protegidos:

tipo
  TmagiccxPCStandardPainter = extremo de la clase (TcxPCStandardPainter);

procedimiento TfrmSumGraphs.pcSUMDatabasesMouseDown (remitente: TObject;
  Botón: TMouseButton; Cambio: TShiftState; X, Y: Número entero);
var
  n: Número entero;
  lengüeta: tcxTabSheet;
  R: TRect;
  pinta: TPoint;
comenzar
  n: = pcSUMDatabases.IndexOfTabAt (X, Y);
  si (n <> -1) entonces
  comenzar
    lengüeta: = pcSUMDatabases.Pages [n];
    TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .StandardPainterPrepareOutTabImageAndTextData (tab.TabIndex);
    R: = TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .FOutTabImageAndTextData.TabImageRect;
    ¡si PtInRect (R, punto (X, Y)) entonces ShowMessage (“él '' s en la imagen!!!! ");
  extremo;
extremo;
Otras soluciones  
 
programming4us programming4us