Awhile I go I came across
this DLL and bookmarked it for later use. Now that I have a use for it, it feels like it is lacking in what it does. It was last updated in 2006 and the newer OS's have added some fancier message boxes that aren't completely feasible using the dll, or at least not that I could see. When you use that DLL to create a popup menu, your project stops running until it receives a message from the popup menu with the results, which isn't ideal, and it appears as though the popup menus cannot be canceled by clicking outside the popup; you MUST select something for it to go away.
Looking at the DBA code for that DLL is somewhat of a headache. For DBPro users who are used to very simple commands, such as "load image", the amount of work necessary to create and manage a system tray icon, something that has been used in windows applications for years, seems a bit much. I can load and navigate a 3D world in DBPro with less than 30 lines, but adding an icon to my system tray requires several hundred.
So, what I would like to see is a DLL that adds much simpler commands. I would even be willing to help in any way that I can, but I am not a C++ expert and calling commands to external DLLS is something with which I am terrible. I believe we will need Shell32.dll to make the icon, and user32.dll to create popup menus, but this is all speculation. The MSDN has
a great article on this subject.
Here are some example commands I think would work:
SYSTRAY SET ICON icon_file$
SYSTRAY HIDE ICON
SYSTRAY SHOW ICON
SYSTRAY SET TOOLTIP text$
SYSTRAY CLEAR TOOLTIP
SYSTRAY SHOW BALLOON balloon_type, image, title_text$, message_text$
SYSTRAY HIDE BALLOON
SYSTRAY GET NUM MESSAGES
SYSTRAY GET MESSAGE(msgNum
)
SYSTRAY CREATE POPUP
SYSTRAY SET POPUP itemNum, text$, flags (disabled, ??)
Here is an example balloon stolen from MSDN:
So, anyone interested in taking this on?