Skinned Program

This is a discussion on Skinned Program within the C++ Programming forums, part of the General Programming Boards category; I want to create a program that is skinned, i.e. it would look like MSN messenger / iTunes on Windows. ...

  1. #1
    Registered User
    Join Date
    May 2007
    Posts
    4

    Skinned Program

    I want to create a program that is skinned, i.e. it would look like MSN messenger / iTunes on Windows. What would be the best way of creating a skinned application in C++.

    The program needs to be able to run on Windows, Linux, and possibly Mac OS.

    The program would also include some lists etc, so not just static images.

    Thank you,

    Owen

  2. #2
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,211
    Since you're requiring your program to work on multiple operating systems, you have a slight problem. First of all, all non-console applications for any OS are generally done via OS specific methods, which means you would have to write your GUI code three different ways, one for every OS you want to support.

    A possible alternative is to look for a GUI library that is written for each OS, so you only have to write your code once. Skinning might not be something that you would find in most GUI libraries, but it's worth looking to see if it's supported.

  3. #3
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    generally skinned applications are built from small images used as building blocks. For example, a button will have 4 "corner" images, 4 tileable "edge" images and a stretchable centre. as you can see it's not a small amount of work.
    "I saw a sign that said 'Drink Canada Dry', so I started"
    -- Brendan Behan

    Free Compiler: Visual C++ 2005 Express
    If you program in C++, you need Boost. You should also know how to use the Standard Library (STL). Want to make games? After reading this, I don't like WxWidgets anymore. Want to add some scripting to your App?

  4. #4
    Registered User
    Join Date
    May 2007
    Posts
    4

    Possibilities

    I have looked into wxWidgets, however that is "strongly advised against" for using skins.

    I was also heard breif mention of OpenGL + Glut being able to create skinned interfaces.

    I have allready created some OpenGL + Glut programs with basic interfaces, that run on both linux and windows. Has anyone had any experience using OpenGL to create good interfaces.

    Thanks

  5. #5
    Registered User
    Join Date
    May 2007
    Posts
    4

    Work Required

    Hi, I am aware of the level of work which may be required, I do have good experience with designing "classic" interfaces, and so would be willing to find a more complex, but satisfactory solution.

  6. #6
    semi-colon generator ChaosEngine's Avatar
    Join Date
    Sep 2005
    Location
    Chch, NZ
    Posts
    597
    There's a really good article on gamedev.net about writing a GUI using directX. Have a search for it, you might be able to adapt some of the ideas to opengl.

  7. #7
    Registered User
    Join Date
    May 2007
    Posts
    4
    Thanks for that, I'll give them a read (theres a few articles).

    I do believe the openGL option may be the way forward for the task.

    Owen

  8. #8
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    yes, GTK+ or GTKMM in your case are good examples of this.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Issue with program that's calling a function and has a loop
    By tigerfansince84 in forum C++ Programming
    Replies: 9
    Last Post: 11-12-2008, 12:38 PM
  2. Need help with a program, theres something in it for you
    By engstudent363 in forum C Programming
    Replies: 1
    Last Post: 02-29-2008, 12:41 PM
  3. Replies: 4
    Last Post: 02-21-2008, 09:39 AM
  4. My program, anyhelp
    By @licomb in forum C Programming
    Replies: 14
    Last Post: 08-14-2001, 10:04 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21