View Full Version : OSDMenu Plugin Released!
Ron
October 13th, 2002, 12:55 PM
There was a little mishap in the release of OSD menu, if you have IWH ( I was here ) plugin enabled things might just mess up. Because they have the same action ID. This will be fixed in next release, for now remove the iwh.dll from the [girderdir]/plugins/software directory.
Mark F
October 13th, 2002, 12:55 PM
I'm using NT 4.0 and I disabled all Action Plugins except the OSDMenu. I disabled all Hardware plugins except the generic serial plugin.
When I define a command to use the sample .ini file, the results window doesn't have the right text in it. It has a title bar of "Result!", the OK button and the close X in the upper right. That is all.
Before I disabled all the other plugins, it wouldn't even do that. No menu, no pop up, nothing.
I'll start adding plugins back to see which one(s) are incompatible. This may take a while as I'm a bit busy at work right now. Sorry.
Mark F
October 13th, 2002, 12:55 PM
Much better now. :smile: Thanks.
Mark F
October 13th, 2002, 12:55 PM
Just an idea but did you try changing the window attributes of all but the current menu to NOT be TOPMOST? :smile:
jediperry
October 13th, 2002, 12:55 PM
I am currently running w2k and even with all other plugins disabled nothing happens when i try to exicute the command.
Mike
jediperry
October 13th, 2002, 12:55 PM
Wow, thanks for writing this.
Is the problem with menu's appearing behind each other something you can fix, or should I just try and set it all up to work arround that?
Cheers,
Mike.
Carmero
October 13th, 2002, 12:55 PM
Similarly. (WinXP)
Wykat
October 13th, 2002, 12:55 PM
THX,
Wykat
<font size=-1>[ This Message was edited by: Wykat on 2002-03-01 20:05 ]</font>
mattwire
October 13th, 2002, 12:55 PM
Having written an exe version, I've now converted it to a proper girder action plugin. Download it here:
http://www.girder.nl/download.php?Link=224
Note: Bitmaps/transparency are no longer supported in this version. This is because I've completely rewritten it and have not taken the time to rewrite those bits!
mattwire
October 13th, 2002, 12:55 PM
Hmm, strange. Have you both got the latest version (osdmenu.dll should be 161Kb rather than 397Kb)? If not then download that and see if the problem is still there. Also, are you both running XP? I've written and tested it under 2K.
mattwire
October 13th, 2002, 12:55 PM
Sounds interesting... :smile:
Can you give me any more info about your setup - plugins loaded etc. so I can try and reproduce the problem. Also, try disabling other plugins just to see if there is a conflict somewhere - and then let me know!
Thanks.
mattwire
October 13th, 2002, 12:55 PM
Ok, I've released the 'fixed' version:
-Action ID fixed.
-Command line parameters bug fixed.
and added transparency support while I was at it!
Anyone who has downloaded previous versions should download this as it fixes some rather major bugs!
http://www.girder.nl/download.php?Link=224
mattwire
October 13th, 2002, 12:55 PM
Strange...this does appear to be the case. What is happening is that the focus is staying on the current active window, and not moving to the OSDMenu window - the reason the mouse works is because it is a TOPMOST window.
SetFocus etc. fails to set the focus on the menu. However, there are benefits to this - ie. apps with topmost windows such as WinTV2000 in fullscreen mode simply allow the window to appear on top rather than switching out of fullscreen.
I've got girder set up to activate a different set of controls when I open OSDMenu:
Use a multigroup with two commands to start menu:
-OSDMenu On->
>Alarm-Timer
>OsdMenu
The first command uses Alarmtimer. On start, a command to disable normal command group and enable OSDMenu command group is run.
On End, a command to disable OSDMenu command group is run.
Each command within the OSDMenu command group is also set up as above, so each time a button is pressed the timer is reset.
mattwire
October 13th, 2002, 12:55 PM
I've spent hours trying to fix the thing with menu's appearing behind each other without success! So you'll have to live with it... :smile:
Unless you can work out a way to repaint a background that uses a null brush!
mattwire
October 13th, 2002, 12:55 PM
No, thing is it's all the same window - it just paints the menu directly on the background, normally the background is cleared by a call to FillRect. If I do this for a transparent background it is of course no longer transparent. So I need some method such as FillRect that just clears it.
I suppose I could try destroying/recreating the window, but that seems rather wasteful really...
mattwire
October 13th, 2002, 12:55 PM
I've used my own suggestion! Window is now destroyed/recreated for each submenu - this, along with a 50ms delay has enabled me to make transparent menus function correctly and not appear on top of one another.
I'll release it when:
-I'm going to add some callback/reg setting function so girder can tell when the menu is closed.
-Also, if anyone can help me - any way of setting the focus correctly on the menu so the window recieves keyboard input:
I've tried using SetFocus etc with the window handle for the menu. Do I need to set it to girder or something instead?
mattwire
October 13th, 2002, 12:55 PM
I've used my own suggestion! Window is now destroyed/recreated for each submenu - this, along with a 50ms delay has enabled me to make transparent menus function correctly and not appear on top of one another.
I'll release it when:
-I'm going to add some callback/reg setting function so girder can tell when the menu is closed.
-Also, if anyone can help me - any way of setting the focus correctly on the menu so the window recieves keyboard input:
I've tried using SetFocus etc with the window handle for the menu. Do I need to set it to girder or something instead?
mattwire
October 13th, 2002, 12:55 PM
What do you mean by 'create a child'? Currently there is just one window created, which is then drawn on using standard API's. The window takes the styles WS_POPUP and WS_EX_TOOLWINDOW.
BeTtASpLeNdEnS
October 13th, 2002, 12:55 PM
thx... i think that is gonna solve my problem with the OSD other plugins..
c.U.
gmlegarf
October 13th, 2002, 12:55 PM
I've tired using this plugin but I'm having problems. When the command is executed, instead of the menu opening, the title of the active window is changed to whatever was in the input box in the OSDMenu settings. For example, if I type samplemenu.ini into the box, then when I come to execute the command, the title of a window changes to samplemenu.ini and the menu doesn't open.
Is this a bug or just me having problems? Can anyone suggest any ways to fix it?
gmlegarf
October 13th, 2002, 12:55 PM
I'm definitely using the latest version of the plugin (the smaller one), my OS is Win98.
gmlegarf
October 13th, 2002, 12:55 PM
Hey Matt,
great job on the plugin, I've got it working sweetly with Girder but I'm afraid I've run into more problems, could just be me being a muppet but I've tried everything:
using the new dll, none of my commands in the ini files are executed when the appropriate option in the menu is selected. I have had the same ini files working with previous versions of the plugin and they haven't been altered in anyway. I've created now ini files and tried a whole range of ideas but to no avale.
I noticed in your history file you mentioned something about fixing a command line parameter bug, could this update be related to my latest problem?
Any suggestions?
Andry
October 13th, 2002, 12:55 PM
I use OSD menu. While OSD menu called, mouse focused on OSD menu, but keyboard focus on application window - not on OSD menu. This is true if application not Grider. For Grider all right. How to avoid this problem?
Andry
October 13th, 2002, 12:55 PM
Your menu window is fully "owner draw && owner serve"?
Try to create child in your menu window.
For this child set in CreateEx:
WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_GROUP.
Hope this helps.
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.