popup, onlick i polozenie

0

Czy ktos z Was ma jakis niezawodny sposob na dobre wypozycjonowanie popup'a jako zdazenie onclick np. TImage? Kombinowalem tak jak powinna nakazywac logika, a i tak jakos dziwnie ten popup wyskakuje...

0

Ja zrobilem tak i dziala:

var
P: TPoint;

begin

GetCursorPos(P);
Menu.Popup(P.x, P.y);

end;

Oczywiscie w OnClick :)

0

no tak, ale ta procedura odnosi sie do pozycji myszki, a jak zrobic by popmenu wyskakiwalo w pozycji kursora????

a jeszcze dodam, jak zrobic by wyskakiwalo automatycznie po wcisnieciu kropki :))

pozdrawiam

Ultimion

0
Ultimion napisał(a)

no tak, ale ta procedura odnosi sie do pozycji myszki, a jak zrobic by popmenu wyskakiwalo w pozycji kursora????

[glowa] [glowa] [glowa]
O co w tym chodzi? Przecież to własnie wyskoczy w pozycji kursora (GetCursorPos!) czyli tam gdzie wskazujesz myszką...

0

no tak... to wskazuje pozycje myszki. Szukam sposobu umieszczenia popupmenu w pozycji kursora w RichEdit. Czyli aktualnie w pozycji gdzie pisze tekst.

pozdrawiam

Ultimion

0

No to pisz, że chodzi Ci o karetkę! Użyj GetCaretPos.

0

procedure TForm1.menuPopup(Sender: TObject);
var
P: TPoint;

begin
GetCaretPos(P);
Menu.Popup(P.x, P.y);
end;

to nie dziala.... wywala blad ...."przepelnienie stosu' "Stack overflow' !!!!

wiec???

a jak uruchomic popmenu automatycznie??? np w zdarzeniu richedit.onkeydown??

np
begin
if key='.' then .....
end;

nie wiem dlaczego ale nie chce mi tak przyjac, a probowalem wpisac kod (kropki) ale jakos nie dziala .... pewnie nie znam odpowiedniego i w tym problem... na #32 $20 (spacja jest ok... test zadzialal ale nie z popum menu.

pozdrawiam

Ultimion

0

Nic dziwnego że ci wyskakuje przepełnienie stosu jeżeli w procedurze obsługi pokazania popupa dajesz kod do jego pokazania [green] .

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
var
  P : TPoint;
begin
  if Key = '.' then
  begin
    GetCaretPos(P);
    P := ClientToScreen(P);
    Menu.Popup(P.x + RichEdit1.Left + 3, P.y + RichEdit1.Top);
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1