⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mv_skindlg.cpp

📁 在MTK平台上开放的一个皮肤工具,可以支持jpg、bmp、png图片
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// mv_skinDlg.cpp : implementation file
//

#include "stdafx.h"
#include "mv_skin.h"
#include "mv_skinDlg.h"

#include "mmi.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#define WM_MV_SKIN_MSG (WM_USER + 1986)

U8 img_data_buffer[2*1024 * 1024];

const mv_img_size_t mv_img_file_size[LCD_SIZE_TOTAL][IMG_ID_MVPLY_END]=
{
	//QVGA
	{
		{IMG_ID_MVPLY_AUDIO_BG,						      0,    0,    320,	240},  
		//osd layer
		{IMG_ID_MVPLY_OSD_INFO_PANNEL,				  0,    0,    320,	30},
		{IMG_ID_MVPLY_OSD_CNTL_PANNEL,				  0,    190,  320,	50},
		{IMG_ID_MVPLY_OSD_TITLE_BG,					    75,   4,    172,	22},
		{IMG_ID_MVPLY_OSD_CUR_TIME_BG,				  260,  16,   60,	  14},
		{IMG_ID_MVPLY_OSD_BAR_BG,					      35,   194,  255,	12},
		{IMG_ID_MVPLY_OSD_BAR_ACTIVE,				    44,   196,  235,	8},
		{IMG_ID_MVPLY_OSD_BAR_RIGHT,				    44,    196,  6,		8},
		{IMG_ID_MVPLY_OSD_CENTER_BG,				    50,   50,   222,	122},
		// control pics, all have 3 types: normal, pressed and disabled
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS_P,		38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS_G,		38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST,			  38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST_P,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST_G,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY,				    80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY_P,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY_G,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE,				    80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE_P,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE_G,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP,				    105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP_P,				  105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP_G,				  105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS,			  130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS_P,			130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS_G,			130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT,				    155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT_P,				  155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT_G,				  155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM,				    180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM_P,				  180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM_G,				  180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK,				    205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK_P,				  205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK_G,				  205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO,				    230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO_P,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO_G,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE,				    230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE_P,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE_G,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT,				  260,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT_P,			  260,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT_G,			  260,  210,  18,		20},
	},
	//WQVGA
	{
		{IMG_ID_MVPLY_AUDIO_BG,						      0,    0,    400,	240},  
		//osd layer
		{IMG_ID_MVPLY_OSD_INFO_PANNEL,				  0,    0,    400,	30},
		{IMG_ID_MVPLY_OSD_CNTL_PANNEL,				  0,    190,  400,	50},
		{IMG_ID_MVPLY_OSD_TITLE_BG,					    75,   4,    172,	22},
		{IMG_ID_MVPLY_OSD_CUR_TIME_BG,				  260,  16,   60,	  14},
		{IMG_ID_MVPLY_OSD_BAR_BG,					      35,   194,  255,	12},
		{IMG_ID_MVPLY_OSD_BAR_ACTIVE,				    44,   196,  235,	8},
		{IMG_ID_MVPLY_OSD_BAR_RIGHT,				    44,   196,  6,		8},
		{IMG_ID_MVPLY_OSD_CENTER_BG,				    50,   50,   222,	122},
		// control pics, all have 3 types: normal, pressed and disabled
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS_P,		38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BRIGHTNESS_G,		38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST,			  38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST_P,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_CONTRAST_G,			38,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY,				    80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY_P,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PLAY_G,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE,				    80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE_P,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PAUSE_G,				  80,   210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP,				    105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP_P,				  105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_STOP_G,				  105,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS,			  130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS_P,			130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PREVIOUS_G,			130,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT,				    155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT_P,				  155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_NEXT_G,				  155,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM,				    180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM_P,				  180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_ZOOM_G,				  180,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK,				    205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK_P,				  205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_BOOK_G,				  205,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO,				    230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO_P,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_AUDIO_G,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE,				    230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE_P,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_MUTE_G,				  230,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT,				  260,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT_P,			  260,  210,  18,		20},
		{IMG_ID_MVPLY_OSD_CNTL_PROPERT_G,			  260,  210,  18,		20},
	}
};

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMv_skinDlg dialog

