Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why mouse wheel F/B ok, but with <CTL> first needs rel
#17
>> I think you don't need to initialize or get name from handle. You can identify the control by id.

>> Function FreehandZoom:

<SNIP>
>> It works with Macromedia Freehand MX 11.

Ok, I have taken your code and tried it out. I took the part that activates the Zoom edit field from the ID, namely:

int handle=id(432 "FreeHand")
act handle
BlockInput 1
key- CSAW
key (s) Y
BlockInput 0

I found that as long as When Released is set, the code works fine. Every time I CTL click while wheeling forward and then release, the Zoom works correctly and reliably.

However, when I clear When Released, the problems start. On the first CTL-fwd, the macro is called but writes 96% to the zoom field, or sometimes 94%. I don't know where 96% or 94% come from. Then, on further CTL-fwd operations, it writes 64% and that's the way it stays for each further CTL-fwd macro call. My own debug statements show that internally everything in the macro is working the way it should be.

When I return to my own way of getting the location of the zoom factor (the user has to teach the macro suite by doing a middle click on the zoom field) then the results are as for your way: with When Released set, then things are fine; with When Released cleared, then things go weird.

So it is the CTL that is causing the problems.

I vaguely remember that at some point in my test I got the warning message in the QM out area that if When Released is cleared then I could have problems with the macro interrupting normal operation -- or maybe it was that normal operation could interrupt the macro -- anyway I don't remember because I found I could not always repeat the message at will.

So it seems your FreeHand is not working the same as mine.

So do you have any more ideas?

Well, we still have done pretty well. I can now do a smooth zoom in and out, and a coarse zoom as long as I release the CTL button for every wheel roll, which is not so bad when you think that +/-100% zoom is a lot.

Alternatively, I could trap a function key (that FH does not use by default, e.g., F12) and use it to raise and lower the zoom increment/decrement factor, and all zooming will be done by a simple roll and the current zoom factor.

Btw, the FreeHand I am using is a local adaptation of v9.0.2, an English+Hebrew version developed here in Israel in collaboration with Macromedia. I am running on a ThinkPad T30 XP 2002 (SP 0, I think).

Regards,

Avraham


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)