I would like to create something similar to the Windows Media Player miniplayer in the task bar. I don't expect many problems with coding the desk band (plenty of documentation about that), but I'm still wondering how to start with coding the skinned UI.
The first image is obviously a mask, and then there are images for normal, disabled, hottracked and pressed states. I guess that I should take the different parts of the 'state' images (according to the state of each part), and merge these into a single image that shows the current UI. But how can I do this?
I would prefer not to use any libraries, just C++ and the plain Windows API.
Thanks for the link, but that tutorial only shows how to create non-rectangular windows with a bitmap background. I don't need a non-rectangular window, but a normal window with non-rectangular buttons on it, by using a colored mask (the top image in http://img130.imageshack.us/img130/5195/wmpbandimages.png[^]).
Sorry, but your title asked for information on "skinned UI". I'm not sure how to do the buttons you are asking for, but probably something similar. Try the articles here on CodeProject, it's quite likely some other CP member has written about it.
OK, I've done some more searching, but unfortunately, I couldn't find any examples of how to use such a multi-colored mask.
However, I think that I should take the following approach: for each color in the multi-colored mask, create a 2-color mask with the current color replaced by black, and all other colors replaced by white (by using something like ReplaceColor at How to replace a color in a HBITMAP[^]). Then, those 2-color masks can be used to BitBlt the individual segments (that might come from different state images) into one single image.
Is this the right approach? I want to be sure that I haven't missed anything before starting to implementing this.
I cant understand why you are going towards complicity. Just use SkinCrafter or some other Skining library like DSkin which has Vista, Windows MPlayer skins and lots more. you just need to use their .dll and .cpp and .h in your project and a few lines of coding.
As I already said, I don't want to use a full-blown library for such a small and simple skinned area with just a few buttons. And there's also the matter of personal interest; I would really like to know how it's done. Using a library just because you don't know how to do something, is a wrong reflex.
Does anyone know if the Visual Studio 2010 documentation includes the Visual C++ 2008 Feature Pack documentation sections (specifically the MFC Feature Pack related stuff) or do 2010 users still rely on the online MSDN documentation for the feature pack topics.
Hi, In my MFC application,im invoking one console application,using ShellExecuteEx() and im passing value like "MODEL" to that console application and im receiving this string using argv in console application.
Like the same way, i want to receive one string from console applciation to MFC.
How can i do that?Pls help me..
Hi. I want to ask you an long question : I have an CRectTracker and an CLineTracker , ( base simple projects could be taken from here[TestTracker] and from here[TestLineTracker2] . How can I combine those clases , ( CLineTracker & CRectTracker ) to have a CScrollView with CRect object and CLinePos object , and an line object between two rects keep tracks with rectangles ? A kind of object net map ... see somehere an CMultiRectTracker but for is not sufficient , because I need an LineTracker too , and I like to be an portable code somehow , I mean , if I have an CMultiLineRectTracker class , that class to reuse in any other project... any kind of hint will be appreciated !
std::exp() is your friend - it takes one parameter and returns e raised to the power of it's argument. It's declared in cmath. With that function you can write your expression in almost the same way as you've written it in the question.
Yes sir,i referred the link,which you had provided,
it was really helpful.thank you
I used this code to ghet the current date :
//Code to get the current date
//code to get the diff between current and previous date
COleDateTime currentDate, PreviousDate;
currentDate.ParseDateTime(str, 0, MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT)); // str is current date()
PreviousDate.ParseDateTime(Junk, 0, MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT));
int j = currentDate - PreviousDate;
current date foormat is 12:7:2010
previous date format is 12-06-2010
The - operator doesn't return an int but COleDateTimeSpan object. You should check the documentation.
BTW, please don't mix your different questions. This question was about the arithmetic operation, not the date difference.