An IDispatch implementation can associate any positive integer ID value with a given name. Zero is reserved for the default, or Value property; -1 is reserved to indicate an unknown name; and other negative values are defined for other purposes. For example, if GetIDsOfNames is called, and the implementation does not recognize one or more of the names, it returns DISP_E_UNKNOWNNAME, and the rgDispId array contains DISPID_UNKNOWN for the entries that correspond to the unknown names.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
I've never seen any mention of specifying a different DLL file to be used by windows to draw your app.
I've seen instances of people using the DrawThemeXXXXXXXX() functions found in uxtheme.h & UxTheme.dll,
though have never been able to see a possible way to load your own theme data.
Reading from "http://msdn.microsoft.com/en-us/library/bb762202(VS.85).aspx": SHGetShellStyleHInstance first attempts to load the version of Shellstyle.dll from the current active visual style. If that is unsuccessful, the version stored in the System32 directory is used.(EDIT: however, that function is deprecated after winXP sp2, so that rules out placing a hook on the function and returning a handle to your own DLL)
In short, the only way I've ever themed applications is myself, the hard-way. I.e define all of the bitmaps to be used for your window edges/features/controls etc and then code in the rules that define how they'll be applied (think about the 'behaviour' of WMP11 as it's resized)
Of course, you could just search for one of the many styling libraries out there. There's a great one floating around here somewhere. I think it's called the StyleToolkit by (Darren Sessions)
Here: 'ave a look at this: http://www.codeproject.com/KB/GDI-plus/Style_Toolkit.aspx
I believe what you are looking for is abs, that will give you the "absolute value" of whatever you feed it, so if your value is 123, it will give you 123, if it is -321, it will give you 321. Is that what you want?
> The problem with computers is that they do what you tell them to do and not what you want them to do. < > Sometimes you just have to hate coding to do it well. <
Which version of Windows are you targeting? This API is present only in Windows 2000 or above. You must ensure to define _WIN32_WINNT and WINVER to something that's above 0x500 (Windows 2000 or above) to have this API available to be used from your code.
Are you using a really OLD SDK?
It is a crappy thing, but it's life -^Carlo Pallini
I actually checked for a latest SDK than SDK 2008 by googling "SDK 2009". which didnt give me a valid result. Now only I came to know that, they changed the convension of post fixing the year with the SDK name .