CMv_skinDlg::CMv_skinDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMv_skinDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMv_skinDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMv_skinDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMv_skinDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMv_skinDlg, CDialog)
	//{{AFX_MSG_MAP(CMv_skinDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_RADIO_QVGA, OnRadioQvga)
	ON_BN_CLICKED(IDC_RADIO_WQVGA, OnRadioWqvga)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PICTURE_DIR, OnButtonSelectPictureDir)
	ON_BN_CLICKED(ID_BUTTON_SELECT_AUDIO_PIC, OnButtonSelectAudioPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TITLE_PIC, OnButtonSelectTitlePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_CONTROL_PIC, OnButtonSelectControlPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TITLE_BG_PIC, OnButtonSelectTitleBgPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TIME_BG_PIC, OnButtonSelectTimeBgPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PROGRESS_PIC, OnButtonSelectProgressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PROGRSS_PIC, OnButtonSelectProgrssPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TEXT_BG_PIC, OnButtonSelectTextBgPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BRIGHTNESS_NORMAL_PIC, OnButtonSelectBrightnessNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BRIGHTNESS_PRESS_PIC, OnButtonSelectBrightnessPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BRIGHTNESS_DISABLE_PIC, OnButtonSelectBrightnessDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_CONTRAST_NORMAL_PIC, OnButtonSelectContrastNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_CONTRAST_PRESS_PIC, OnButtonSelectContrastPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_CONTRAST_DISABLE_PIC, OnButtonSelectContrastDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PLAY_NORMAL_PIC, OnButtonSelectPlayNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PLAY_PRESS_PIC, OnButtonSelectPlayPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PLAY_DISABLE_PIC, OnButtonSelectPlayDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PAUSE_NORMAL_PIC, OnButtonSelectPauseNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PAUSE_PRESS_PIC, OnButtonSelectPausePressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PAUSE_DISABLE_PIC, OnButtonSelectPauseDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_STOP_NORMAL_PIC, OnButtonSelectStopNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_STOP_PRESS_PIC, OnButtonSelectStopPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_STOP_DISABLE_PIC, OnButtonSelectStopDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PREVIOUS_NORMAL_PIC, OnButtonSelectPreviousNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PREVIOUS_PRESS_PIC, OnButtonSelectPreviousPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_PREVIOUS_DISABLE_PIC, OnButtonSelectPreviousDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_NEXT_NORMAL_PIC, OnButtonSelectNextNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_NEXT_PRESS_PIC, OnButtonSelectNextPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_NEXT_DISABLE_PIC, OnButtonSelectNextDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_ZOOM_NORMAL_PIC, OnButtonSelectZoomNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_ZOOM_PRESS_PIC, OnButtonSelectZoomPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_ZOOM_DISABLE_PIC, OnButtonSelectZoomDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_AUDION_ICON_NORMAL_PIC, OnButtonSelectAudionIconNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_AUDION_ICON_PRESS_PIC, OnButtonSelectAudionIconPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_AUDION_ICON_DISABLE_PIC, OnButtonSelectAudionIconDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_MUTE_ICON_NORMAL_PIC, OnButtonSelectMuteIconNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_MUTE_ICON_PRESS_PIC, OnButtonSelectMuteIconPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_MUTE_ICON_DISABLE_PIC, OnButtonSelectMuteIconDisablePic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TEXT_INFO_NORMAL_PIC, OnButtonSelectTextInfoNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TEXT_INFO_PRESS_PIC, OnButtonSelectTextInfoPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_TEXT_INFO_DISABLE_PIC, OnButtonSelectTextInfoDisablePic)
	ON_BN_CLICKED(IDC_BUTTON_CREATE_SKIN, OnButtonCreateSkin)
	ON_BN_CLICKED(ID_BUTTON_SELECT_RIGHT_PROGRSS_PIC, OnButtonSelectRightProgrssPic)
	ON_BN_CLICKED(IDC_BUTTON_MINIMIZE, OnButtonMinimize)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BOOKMARK_NORMAL_PIC, OnButtonSelectBookmarkNormalPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BOOKMARK_PRESS_PIC, OnButtonSelectBookmarkPressPic)
	ON_BN_CLICKED(ID_BUTTON_SELECT_BOOKMARK_DISABLE_PIC, OnButtonSelectBookmarkDisablePic)
	ON_BN_CLICKED(IDC_BUTTON_PREVIEW, OnButtonPreview)
	ON_MESSAGE(WM_MV_SKIN_MSG,OnMvSkinMaxmizeMsg)
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMv_skinDlg message handlers

