Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 22.09.2007, 15:53 Titel: fenster mit mauszeiger draufschieben aktivieren |
|
|
dieses demoprog liest mauszeigerdaten aus wenn das fenster aktiviert ist und die maus im fenster herumfährt.
wenn ich 2 solche programme laufen habe (natürlich unter 2 verschiedenen namen) muss ich das fenster immer erst anklicken, damit die mausdaten im fenster angezeigt werden, wo sich maus befindet.
was muss hier geänder werden, damit das eine oder andere fenster aktiv wird wenn nur der mauszeiger den fensterrahmen berührt oder den screen-breich berühtt?
mfg
Code: |
#include "fbgfx.bi"
using FB
'':::::
function get_ascii(a as integer) as string
if (a <> 0) then
return "'" & chr(a) & "'"
else
return "unknown key"
end if
end function
'':::::
function get_button(b as integer) as string
if (b = BUTTON_LEFT) then
return "left"
elseif (b = BUTTON_RIGHT) then
return "right"
else
return "middle"
end if
end function
dim e as EVENT
screenres 640, 480,32,,&h20
do
if (screenevent(@e)) then
select case e.type
case EVENT_KEY_PRESS
if (e.scancode = SC_ESCAPE) then
end
end if
print get_ascii(e.ascii) & " was pressed (scancode " & e.scancode & ")"
case EVENT_KEY_RELEASE
print get_ascii(e.ascii) & " was released (scancode " & e.scancode & ")"
case EVENT_KEY_REPEAT
print get_ascii(e.ascii) & " is being repeated (scancode " & e.scancode & ")"
case EVENT_MOUSE_MOVE
print "mouse moved to " & e.x & "," & e.y & " (delta " & e.dx & "," & e.dy & ")"
case EVENT_MOUSE_BUTTON_PRESS
print get_button(e.button) & " button pressed"
case EVENT_MOUSE_BUTTON_RELEASE
print get_button(e.button) & " button released"
case EVENT_MOUSE_DOUBLE_CLICK
print get_button(e.button) & " button double clicked"
case EVENT_MOUSE_WHEEL
print "mouse wheel moved to position " & e.z
case EVENT_MOUSE_ENTER
print "mouse moved into program window"
case EVENT_MOUSE_EXIT
print "mouse moved out of program window"
case EVENT_WINDOW_GOT_FOCUS
print "program window got focus"
case EVENT_WINDOW_LOST_FOCUS
print "program window lost focus"
case EVENT_WINDOW_CLOSE
end
end select
end if
loop
|
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 22.09.2007, 16:25 Titel: |
|
|
Da 2 Fenster nicht gleichzeitig den Fokus haben können, geht das nicht... Du kannst höchstens die WinAPI-Funktion GetCursorPor versuchen... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 22.09.2007, 21:44 Titel: |
|
|
ich wollte es so haben, wenn ich das eine fenster verlasse mit der maus, das der fokus vom fenster ausgeschaltet wird.
wie geht das im dem beispiel? |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 23.09.2007, 09:11 Titel: |
|
|
Auf jeden fall muss der entsprechende Code in
Code: | CASE EVENT_MOUSE_EXIT | stehen. _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
|