Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 17 NOV 2003 12:26:08PM Chip Rommel wrote:

Does anyone know of a 3rd party tool or sample application showing how to create an "Outlook" style menu? The more like MS-Outlook, the better.

Thanks


At 17 NOV 2003 12:26PM Wilhelm Schmitt wrote:

Bob,

Doing an enitre app this way could be a challenge (I'd look at JOI first)

Do you know about some available java classes for an outlook-like interface?

Regards

Wilhelm


At 17 NOV 2003 12:26PM Chip Rommel wrote:

Steve:

Thanks - that's what we are already doing, and the results aren't as crisp as we had hoped. If anyone else has suggestions, please fire away.


At 17 NOV 2003 12:26PM Donald Bakke wrote:

Chip,

Perhaps it would help to know what specific UI features of Outlook you are interested in. From your original post and the early responses I thought you were only interested in the menu UI. However, it seems that others think you want more than that. Do you want hover toolbars, sliding splitters, tree controls, etc.? I don't believe there is a one solution fits all here but I believe you can get very close (as Sprezz suggested) using a mixture of solutions.

dbakke@srpcs.com

SRP Computer Solutions, Inc.


At 17 NOV 2003 12:26PM Steve Smith wrote:

What you're asking for can really only be done with bitmaps and icons, and involves redrawing the screen manually, using calls to the GDI interface. Even the C++ code for this is a nightmare.

Your requirement is reasonable - I'd look at trying to draw an elongated bitmap on a button (One button=one menu), including text, and then deducing the mouse click position.

But someone else here may have a better solution.

Steve


At 17 NOV 2003 12:26PM Chip Rommel wrote:

Does anyone know of a 3rd party tool or sample application showing how to create an "Outlook" style menu? The more like MS-Outlook, the better.

Thanks


At 17 NOV 2003 12:26PM Tony Splaver wrote:

Chip,

I do not know how hard it would be to integrate one of these ActiveX controls in OI, but here are some controls that should work:

http://www.vbxtras.com/categories/outlook-style-user-interface_functionality.asp

My engineering group has used Infragistics Data Explorer control and it worked perfectly in VC++ and VB. It is fast and easy to use, plus it looks exactly like the MS Outlook.

Tony


At 17 NOV 2003 12:26PM Steve Smith wrote:

Tony, are you using XP?

I ask this because the support for the USER32.DLL SetMenuItemBitmaps Windows API function call doesn't appear to be active under Windows 2000.

Steve


At 17 NOV 2003 12:26PM Bob Carten wrote:

Nothing Specific.

I just meant that JOI integeration with OI is pretty good, so if you were going to do an application completely in non-oi forms, JOI can be a nice choice.

Bob


At 17 NOV 2003 12:26PM Colin Rule wrote:

Chip

Send me your Email address and I will send you a screen shot of my new front end. It is like Outlook, and may give you some tips.

It just uses good old controllable OI code.

I will explain how its done and show some of the code if you like it enough.

Colin Rule

colin.rule@cssp.co.uk


At 17 NOV 2003 12:26PM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:

Chip

A lot of what you'd like to achieve can be done with smoke and mirrors. If Colin's examples are not close enough for you (and having seen what he has done in person it looks good) then you will probably be able to achieve even better results in OI 7 (by utilising splitter controls et al) or by subclassing OI controls to get more control over WM messages. Such a setup would require a fair degree of customisation and does not lend itself to encapsulation - we had a client who demanded an Outlook style interface several years ago. It is possible to achieve a close facsimile thereof but it can be programming intensive.

The Sprezzatura Group

World Leaders in all things RevSoft


At 17 NOV 2003 12:26PM Tony Splaver wrote:

Hi Steve,

We have been using XP for the last two years in our development labs, and have not deployed anything on Win2000 for a year – so I am far from an expert on Win2000. However, I still have MS Dev Studio 6.0 installed on my box (it is not possible to find anything this old within VS .NET or on MSDN anymore), so I looked up SetMenuItemBitmaps() in the old MSDN and it says:

QuickInfo

Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later. *****
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.

So I think the user32.dll should export this function in all versions of Windows (95 or later). It is included in the user32.lib and the declaration from the winuser.h is:

WINUSERAPI BOOL WINAPI SetMenuItemBitmaps(HMENU hMenu, UINT uPosition, UINT uFlags, HBITMAP hBitmapUnchecked, HBITMAP hBitmapChecked);

Just for the fun of it, I copied the user32.dll from a Windows 2000 Server that we have onsite to a WinNT box. Then I used the good old right-mouse-click and ?Quick View? to see the export table – and sure enough the SetMenuItemBitmaps function is exported as ordinal 023E (good thing MS exported these function in numerical order). So, I would conclude that Windows 2000 should support this user32 function.

What happens when you try to call this function in Win2000? Does it return a 0, or does it just not work? Does the same OI code work in Win95, WinXP, Win98, but not in Win2000? If it returns 0, then call GetLastError() to get the real error code. The help says "If either the hBitmapUnchecked or hBitmapChecked parameter is NULL, the system displays nothing next to the menu item for the corresponding check state. If both parameters are NULL, the system displays the default check-mark bitmap when the item is checked, and removes the bitmap when the item is not checked." – so make sure you are passing in two valid bitmap handles.

I have used the SetMenuItemBitmaps function in MFC CMenu class in the past (on Win2000 I think), and it worked OK.

Also, there is a note in the base function about "When the menu is destroyed, these bitmaps are not destroyed; it is up to the application to destroy them." – which is probably critical in OI if you do not want to have any memory/resource leaks – so make sure you explicitly destroy the bitmap object (DeleteObject(hBitmapChecked)).

Sorry for the long response, but I hope this helps.

Tony


At 17 NOV 2003 12:26PM Steve Smith wrote:

Tony,

Thanks for that. I'll try the code again on a fresh PC.

Steve

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/43ce0fd7d9b4fe0585256de1005fc702.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1