[PASCAL-wingraph] Obsługa myszy


(Withorlo2) #1

Cześć, zachciało mi się ostatnio pobawić w Pascalu a dokładniej w bibliotece wingraph. I nie mogę uporać się z najprostszym programem do obsługi myszy, wszystko inne (klawiatura, animacje, grafika) działa poprawnie albo przynajmniej ja potrafię to poprawnie napisać a z obsługą tej myszy męczę się i męczę.

Oto kod:

{$APPTYPE GUI}

USES wingraph,wincrt,winmouse;

VAR

        gd,gm : smallint;

        me:MouseEventType;

BEGIN

        gd:=nopalette; gm:= mcustom;

        SetWindowSize(400,200);

        InitGraph(gd,gm,'OKNO');


        if not(PollMouseEvent(me)) then Exit;

        GetMouseEvent(me);

        with me do

        case action of

        MouseActionDown:

        begin

                       case buttons of

                         MouseLeftButton:

                         begin

                                WriteBuf('LPM');

                         end;

        end;

        end;

        end;


        REPEAT

                delay(50);

        UNTIL CloseGraphRequest;

        CloseGraph;

END.

Program po uruchomieniu ma za zadanie sprawdzić czy występuje jakieś zdarzenie związane z myszką jeśli nie następuje to się zamyka i to działa poprawnie. Problem jest dalej bo jeśli zdarzenie występuje to po sprawdzeniu jakiego typu ono jest to jeśli jest to kliknięcie lewego przycisku myszy powinien pojawić się komunikat LPM.

Wrzucam link do dokumentacji tej biblioteki:

http://math.ubbcluj.ro/~sberinde/wingraph/


(Drobok) #2

Twój repeat robi tylko delay, a powinieneś mieć tam kod odpowiedzialny za obsługę myszy (który robisz tylko raz nim dotrzesz do repeat’a.


(Withorlo2) #3

Dammit :smiley: podejrzewałem że jedno wywołanie to za mało ale oczywiście nie sprawdziłem, dzięki drobok.