Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Windows API régiófigyelő nem működik??? 2010 nov. 11 10:15 #634

  • mjen
  • mjen profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 3
  • Köszönetek: 0
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]
Üdv.
Jen

  • Oldal:
  • 1