hi, im using one of the latest GCC and it surprise me WM_UNICHAR is not defined.
im using WIN32_LEAN_AND_MEAN but i do not think it has anything todo with that, since i coulndt find the definition of WM_UNICHAR anywhere in the winuser.h
can anyone help me ?
Last edited by cj-wijtmans; January 12th, 2009 at 09:52 AM.
As I said, I know nothing of gcc, but if it can create Windows applications then I would assume that it can use Microsoft's headers. And I can tell you that if gcc supplies Windows headers then they must originate with Microsoft. They are redistributable after all. Of course, gcc could modify them for its own purposes but I'm not sure that would pass a license test.
Why are you positive that your headers are post-XP? It sound to me like they aren't. Just because you acquire something after XP has been released doesn't mean that it is XP compatible. gcc could be supplying very old headers.
Another thing to consider is that maybe in your case you could just define WM_UNICHAR yourself as show above (0x109). You must realize that the definition in the header is only for the benefit of your program. Any post-XP operating system will send the WM_UNICHAR message regardless of whether your program knows about it. If that message is the only thing you are missing then just define it and see what happens.
There's always the chance that the number I provided will be incompatible in the future, but I've never seen any indication that once a Windows message has been defined that it ever gets changed.
You may still want to consider my advice about defining WM_UNICHAR yourself, but I know that many here also use gcc. Does anyone else have an idea of what is happening? Why don't the gcc headers define this message?