Sziasztok!
Tudnátok segíteni?
Tanulás céljából lépésről lépésre haladok a "Delphi Mesteri Szinten" könyv egyik példáján, ami egy nyíl komponenst készít és tesztel. Addig eljutottam, hogy a nyilat kirajzolja, méretezés és szín megadás lehetséges, de mikor a DoubleClick eseményt próbáltam megvalósítani, nem működött.
Az eseménynek csak akkor kell kiváltódnia, ha a nyíl hegyére klikkelek, de a régiófigyelő függvény után az IF részbe sohasem jut el a vezérlés.
Mi lehet az oka?
Vagy mit b...tam el?
procedure TNyil.WGombDplKatt(var uzen: TWMLButtonDblClk);
var
NyilPontok: array [0..2] of TPoint;
xKozep, yKozep, yAlja, xSzele: int;
HTerulet: HRgn;
begin
inherited;
yAlja:= height-1;
xSzele:= width-1;
yKozep:= yAlja div 2;
xKozep:= xSzele div 2;
case mIrany of
nyiFel: begin
NyilPontok[0]:=classes.Point(0, mNyilHossz);
NyilPontok[1]:=classes.Point(xKozep, 0);
NyilPontok[2]:=classes.Point(xSzele, mNyilHossz);
end;
NyiLe: begin
NyilPontok[0]:=classes.Point(xKozep, yAlja);
NyilPontok[1]:=classes.Point(0, yAlja-mNyilHossz);
NyilPontok[2]:=classes.Point(xSzele, yAlja-mNyilHossz);
end;
nyiJobb: begin
NyilPontok[0]:=classes.Point(xSzele-mNyilHossz, yAlja);
NyilPontok[1]:=classes.Point(xSzele-mNyilHossz, 0);
NyilPontok[2]:=classes.Point(xSzele, yKozep);
end;
nyiBal: begin
NyilPontok[0]:=classes.Point(mNyilHossz, yAlja);
NyilPontok[1]:=classes.Point(0, yKozep);
NyilPontok[2]:=classes.Point(mNyilHossz, 0);
end;
end;
HTerulet:=createPolygonRgn(NyilPontok, 3, winding);
if PtInRegion(HTerulet, uzen.xPos, uzen.yPos) then begin
NyilDplKatt; // ***A vezérlés sosem jut el ide!!!***
end; [img]
deleteObject(HTerulet);
end;
Előre is kösz!
Üdv. Jen [img]