UiButton_Image按钮控件
此示例展示以下控件的使用方法:
图片按钮控件UiButton_Image使用流程
UiButton_Image m_btnimg1;
m_btnimg1.SetID(MZ_IDC_TESTBTN1); m_btnimg1.SetButtonType(MZC_BUTTON_NONE); m_btnimg1.SetPos(170,150,150,100); //设置图片按钮控件的正常状态图片,其中imgNormal为加载了图片的 ImagingHelper对象 m_btnimg1.SetImage_Normal(imgNormal); //设置图片按钮控件的按下状态图片,其中imgPressed为加载了图片的 ImagingHelper对象 m_btnimg1.SetImage_Pressed(imgPressed); //设置显示模式 //UI_BUTTON_IMAGE_MODE_ALWAYS_SHOW_NORMAL下为一直显示正常状态的图片 //UI_BUTTON_IMAGE_MODE_NORMAL为按下按钮时不显示正常状态的图片 m_btnimg1.SetMode(UI_BUTTON_IMAGE_MODE_ALWAYS_SHOW_NORMAL); //设置两个状态图片的Z-Order关系,为true时普通状态图片在上,按下状态图片在下 m_btnimg1.SwapImageZOrder(true); //设置按钮的颜色 m_btnimg1.SetTextColor(RGB(255,255,255));
示例代码展示:
设置UiButton_Image:
//正常状态下显示的图片 m_btnimg1.SetImage_Normal(imgNormal); //按下时现实的图片 m_btnimg1.SetImage_Pressed(imgPressed); //显示的模式 m_btnimg1.SetMode(UI_BUTTON_IMAGE_MODE_ALWAYS_SHOW_NORMAL); //是否交换Z轴坐标 m_btnimg1.SwapImageZOrder(true);
/************************************************************************/ /* * Copyright (C) Meizu Technology Corporation Zhuhai China * All rights reserved. * 中国珠海, 魅族科技有限公司, 版权所有. * * This file is a part of the Meizu Foundation Classes library. * Author: ZYK * Create on: 2009-06-03 */ /************************************************************************/ //请按照以步骤运行此实例代码: //首先, 打开VS2005/2008创建一个Win 32智能设备项目 //在项目向导中选择M8SDK, 并勾选空项目 //然后,在项目中新建一个cpp文件,将此处代码拷贝到cpp文件中 //最后,按照M8SDK的帮助文档,配置项目属性 //现在,可以运行此程序了 //包含MZFC库的头文件 #include <mzfc_inc.h> #include "resource.h" //此代码演示了: // 创建和初始化应用程序 // 创建和初始化窗体 // UiButton_Image按钮控件的使用及其命令消息的处理 // 按钮控件的ID #define MZ_IDC_TESTBTN1 101 #define MZ_IDC_TESTBTN2 102 // 从 CMzWndEx 派生的主窗口类 class CSample1MainWnd: public CMzWndEx { MZ_DECLARE_DYNAMIC(CSample1MainWnd); public: // 窗口中的UiButton_Image控件 UiButton_Image m_btnimg1; UiButton_Image m_btnimg2; ImageContainer m_imgContainer; protected: // 窗口的初始化 virtual BOOL OnInitDialog() { // 必须先调用基类的初始化 if (!CMzWndEx::OnInitDialog()) { return FALSE; } ImagingHelper* imgNormal = m_imgContainer.LoadImage(MzGetInstanceHandle(), IDR_PNG_SMSICON, true); ImagingHelper* imgPressed = m_imgContainer.LoadImage(MzGetInstanceHandle(), IDR_PNG_EMAILICON, true); // 初始化窗口中的UiButton_Image按钮控件 m_btnimg1.SetID(MZ_IDC_TESTBTN1); m_btnimg1.SetButtonType(MZC_BUTTON_NONE); m_btnimg1.SetPos(170,150,150,100); m_btnimg1.SetImage_Normal(imgNormal); m_btnimg1.SetImage_Pressed(imgPressed); m_btnimg1.SetMode(UI_BUTTON_IMAGE_MODE_ALWAYS_SHOW_NORMAL); m_btnimg1.SwapImageZOrder(true); m_btnimg1.SetTextColor(RGB(255,255,255)); AddUiWin(&m_btnimg1); // 初始化窗口中的UiButton_Image按钮控件 m_btnimg2.SetID(MZ_IDC_TESTBTN2); m_btnimg2.SetButtonType(MZC_BUTTON_NONE); m_btnimg2.SetPos(170,250,150,100); m_btnimg2.SetImage_Normal(imgNormal); m_btnimg2.SetImage_Pressed(imgPressed); m_btnimg2.SetMode(UI_BUTTON_IMAGE_MODE_NORMAL); m_btnimg2.SwapImageZOrder(true); m_btnimg2.SetTextColor(RGB(255,255,255)); AddUiWin(&m_btnimg2); return TRUE; } // 重载命令消息的处理函数 virtual void OnMzCommand(WPARAM wParam, LPARAM lParam) { UINT_PTR id = LOWORD(wParam); switch(id) { case MZ_IDC_TESTBTN1: { if(1 == MzMessageBoxEx(m_hWnd, L"You have pressed Exit button, Really want exit?", L"Exit", MB_YESNO, false)) PostQuitMessage(0); } break; case MZ_IDC_TESTBTN2: { if(1 == MzMessageBoxEx(m_hWnd, L"You have pressed Exit button, Really want exit?", L"Exit", MB_YESNO, false)) PostQuitMessage(0); } break; } } }; MZ_IMPLEMENT_DYNAMIC(CSample1MainWnd) // 从 CMzApp 派生的应用程序类 class CSample1App: public CMzApp { public: // 应用程序的主窗口 CSample1MainWnd m_MainWnd; // 应用程序的初始化 virtual BOOL Init() { // 初始化 COM 组件 CoInitializeEx(0, COINIT_MULTITHREADED); // 创建主窗口 RECT rcWork = MzGetWorkArea(); m_MainWnd.Create(rcWork.left,rcWork.top,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork), 0, 0, 0); m_MainWnd.Show(); // 成功则返回TRUE return TRUE; } }; // 全局的应用程序对象 CSample1App theApp;