BOOL CMv_skinDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here

  CWnd *pWnd;
	show_skin_flag = 0;
	button_state = 0;
	lcd_size = LCD_SIZE_QVGA;
  
	GetCurrentDirectory( SAVE_PATH_LENGTH, m_default_path );
	strcpy(m_dir_path, m_default_path);
	GetDlgItem(IDC_EDIT_PICTURE_DIR)->SetWindowText(m_default_path);

	pWnd = GetDlgItem( IDC_STATIC_LCD_SIZE );
	pWnd->SetWindowPos( NULL,0,0,320,240,SWP_NOZORDER | SWP_NOMOVE );
	memset(m_file_attr, 0x00, sizeof(m_file_attr));
  memset(img_offset, 0x00, sizeof(img_offset));
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMv_skinDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMv_skinDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		//CDialog::OnPaint();
		CPaintDC dc(this); // device context for painting
		//CPaintDC dc(GetDlgItem(IDC_STATIC_LCD_SIZE));

		if( 0 == show_skin_flag )
		{
			char logo_file_path[SAVE_PATH_LENGTH] = {0};

			CPaintDC dc(GetDlgItem(IDC_STATIC_LCD_SIZE));
			strcpy(logo_file_path, m_default_path);
			if( LCD_SIZE_QVGA == lcd_size )
			{
				strcat(logo_file_path, "\\320_240.gif");
				show_jpg_gif(&dc, _T( logo_file_path ), 0, 0, 320, 240);
			}
			else
			{
				strcat(logo_file_path, "\\400_240.gif");
				show_jpg_gif(&dc, _T( logo_file_path ), 0, 0, 400 , 240);
			}
			//show_skin_flag = 0xff;
		}
		else if( 1 == show_skin_flag )
		{
			int i,x,y,w,h;
      
			CPaintDC dc(GetDlgItem(IDC_STATIC_LCD_SIZE));
			for( i = 0; i < IMG_ID_MVPLY_END; i++ )
			{
				if ( 0 == m_file_attr[i].name[0] )
				{
					continue;
				}

				if ( TRUE == draw_img(i) )//need draw
    			{
					x = mv_img_file_size[lcd_size][i].x;
					y = mv_img_file_size[lcd_size][i].y;
					w = m_file_attr[i].width;
					h = m_file_attr[i].height;
					show_jpg_gif(&dc, _T( m_file_attr[i].name), x, y, w, h);
    			}
    		}

			//show_skin_flag = 0xff;
		}
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMv_skinDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CMv_skinDlg::OnRadioQvga() 
{
	// TODO: Add your control notification handler code here
	CWnd *pWnd;
	lcd_size = LCD_SIZE_QVGA;//QVGA
	show_skin_flag = 0;
	pWnd = GetDlgItem( IDC_STATIC_LCD_SIZE );
	pWnd->SetWindowPos( NULL,0,0,320,240,SWP_NOZORDER | SWP_NOMOVE |SWP_NOSIZE );
	set_update_area();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -