// 应用程序的初始化 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; }
// 转屏后如果需要调整窗口的位置,重载此函数响应 WM_SETTINGCHANGE 消息 void CNewSmsWnd::OnSettingChange(DWORD wFlag, LPCTSTR pszSectionName) { //设置新的屏幕方向的窗口大小及控件位置 DEVMODE devMode; memset(&devMode, 0, sizeof(DEVMODE)); devMode.dmSize = sizeof(DEVMODE); devMode.dmFields = DM_DISPLAYORIENTATION; ChangeDisplaySettingsEx(NULL, &devMode, NULL, CDS_TEST, NULL); //竖屏 if (devMode.dmDisplayOrientation == DMDO_90 || devMode.dmDisplayOrientation == DMDO_270) { g_bH = TRUE; RECT rc = MzGetWorkArea(); //modify begin by zhaodsh 2010/03/21 12:27 //SetWindowPos(m_hWnd, rc.left, rc.top,RECT_HEIGHT(rc)+rc.top, RECT_WIDTH(rc) ); SetWindowPos(m_hWnd, rc.left, rc.top,RECT_WIDTH(rc), RECT_HEIGHT(rc) ); // modify end 2010/03/21 12:27 m_Recievers.SetPos(2, 0, GetWidth()-BUTTON_WIDTH_V-2, BUTTON_HEIGHT_VH); m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (GetHeight()-m_Recievers.GetHeight())); m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_V),0,BUTTON_WIDTH_V-2,BUTTON_HEIGHT_VH); } //横屏 if (devMode.dmDisplayOrientation == DMDO_180 || devMode.dmDisplayOrientation == DMDO_0) { g_bH = FALSE; RECT rc = MzGetWorkArea(); SetWindowPos(m_hWnd, rc.left, rc.top,RECT_WIDTH(rc), RECT_HEIGHT(rc) ); m_Recievers.SetPos(2, 0, GetWidth()-BUTTON_WIDTH_H-2, BUTTON_HEIGHT_VH); m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (GetHeight()-m_Recievers.GetHeight())); m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_H),0,BUTTON_WIDTH_H-2,BUTTON_HEIGHT_VH); } }
// 窗口的初始化 virtual BOOL OnInitDialog() { // 必须先调用基类的初始化 if (!CMzWndEx::OnInitDialog()) { return FALSE; } //开启acc功能 MzAccOpen(); //获取XYZ轴加速度值 1 == 18mg, 56 == 1g //注意以下几点, //1 要先调用MzAccGetXYZ,再调用 //MzAccGetX/MzAccGetY/MzAccGetZ后,才能获得正确的值 //2 获得的加速度值范围是-55~+55, 绝对值起大,加速度越大. // MzAccGetXYZ(&m_XAxis, &m_YAxis, &m_ZAxis); MzAccGetX(&m_XAxis); //获得Y轴加速度 MzAccGetY(&m_YAxis); MzAccGetZ(&m_ZAxis); RECT rRect = MzGetWorkArea(); m_XButton.SetPos(0, 0, 150, 100); AddUiWin(&m_XButton); m_nMaxXPos = RECT_WIDTH(rRect) - m_XButton.GetWidth(); m_nMinXPos = 0; m_nMaxYPos = RECT_HEIGHT(rRect) - m_XButton.GetHeight(); m_nMinYPos = 0; SetTimer(m_hWnd, 10, 10, NULL); //设置初始的速度和位置 m_XPos = m_nMinXPos; m_YPos = m_nMinYPos; m_YSpeed = 0; m_XSpeed = 0; m_nCount = 0; return TRUE; }
/* 应用程序的初始化*/ virtual BOOL Init() { /* 初始化 COM 组件*/ CoInitializeEx(0, COINIT_MULTITHREADED); /* 创建主窗口*/ RECT rcWork = MzGetWorkArea(); m_LoginWnd.Create(rcWork.left,rcWork.top,RECT_WIDTH(rcWork),RECT_HEIGHT(rcWork), 0, 0, 0); if(MzGetParam(MZGP_APP_START_ANIMATION)==TRUE){ m_LoginWnd.AnimateWindow(MZ_ANIMTYPE_ZOOM_IN,true); // m_LoginWnd.SetShellHomekeyReturnValue(SHK_RET_APPNOEXIT_SHELLTOP); m_LoginWnd.Show(); //m_LoginWnd.SetBgColor(RGB(0,0,0)); } /* 成功则返回TRUE*/ return TRUE; }
//#define SMS_MSGTYPE_TEXT L"Meizu Text SMS Protocol" BOOL CNewSmsWnd::OnInitDialog() { //zhu.t add for License at 2010-3-22 #ifdef LICENSE if ( !LicenseProtect()) { PostQuitMessage(0); return FALSE; } #endif //test Meizu wchar_t protocolName[260]; HRESULT hr = S_OK; wcscpy(protocolName, SMS_MSGTYPE_NOTIFICATION/**/); hr = SmsClearMessageNotification(SMS_MSGTYPE_TEXT); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_NOTIFICATION); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_WDP); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_WCMP); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_STATUS); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_BROADCAST); if (FAILED(hr)) { return E_FAIL; } hr = SmsClearMessageNotification(SMS_MSGTYPE_RAW); if (FAILED(hr)) { return E_FAIL; } SMSREGISTRATIONDATA smsrd = SMSREGISTRATIONDATA(); memset(&smsrd, 0x00, sizeof(SMSREGISTRATIONDATA)); smsrd.cbSize = sizeof(SMSREGISTRATIONDATA); wchar_t pszFileName[MAX_PATH] = {0}; GetModuleFileName(0, pszFileName, MAX_PATH); wcscpy(smsrd.tszAppName, pszFileName); wcscpy(smsrd.tszParams, _T("")); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_TEXT); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_NOTIFICATION); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_WDP); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_WCMP); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_STATUS); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_BROADCAST); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } ////////////////////////////////////////////////////////////////////////// memset( smsrd.tszProtocolName, 0x0, SMS_MAX_PROTOCOLNAME_LENGTH *sizeof(TCHAR)); wcscpy(smsrd.tszProtocolName, SMS_MSGTYPE_RAW); hr = SmsSetMessageNotification (&smsrd); if (FAILED(hr)) { return E_FAIL; } //end // 必须先调用基类的初始化 if (!CMzWndEx::OnInitDialog()) { return FALSE; } //打开重力感应设备 MzAccOpen(); //获得重力感应改变的消息 m_accMsg = MzAccGetMessage(); //m_Recievers.SetParentWnd(m_hWnd); // 初始化收件人控件,并添加到窗口中 RECT rect = MzGetVisibleDesktopRect(); RECT rc = {0}; int height = 0; int width = 0; HWND hWnd = FindWindow(L"CTaskBar", 0); if(hWnd != 0) { ::GetWindowRect(hWnd, &rc); height = rc.bottom - rc.top; width = rc.right - rc.left; } if(width>480) { g_bH = TRUE; long lWidth = GetWidth(); long lHeight = GetHeight(); RECT rc = MzGetWindowRect(); RECT rc2 = MzGetClientRect(); RECT rc3 = MzGetWorkArea(); SetWindowPos(m_hWnd, rc.left, rc.top,RECT_HEIGHT(rc)+rc.top,RECT_WIDTH(rc) ); lWidth = GetWidth(); lHeight = GetHeight(); m_Recievers.SetPos(2, 0, GetWidth()-BUTTON_WIDTH_H-2, BUTTON_HEIGHT_VH); m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (GetHeight()- m_Recievers.GetHeight() )); m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_H),0,BUTTON_WIDTH_H-2,BUTTON_HEIGHT_VH); } else { long lWidth = GetWidth(); long lHeight = GetHeight(); RECT rc = MzGetWindowRect(); RECT rc2 = MzGetClientRect(); RECT rc3 = MzGetWorkArea(); SetWindowPos(m_hWnd, rc3.left, rc3.top,RECT_WIDTH(rc3), RECT_HEIGHT(rc3) ); m_Recievers.SetPos(2, 0, lWidth-BUTTON_WIDTH_V-2, BUTTON_HEIGHT_VH); m_SmsMsgEdit->SetPos(2, m_Recievers.GetHeight()+3, GetWidth()-4, (lHeight - m_Recievers.GetHeight())); m_SendSmsBtn.SetPos((GetWidth()-BUTTON_WIDTH_V),0,BUTTON_WIDTH_V-2,BUTTON_HEIGHT_VH); } m_Recievers.SetText(L"点击选择联系人:"); // set the tips text m_Recievers.SetID(MZ_IDC_RECIEVERS_EDIT); m_Recievers.SetParent((void*)this); //m_Recievers.SetTextColor(RGB(0,0,0)); // you could also set the color of text //m_Recievers.SetEnable(0); //m_Recievers.SetColorBg(RGB(0,0,0)); AddUiWin(&m_Recievers); // don't forget to add the control to the window // 初始化短信文本控件,并添加到窗口中 //MzOpenSip(IM_SIP_MODE_KEEP,0); m_SmsMsgEdit->SetSipMode(IM_SIP_MODE_GEL_PY,0); //m_SmsMsgEdit->SetFocus(true); m_SmsMsgEdit->SetTextColor(RGB(94,94,94)); // you could also set the color of text m_SmsMsgEdit->SetEditBgType(UI_EDIT_BGTYPE_ROUND_RECT); m_SmsMsgEdit->SetColorBg(RGB(243,241,207)); m_SmsMsgEdit->EnableInsideScroll(true); m_SmsMsgEdit->EnableZoomIn(true); m_SmsMsgEdit->SetTip(L"在这里输入短信内容"); //m_SmsMsgEdit->EnableAutoOpenSip(true); AddUiWin(m_SmsMsgEdit); // don't forget to add the control to the window m_SendSmsBtn.SetButtonType(MZC_BUTTON_DELETE_ORANGE); m_SendSmsBtn.EnableTextSinkOnPressed(TRUE); m_SendSmsBtn.SetTextColor_Pressed(RGB(94,94,94)); m_SendSmsBtn.SetID(MZ_IDC_SEND_SMS_BTN); m_SendSmsBtn.SetText(L"发送"); //m_ContactorsBtn.SetTextColor(RGB(255,255,255)); AddUiWin(&m_SendSmsBtn); // MzOpenSip(); return TRUE; }