uxtheme.dll and windows XP themes in C#
-
okay here is my problem, i have asked this question about a million times, and everybody keeps giving me the same answer... which leads me to the conclution that nobody understands or knows anything about windows XP themes!!! basically if you look at the theme example in MSDN (ms-help://MS.MSDNQTR.2002JAN.1033/dnwxp/html/xpvisualstyles.htm) you see that the example is first of all written in c++, and that they dont expand much on how to do any of this in .NET (e.g. c# and vb.net) now the reason i said that nobody seems to know the answer to this question is that every time i ask it, i get this response ************************** use a manifest file ************************** i knew about using manifest for quite a long time now, that is NOT theming in windows XP. microsoft says that there are new MSLOGO compliancy standards for XP... there are lots of doc's available on the logo site about this, but NONE of them tell you how to do it in .NET!!!! i find this to be extremely unfair as MS wants us (the developers) to use .net it is only right for them to tell us how to stick to the standards that they Set.?!?! am i wrong in asking this? :confused: :confused: :confused:
-
okay here is my problem, i have asked this question about a million times, and everybody keeps giving me the same answer... which leads me to the conclution that nobody understands or knows anything about windows XP themes!!! basically if you look at the theme example in MSDN (ms-help://MS.MSDNQTR.2002JAN.1033/dnwxp/html/xpvisualstyles.htm) you see that the example is first of all written in c++, and that they dont expand much on how to do any of this in .NET (e.g. c# and vb.net) now the reason i said that nobody seems to know the answer to this question is that every time i ask it, i get this response ************************** use a manifest file ************************** i knew about using manifest for quite a long time now, that is NOT theming in windows XP. microsoft says that there are new MSLOGO compliancy standards for XP... there are lots of doc's available on the logo site about this, but NONE of them tell you how to do it in .NET!!!! i find this to be extremely unfair as MS wants us (the developers) to use .net it is only right for them to tell us how to stick to the standards that they Set.?!?! am i wrong in asking this? :confused: :confused: :confused:
To enable XP Themed controls in a .NET application you need to do two things. First, include the manifest file; second, set the FlatStyle property of your controls to System. If you are creating your own controls then you need to use P/Invoke to obtain the functionality needed for themes. James Sonork: Hasaki "I left there in the morning with their God tucked underneath my arm their half-assed smiles and the book of rules. So I asked this God a question and by way of firm reply, He said - I'm not the kind you have to wind up on Sundays." "Wind Up" from Aqualung, Jethro Tull 1971
-
okay here is my problem, i have asked this question about a million times, and everybody keeps giving me the same answer... which leads me to the conclution that nobody understands or knows anything about windows XP themes!!! basically if you look at the theme example in MSDN (ms-help://MS.MSDNQTR.2002JAN.1033/dnwxp/html/xpvisualstyles.htm) you see that the example is first of all written in c++, and that they dont expand much on how to do any of this in .NET (e.g. c# and vb.net) now the reason i said that nobody seems to know the answer to this question is that every time i ask it, i get this response ************************** use a manifest file ************************** i knew about using manifest for quite a long time now, that is NOT theming in windows XP. microsoft says that there are new MSLOGO compliancy standards for XP... there are lots of doc's available on the logo site about this, but NONE of them tell you how to do it in .NET!!!! i find this to be extremely unfair as MS wants us (the developers) to use .net it is only right for them to tell us how to stick to the standards that they Set.?!?! am i wrong in asking this? :confused: :confused: :confused:
akr0 wrote: okay here is my problem, i have asked this question about a million times, and everybody keeps giving me the same answer... So everyone is wrong and you are right. Congrats to you. X| Enlighten everyone and write an article.
-
akr0 wrote: okay here is my problem, i have asked this question about a million times, and everybody keeps giving me the same answer... So everyone is wrong and you are right. Congrats to you. X| Enlighten everyone and write an article.
hehehe Mark Nischalke wrote: So everyone is wrong and you are right. i did not say that. what i meant was this, look at james' post, he also makes reference to the manifest file and the flatstyle of controls... this is all fine and well. it gives the illusion of a themed application. but do this and place a tab page control on the form. add two or three tabs. then run the app, right click on your desktop and goto properties. look at the difference between the actual pages (not the tabs, the page colors)... this is where you need the uxtheme.dll... Mark Nischalke wrote: Enlighten everyone and write an article. there is an idea, i have discovered some things in the last week on how to access normal DLL's and API's... which will enable me to access uxtheme.dll ;P
-
hehehe Mark Nischalke wrote: So everyone is wrong and you are right. i did not say that. what i meant was this, look at james' post, he also makes reference to the manifest file and the flatstyle of controls... this is all fine and well. it gives the illusion of a themed application. but do this and place a tab page control on the form. add two or three tabs. then run the app, right click on your desktop and goto properties. look at the difference between the actual pages (not the tabs, the page colors)... this is where you need the uxtheme.dll... Mark Nischalke wrote: Enlighten everyone and write an article. there is an idea, i have discovered some things in the last week on how to access normal DLL's and API's... which will enable me to access uxtheme.dll ;P
akr0 wrote: then run the app, right click on your desktop and goto properties. look at the difference between the actual pages (not the tabs, the page colors)... this is where you need the uxtheme.dll... The page color issue is an acknowledged bug by MS. I'm sure there are other controls where this is a problem though which is why you'll need to P/Invoke to get around it until MS fixes it. akr0 wrote: there is an idea Please do :) I always look forward to new articles, especially on new topics such as this. James Sonork: Hasaki "I left there in the morning with their God tucked underneath my arm their half-assed smiles and the book of rules. So I asked this God a question and by way of firm reply, He said - I'm not the kind you have to wind up on Sundays." "Wind Up" from Aqualung, Jethro Tull 1971