quote:
Originally posted by Emblem
Is it possible to draw on the Chat window? (Using GDI+ or something.)
I'm afraid that's going to be a nasty one. I think you can retrieve the device context of the window and I think you can then draw on it, but the problem is that windows are very complex objects and drawing on them using low-level GDI will most certainly cause trouble. You're going to need to find a way to redraw your additions every time the chat window needs repainting and even if you manage to do that, it'll probably be over-painted by the controls in the window.
I've seen some scripts trying to draw stuff on chat windows, but none of them managed to do this perfectly in all possible situations. Those scripts used a PlusWnd which is set as child window of the chat window and then positioned. Afterwards, they can reposition it in case the chat window is resized.
The first problem is that this repositioning has to be invoked using a timer, the script can't register an event for when the chat window is resized so it has to do this every x seconds which can cause flickering while resizing.
However the biggest problem is that it's not skin-proof. Every Messenger skin looks different and most of them have their elements in other positions than the default skin. Positioning the child window requires specific client coordinates and thus if it looks fine in one skin, it probably won't in another skin.
quote:
Is there any way to display a right click menu? (Anywhere, not just on a Plus! Window.)
Sure, you can use CreatePopupMenu, populate it with menu items and then show it using TrackPopupMenu. I needed this functionality for one of my own scripts, so I made a nice wrapper class for it (see attachment). Just create a new Menu instance, use AddMenuItem() to add items and use Open() to pop it up somewhere on the screen.
This Menu class is taken straight from the current beta of Screenshot Sender 5, documentation is in the script file itself. If you need to add images in front of the menu items, you're going to have to import the function GdiCreateHBITMAPFromFile() and its dependencies from Countdown Live 2 or Screenshot Sender 5.
quote:
Is it possible to find out what font settings the currently signed in user is using?
I think they're somewhere in the registry, try searching these forums.