View previous topic :: View next topic |
Author |
Message |
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Mon Nov 15, 2004 9:26 pm Post subject: VDS5: MOUSEOVER Gets Stuck |
|
|
Has anyone else run into a problem when using MOUSEOVER on bmp
images, where when you run your mouse over and change the image
on ENTER and LEAVE, and eventually it gets stuck?
I've encountered this on several projects and have stopped work on
these projects due to this. I don't want to run a timer loop and track
the mouse since that takes up more resources and cpu than using the
MOUSEOVER style.
I'm attaching my current project here to see if anyone else can get the
mouseover to stick also.
Download it, run it and then just run your mouse around the interface
over the buttons for a while and watch as buttons eventually get stuck
in the OVER position. They are still clickable, but ENTER and LEAVE
branches are ignored once it's stuck.
Can anyone else with VDS 5 give this a try and see if it does stick on
them or not?
Thanks,
-Garrett
Description: |
Current project I'm working on and running into the mouseover sticking issue. Please do not use these files for your own use without permission from me first. This is only to allow others to see if they encounter the issue. |
|
Download |
Filename: |
mouseoversticking.zip |
Filesize: |
205.31 KB |
Downloaded: |
1609 Time(s) |
_________________ 'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.) |
|
Back to top |
|
|
Hooligan VDS Developer
Joined: 28 Oct 2003 Posts: 480 Location: California
|
Posted: Tue Nov 16, 2004 12:09 am Post subject: |
|
|
That's bizzare! I could get it to happen to six of the seven buttons... (But there was always one button left over that just wouldn't "fail"...) I tried several things, but couldn't correct it... I have a program I wrote that uses mouseover in a similar fashion... I'll have to go check it out!
Hooligan
_________________ Hooligan
Why be normal? |
|
Back to top |
|
|
FreezingFire Admin Team
Joined: 23 Jun 2002 Posts: 3508
|
Posted: Tue Nov 16, 2004 2:41 am Post subject: |
|
|
Actually that kind of thing has happened to me before -- and I also find
that after mousing over several times, the change gets really slow and
when you click on the button it takes a long time to respond. Not sure
what's the cause.
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
|
jwfv Valued Contributor
Joined: 19 Mar 2002 Posts: 422 Location: Beaufort, SC
|
Posted: Tue Nov 16, 2004 3:49 am Post subject: |
|
|
Has anyone ever had this happen on a MOUSEOVER-enabled BitBtn? I have a program with a couple of those, but have never noticed it.
I also had the problem with the program above.
_________________ Joe Floyd |
|
Back to top |
|
|
PGWARE Web Host
Joined: 29 Dec 2001 Posts: 1562
|
Posted: Tue Nov 16, 2004 6:38 am Post subject: |
|
|
I'm getting ERROR 37's when I compile your script and test it. That is because the exe is not able to locate the #btn6b.bmp and other simliar files when you scroll over the images. The only images that seem to be added into th exe are all the btn*a.bmp images from looking at the compiler status window.
I don't see anywhere in your code any #RESOURCE directives to tell the compiler to include the images into the exectuables. This could potentially be one of the problems you are encountering...?
|
|
Back to top |
|
|
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Tue Nov 16, 2004 7:36 am Post subject: |
|
|
No, the images were not set yet to be included as resources. Hadn't got
to that point since I was too busy getting PO'd with the mouse over getting
stuck on me
I have another program that is complete, and it suffers from the same
issue.
_________________ 'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.) |
|
Back to top |
|
|
Serge Professional Member
Joined: 04 Mar 2002 Posts: 1480 Location: Australia
|
Posted: Tue Nov 16, 2004 7:48 am Post subject: |
|
|
hi garrett,
i came across this problem earlier in the year when i worked on my >International Time program where the bmp images would only show the MOUSEOVER messages when they wanted to - i did not find out why nor did i seek a work around
i did find it very annoying and disappointing that the MOUSEOVER feature did not work reliably
serge
|
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Tue Nov 16, 2004 8:57 am Post subject: |
|
|
I think the problem is that these mouse messages can get lost. Probably they are sent to the application using PostMessage instead of SendMessage so there is no guarantee that they are received.
I experienced the same problem implementing the VDS BITBTN element. Buttons didn't always receive all the mouse events and could get stuck in the wrong position. I had to work around this by including in the WAIT command processing routine some code that checked, if a button wasn't in its default state, whether the cursor was still over it.
Because of that, VDS BITBTNs usually work, but you've probably noticed that buttons in the IDE sometimes get stuck, I guess for the same reason.
_________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Tue Nov 16, 2004 9:12 am Post subject: |
|
|
I should add to this that it probably depends on what you are doing. When testing the MOUSEOVER feature, I didn't notice any events going missing. But if you are trying to load bitmaps when they occur, some graphics cards disable interrupts during some graphics operations in order to achieve better graphics benchmark results. This is likely to cause a loss of some window messages.
_________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Tue Nov 16, 2004 9:35 am Post subject: |
|
|
By the way, Garrett, I tested your program moving the mouse rapidly over the buttons like no sane person would do and it worked perfectly, although the mouse events queued up and would continue to run for a couple of seconds after I stopped moving the mouse. The IDE "Run" button stuck down once, though.
I'm running Windows XP SP2 / Celeron 2600MHz / 256MB RAM.
_________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
Skit3000 Admin Team
Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Tue Nov 16, 2004 1:36 pm Post subject: |
|
|
Interesting. I was wondering whether it would turn out to be the people running Windows 9x who had the problem.
The display adapter here is an integrated SiS 661FX chipset.
_________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Tue Nov 16, 2004 11:02 pm Post subject: |
|
|
I've had this happen on 98SE, ME and XP SP2, different mother boards,
and using various different video adapters, from old ISA cards, PCI
cards to AGP cards. And varied quality within all three types of cards
used, and using memory from 2 mb on up to 64 mb.
I would love for this to work, as I really do not want to run a WAIT, 0
and :TIMER loop to do this. This would suck up CPU cycles that I'd like
to try and avoid. Sure, on a 2.2 Mhz CPU and above it's like no big
deal, but I still prefer to allow older CPU models to be able to run my
programs.
I guess I have no choice for now but to use a :TIMER loop.
Thanks everyone for at least confirming that I'm not the only one with
this problem.
-Garrett
_________________ 'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.) |
|
Back to top |
|
|
jules Professional Member
Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Wed Nov 17, 2004 9:24 am Post subject: |
|
|
I think you have to resolve this the same way I had to do it for the VDS BITBTNs.
Don't just rely on the mouse messages. Use a variable to record what button is down. When you receive any mouse down event, check this variable to see if another button is already down, and if it is, execute the button up code for that button.
_________________ The Tech Pro
www.tech-pro.net |
|
Back to top |
|
|
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Wed Nov 17, 2004 3:04 pm Post subject: |
|
|
Once the mouseover gets stucking using the bitmap element, it's stuck
for good. So even if I did process a checking routine on any event, the
mouseover won't work anymore for the image that the mouseover is
stuck. I'd try bitbtn, but unfortunately the interface I designed won't
work too well with that. It would really destroy the effect I was trying
for.
The old :TIMER and WAIT, 0 event loop processing will work and be
faithful and I won't have this problem, was just trying to keep the
resources down as low as possible.
-Garrett
_________________ 'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.) |
|
Back to top |
|
|
|