Hiding the navigation pane

Is it possible from the C/AL code to hide the navigation pane (eq. to pressing Alt+F1)…? And how (a code sample would be nice)?

I doubt it can be done with C/AL, but I’m not completely sure. May we know why you would need such a function? [edit] Just remembered that you can use Automation to emulate the ALT+F1 key press. See this topic or search the forum for sendkeys: http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=12842&SearchTerms=sendkeys

we need it so our forms can utilize the enitre screenspace. Our forms are getting big and we need the extra space on certain forms, so we figured that we could hide the navigation pane when showing those forms.

Actually I think that the scripting host will do the trick… thanx [:)]

yes but how would you know the navigation pane is active? And then you simulate ALT+F1 and make it active again.

Right sigh - I thought of the exact same thing - I need to be able to get the state of the navigation pane. Does anybody know how to do that…?

What about switching all users to 21’’ monitors??? [:p]

Its not just the screen size but obviously the resolution which can effect how much viewing space the users have. I’d redesign the form, try splitting the fields onto several tabs or something? (sorry if I’m stating the obvious.)

An idea: For a Delphi / cFront Project i needed the text shown in an Error Message. This Error Message was created by the cfront.dll and there wasn’t any possibility to get the Error Text in the normal way (Setter or Getter method of cFront). I installed a Programm called Winspector Spy (www.windows-spy.com) which uses API Functions provided by the user32.dll to get information from open windows. If you have the window handle you can send actions like open or close to the window via using the dll. Maybe this way is a solution but believe me it is a lot of Trial & Error. The first step would be to check if the “Navigation Pain” is a registered single or child window. Use the winspector for it. If the Navigation Pane is reachable by using a handle somebody can write a Wrapper-Automation-Component for your problem. This is not a promise but i’m going to have some free time in my coming holidays so i will have a look at this probem, too [;)]

Yes what Alexander sais can certanly be done. You could get the active window, get up to the parent with GetParent API call and then search down the hierchy to a window named Navigation Pane and then close it. All this with some API calls. But i think this is a lot of overkill, requires you to create and distribute wrapper DLL’s. There is (as far as i know) not an DLL available in every windows version that wraps these API calls and that are directly exposed to Navision C/AL by COM. (if someone disagrees, please post would be very happy if it there is some kind of automation doing exactly this!) I think redesigning forms would be better.

There is one problem with redesigning though. We have made an interface to navision which uses a touchscreen - and as we know we all have ten thumbs so the icons, menuitems etc. need to be large. Now this leaves us with little space as it is - and now the navigation pain wants to take more of our precious space away from us… [:(] sigh what to do… what to do…

quote:

There is one problem with redesigning though. We have made an interface to navision which uses a touchscreen - and as we know we all have ten thumbs so the icons, menuitems etc. need to be large. Now this leaves us with little space as it is - and now the navigation pain wants to take more of our precious space away from us… [:(] sigh what to do… what to do…
Originally posted by dodger042 - 2004 Dec 21 : 14:34:40

Make a very large button that sends ALT+F1 using sendkeys in the wscript automation library and instruct your users to ‘touch’ this button when they see the navigation pane. [:D][8D] Realy the API sollution is not a sollution, but if you MUST then you better find yourself a good VB6 or .NET programmer somewhere in your company.