Click here to Skip to main content
Licence 
First Posted 27 Jul 2000
Views 358,496
Bookmarked 132 times

A picture based skin system and MPEG decoder

By | 27 Jul 2000 | Article
A picture based skin system for MFC that allows the user to customise their dialogs. The system is demonstrated by presenting a fully functioning MPEG decoder application.
  • Download sample executable - 164 Kb
  • Download demo project - 314 Kb
  • Sample Image - skinsyse.jpg

    SkinSys Ver 1.0

    A picture based skin system For MFC. Based on FriendSoft's (www.yeah.net/FriendSoft) SkinForm.

    SkinSys is copyright 2000 Cüneyt ELÝBOL (www.celibol.freeservers.com)

    Includes

    • CSkinsys codes
    • Simple Skin Editor
    • A Beatiful MPEG 1,2,3 decoder (Copyright www.eldos.org - Based On MAPlay Decoder)
    • MPEGPlayer project (not completed. It is only a sample)

    Directories

    • Decoder: MPEG Decoder codes
    • Editor : Skineditor Files
    • Sample : Sample Skin Files
    • SkinSys: CSkinsys Source Code
    • Root : MPEGPlayer Project

    Requirement

    This system only requires the "OleLoadPicture" Function. (Please see the LoadPictureFile function in Skindialog.cpp)

    How To Use:

    Please read these notes and see the Sample Directory and MPEGPlayer project

    1. Draw mask bitmap
    2. Draw main Bitmap
    3. If you need or want
      1. Draw mouse over bitmap
      2. Draw mouse down bitmap
      3. Draw disable bitmap
    4. Run Skineditor
    5. Select "Screens" Tab
    6. Fill All Pictures
    7. If you want select "Preview" Button
    8. Save and exit
    9. Run Visual Studio
    10. Create a Dialog based new Project (for example Dialog Name = CBaseDialog)
    11. Include "SkinDialog.h" (for example in "StdAfx.h")
    12. Change to CBaseDialog : public CDialog to CBaseDialog : public CSkinDialog
    13. Go to CBaseDialog::OnInitDialog and add these lines
      char m_skin[512];
      sprintf(m_skin, "<Your Skin Name>");
      
      // If you want a menu < Activate to Right click > add this line
      SetMenuID(IDR_MAINMENU);
      
      // If you Want Caption 
      SetWindowText("MPEG Player");
      
      // Set To My SkinFile
      SetSkinFile(m_skin);
      
      CSkinDialog::OnInitDialog();
      
    14. Compile and Run;

    Controlling Buttons Click, Trackbar, ProgressBar, Text and etc...

    If you want these events in the Base Class (CSkinDialog)

    1. void ProgresChanged(CString m_Name); // If progress changes
    2. void MouseMoved(CString m_ButtonName, int x, int y); // if Mouse Moved
    3. void TrackChange(CString m_ButtonName, UINT nSBCode, UINT nPos); // if Trackbar change
    4. void ButtonPressed(CString m_ButtonName); // if Button Pressed

    you should add these functions your CBaseDialog class.

    Changing the tooltip

    use Set<xxx>ToolTip function. <xxx> is Button, Text...
    (for example SetButtonToolTip("BUTTON_USEEQ", "Equalizer is On");

    Getting Value

    use Get<xxx> Function
    (for example: BOOL useEQ = GetButtonCheck("BUTTON_USEEQ"); // if BUTTON_USEEQ checked)

    Setting Value

    use Set<xxx> Function
    (for example: SetButtonCheck("BUTTON_USEEQ", useEQ);
    // if useEQ = True BUTTON_USEEQ is checked)

    Notes:

    Thanks for your interest in CSkinsys. This is the first release, and may have bugs and errors. Please report any bugs or errors, or any questions to me.

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here

    About the Author

    Cüneyt ELÝBOL



    Turkey Turkey

    Member



    Sign Up to vote   Poor Excellent
    Add a reason or comment to your vote: x
    Votes of 3 or less require a comment

    Comments and Discussions

     
    You must Sign In to use this message board. (secure sign-in)
     
    Search this forum  
     FAQ
        Noise  Layout  Per page   
      Refresh
    GeneralI want some part of main image to be transparent. Pinmemberekklesia19:32 22 Nov '08  
    Generalvery good! Pinmemberyangwm2523:56 21 Oct '08  
    AnswerLoadSkins in ButtonPressed will cause the application crash Pinmemberzhang.hong13:31 27 Aug '08  
    QuestionFailed to display button image? Pinmemberzhang.hong8:11 16 Aug '08  
    GeneralThe mp3's during is not accurate Pinmember36513852720:48 8 Nov '07  
    Generalcrash on the application [modified] PinmemberRajeevSahu23:01 26 Jun '07  
    QuestionIs the skinsys author still around? Pinmember1Bob4:19 27 Feb '06  
    GeneralStack corruption detected in VC++7.1 Pinmember1Bob8:06 16 Feb '06  
    Questionerror message: Pinmemberaladeck16:42 15 Nov '05  
    AnswerRe: error message: Pinmember-=Seph=-19:45 23 Nov '05  
    Questionhow to combine skin & resize function Pinmembersjhuang7:40 5 Jul '05  
    Generalanother choice,uskin - personal free skin lib Pinmemberthirdwolf17:34 26 Jun '05  
    GeneralCSkinDialog not support XP and 98 PinmemberReuven Eliahu7:33 25 May '05  
    Generalcurrent good toolkits Pinmemberlonestarr5:27 5 Sep '04  
    GeneralVolume progress disappear after closing a child window/dialog. PinmemberKumori5:58 28 Jul '04  
    Questionwhy there is no picture on my dialog?? Pinmembergunslover22:40 10 Jun '04  
    AnswerRe: why there is no picture on my dialog?? PinmemberYohi23:56 9 Aug '04  
    Generalreload a nother skin at run time Pinmemberabo_moslem0:56 18 Mar '04  
    GeneralRe: reload a nother skin at run time Pinmembersclhj2001@hotmail.com21:26 13 Apr '04  
    GeneralText Alignment Pinmemberjochen6664:29 14 Dec '03  
    GeneralSkin Editor PinmemberRachel2223:18 11 Nov '03  
    GeneralSkinMagic Toolkit Pinmemberjedyking4:58 13 Apr '03  
    GeneralBug in SkinSlider PinsussZaharang21:06 2 Apr '03  
    GeneralRe: SkinMagic SDK Library:The better solution for Skinnable application PinmemberPanayotisG18:05 25 Jan '03  
    GeneralRe: SkinMagic SDK Library:The better solution for Skinnable application Pinmemberpinkpanther12:47 12 Apr '03  

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    Permalink | Advertise | Privacy | Mobile
    Web02 | 2.5.120517.1 | Last Updated 28 Jul 2000
    Article Copyright 2000 by Cüneyt ELÝBOL
    Everything else Copyright © CodeProject, 1999-2012
    Terms of Use
    Layout: fixed | fluid