Pytanie : mysz klikać dalej wizerunek TcxPageControl (Zakładka wizerunek)

Cześć tam,

i am (w onmousedown) czek jeżeli the mysz pointer być nad the wizerunek the zakładka pagecontrol

The TcxPageControl być devexpress component
Component kod:
var
  pcSUMDatabases: TcxPageControl;
cxTabSheet1: TcxTabSheet;

  pcSUMDatabases := TcxPageControl.Create (Self);
cxTabSheet1: = TcxTabSheet.Create (Jaźń);
z pcSUMDatabases do
begin
Imię: = "pcSUMDatabases";
Rodzic: = tsSUM;
Opuszczać: = (0);
Wierzchołek: = 105;
Szerokość: = 971;
Wzrost: = 431;
ActivePage: = cxTabSheet1;
Wyrównywać: = alClient;
ImageBorder: = 2;
Wizerunek: = ilTabs;
Opcja: = [pcoAlwaysShowGoDialogButton, pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize];
Styl: = 9;
TabOrder: = (1);
OnMouseDown: = pcSUMDatabasesMouseDown;
końcówka;
z cxTabSheet1 do
begin
Imię: = "cxTabSheet1";
Rodzic: = pcSUMDatabases;
Podpis: = "cxTabSheet1";
ImageIndex: = (0);
końcówka;

(dfm pasta kod)
object pcSUMDatabases: TcxPageControl
Opuszczać = 0
Wierzchołek = 105
Szerokość = 971
Wzrost = 431
ActivePage = cxTabSheet1
Wyrównywać = alClient
ImageBorder = 2
Wizerunek = ilTabs
LookAndFeel.Kind = lfStandard
Opcja = [pcoAlwaysShowGoDialogButton, pcoGoDialog, pcoGradient, pcoGradientClientArea, pcoRedrawOnResize]
Styl = 9
TabOrder = 1
TabSlants.Positions = [spLeft, spRight]
OnMouseDown = pcSUMDatabasesMouseDown
ExplicitLeft = 96
ExplicitTop = 224
ExplicitWidth = 289
ExplicitHeight = 193
ClientRectBottom = 431
ClientRectRight = 971
ClientRectTop = 26
przedmiot cxTabSheet1: TcxTabSheet
Podpis = 'cxTabSheet1'< br/> ImageIndex = 0
end
end


The ilTabs zawierać wizerunek od the błonie kartoteka (guzik dir) 16x16

I właśnie móc dlaczego the lokacja the wizerunek na the tab.

Anybody rozwiązanie pomysł?

i dodawać screenshot jaki teren i dokładnie patrzeć for

Odpowiedź : mysz klikać dalej wizerunek TcxPageControl (Zakładka wizerunek)

dostawać ono:

w the chowany głębia the ochraniać malarz:

typ
  TmagiccxPCStandardPainter = klasa (TcxPCStandardPainter) końcówka;

procedura TfrmSumGraphs.pcSUMDatabasesMouseDown (Nadawca: TObject;
  Guzik: TMouseButton; Przesunięcie: TShiftState; X, Y: Integer);
var
  n: Integer;
  zakładka: tcxTabSheet;
  R: TRect;
  pt: TPoint;
zaczynać
  n: = pcSUMDatabases.IndexOfTabAt (X, Y);
  jeżeli (n <> -1) wtedy
  zaczynać
    zakładka: = pcSUMDatabases.Pages [n];
    TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .StandardPainterPrepareOutTabImageAndTextData (tab.TabIndex);
    R: = TmagiccxPCStandardPainter (pcSUMDatabases.Painter) .FOutTabImageAndTextData.TabImageRect;
    jeżeli PtInRect (R, Punkt (X, Y)) wtedy ShowMessage ("Ono '' s na the wizerunek!!!! ");
  końcówka;
końcówka;
Inne rozwiązania  
 
programming4us programming4us