Building a GUI using MFC that is similar to Yahoo Messenger

Posted on 2004-11-23
Last Modified: 2013-11-25
Dear Experts,

I want to build a GUI that matches the interfaces of the Yahoo Messenger or Picasa's GUI. Below are the references to screenshots:

Both (Yahoo Msgr and Picasa) have this distinct Windows XP look that is not similar to the GUIs available by default in MFC. I'm wondering if these XP-look interfaces use HTML as a template?
Or are there libraries that can be used (or bought) that can help me create these interfaces easily? I can imagine that it would be very difficult if I'll be creating this from scratch.

What would be the best way to create these delightful GUIs? I can imagine it would be to simply purchase a library if there are any out in the market (which is a totally fine solution, but I can't find any VC++ GUI libraries after searching the web). Another way might be to integrate HTML and graphics (done in photoshop) into MFC to create these astounding look. Pointing me to the right direction would be helpful.

I've looked at a few GUI libraries on the web but most if not all are targetted for .NET. I am developing under VC++ and unable to use .NET per requirements.

Thank you in advance for the assistance!

Question by:sunshine8888
    LVL 48

    Expert Comment

    Adding XP interface style to the project

    1) Open exe project in Visual Studio
    2) Open Resources tab
    3) Insert - Resources - Custom.
    4) Enter 24, OK.
    5) Change new resource ID to IDR_RT_MANIFEST1. Replace "your-application-name" and
    "your description" with real information and Paste this data to the file
    opened in binary editor in the right pane:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
         your description

    6) Change manually value of IDR_RT_MANIFEST1 constant to 1 in resource.h file. Build the project.

    Other way:

    Create text file <your-executable-name>.exe.manifest and paste to it xml data from (5). Put
    this file to the same directory as executable.

    Both ways are working in VC++ 6.0 and later. Resulting executable has XP-style interface. There is no need to do this with Dll projects, only exe.
    LVL 48

    Expert Comment

    This is obviously not all what you need, but this gives something without any efforts.
    LVL 55

    Accepted Solution

    HTML is a good alternative to build modern GUIs, have a look to:
    LVL 6

    Expert Comment

    by:Amritpal Singh
    LVL 6

    Expert Comment

    by:Amritpal Singh
    LVL 6

    Expert Comment

    by:Amritpal Singh
    if above links don't make it
    try using wxWidgets for making professional UI

    here is one of the many samles that are developed using wxWidgets
    LVL 16

    Expert Comment

    Another way would be to subclass all controls you want to redesign. To do this generally, you can install a hook that will subclass all you controls of a certain class name that are children of your main GUI window. In the new window proc you can draw the control as you wish.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Suggested Solutions

    Title # Comments Views Activity
    sumNumber challenge 16 78
    Doc'in system (example?) BA 7 62
    FizzBuzz challenge 9 63
    Post a good COM tutorial 1 20
    Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
    For most people, the WrapPanel seems like a magic when they switch from WinForms to WPF. Most of us will think that the code that is used to write a control like that would be difficult. However, most of the work is done by the WPF engine, and the W…
    This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
    This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA.…

    794 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    16 Experts available now in Live!

    Get 1:1 Help Now