Wyłączenie kursora w aplikacji...

0

Witam wszystkich. Wpadlem ostatnio na taki pomysl zeby sobie zrobic w delphi celownik do gry (krope lub elipse na srodku ekranu) robie to mniej wiecej tak:

procedure Tnub.FormPaint(Sender: TObject);
begin
Canvas.Ellipse(0,0,5,5);
end;

procedure Tnub.FormCreate(Sender: TObject);
begin
SetWindowRgn(Handle,CreateEllipticRgn(0, 0, 5, 5), True);
nub.ClientWidth:=5;
end;

No i ustawiam tam reszte zeby widziec tylko kropke na ekranie i byla ona na wierzchu. Tylko mam takie problemy:

  • Jak wyłączyć widok kursora po najechaniu na forme?
  • Jak wylaczyc\wyeliminowac takie cos, ze gdy akurat natrafie myszka w grze na moja kropke to obniza gra do paska ?
  • i trzecie ale to chyba juz jakos wymysle :P chyba ze ktos juz takie cos robil. Jak ustawic zeby forma byla cala czas na srodku? przykladowo rozdzielczosc domyslna jaka mam na pulpicie to 1024x748, a gra jest 800x600 czyli w grze kropka nie bedzie na srodku jezeli forma bedzie na srodku na pulpicie. Moze zrobic jakis wybor rozdzielczosci? tylko nie wiem do konca jak ustawic potem, zeby forma byla na miejscu o wspolrzednych x i y np 0,0 :P
    Za wszelka pomoc z gory dzieki
0
  • Jak wyłączyć widok kursora po najechaniu na forme?
ShowCursor(False);

a zeby forma byla na srodku to najprosciej tak:

Form1.Top := (Screen.Height - Form1.Height) div 2;
Form1.Left := (Screen.Width - Form1.Width) div 2;

A jeśli gra zmienia rozdzielczosc na inna, to te dwie linijki dac np to timera ;]

//EDIT: Forma zawsze jest na miejscu, póki ktoś jej nie przesunie ;] Więc jak ustawisz współrzędne na np. 123x143 to nawet po wlaczeniu gry czy zmianie rozdzielczosci forma tam zostanie ;]

0

wielkie dzieki pomogles w 100% :)

0
l3m0n napisał(a)

wielkie dzieki pomogles w 100% :)
No nie wiem czy tak pomogl... przeciez i tak gdy klikniesz w ta kropke w grze to gra sie zminimalizuje co do tego ze jezeli da sie do timera i rozdzielczosc sie zmieni to przeciez nie bedzie punkt w tym samym miejscu? to juz inne x i y

0
shut napisał(a)

co do tego ze jezeli da sie do timera i rozdzielczosc sie zmieni to przeciez nie bedzie punkt w tym samym miejscu? to juz inne x i y

x i y sie nie zmienia jesl nie przesuwasz formy, przykladowo masz rozdzialke 1280x1024 i forme na pozycji 100x100 to po zmianie rozdzielczosci na np 800x600 forma dalej bedzie tkwila w punkcie 100x100. z timerem chodzi tylko o to, zeby forma mimo zmiany rozdzielczosci pozostała na środku ekranu a nie na tych samych współrzędnych

0

mam troche problemu z tym:

Form1.Top := (Screen.Height - Form1.Height) div 2;
Form1.Left := (Screen.Width - Form1.Width) div 2;

to ma byc odleglosc od gory i od lewej?
mam tak ze chodzbym co tam wpisal to i tak sie nic prawie nie przesowa kulka :P nie wiem czemu

0

aa nie juz widze :P zrobilem od poczatku jak jest 2 i 2 to jest srodek tylko mam problem jak narysowac na srodku formy i co najwazniejsze nie wiem jak to wyeliminowac ze jak w grze przez pomylke klikne na kropke to mi minimalizuje gre :<

0

no minimalizowania chyba nie wyeliminujesz, bo gra sie minimalizuje przy deaktywacji (a klikajac na inne okno aktywujesz je, deaktywując inne)

0
l3m0n napisał(a)

mam troche problemu z tym:

Form1.Top := (Screen.Height - Form1.Height) div 2;
Form1.Left := (Screen.Width - Form1.Width) div 2;

to ma byc odleglosc od gory i od lewej?

mam tak ze chodzbym co tam wpisal to i tak sie nic prawie nie przesowa kulka :P nie wiem czemu

ten kod srodkuje ci forme na ekranie.

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