#include "ConfigWnd.h" #define MZ_IDC_TOOLBARCONFIG 200 #define MZ_IDC_SCROLLWIN 201 #define MZ_IDC_SOUNDBTN 202 #define MZ_IDC_DIRBTN 203 #define MZ_IDC_LOCALBTN 204 MZ_IMPLEMENT_DYNAMIC(CConfigWnd) CConfigWnd::CConfigWnd(void) :m_txtNickname(&m_ScrollWin),m_txtBroadcastAddress(&m_ScrollWin),m_txtDir(&m_ScrollWin), m_txtMusicDir(&m_ScrollWin),m_txtVideoDir(&m_ScrollWin),m_txtPhotoDir(&m_ScrollWin),m_txtBookDir(&m_ScrollWin), m_txtMusicExt(&m_ScrollWin),m_txtVideoExt(&m_ScrollWin),m_txtPhotoExt(&m_ScrollWin),m_txtBookExt(&m_ScrollWin) { } CConfigWnd::~CConfigWnd(void) { } BOOL CConfigWnd::OnInitDialog() { if (!CMzWndEx::OnInitDialog()) { return FALSE; } pConfig = Configuration::GetInstance(); m_ScrollWin.SetPos(0,0,GetWidth(),GetHeight()-MZM_HEIGHT_TEXT_TOOLBAR); m_ScrollWin.SetID(MZ_IDC_SCROLLWIN); int y = 0; m_CaptionBasic.SetPos(0,y,GetWidth(),MZM_HEIGHT_CAPTION); m_CaptionBasic.SetText(L"基本设置"); m_ScrollWin.AddChild(&m_CaptionBasic); y+=MZM_HEIGHT_CAPTION + 10; m_LblSound.SetText(L"是否播放提示音:"); m_LblSound.SetPos(0,y,260,53); m_ScrollWin.AddChild(&m_LblSound); m_BtnSound.SetPos(GetWidth() / 2+ 100,y,108,53); m_BtnSound.SetButtonMode(MZC_BUTTON_MODE_HOLD); m_BtnSound.SetButtonType(MZC_BUTTON_SWITCH); m_BtnSound.SetID(MZ_IDC_SOUNDBTN); if(pConfig->IsPlaySound()) m_BtnSound.SetState(MZCS_BUTTON_PRESSED); else m_BtnSound.SetState(MZCS_BUTTON_NORMAL); m_ScrollWin.AddChild(&m_BtnSound); y+=53 + 8; m_txtNickname.SetTip2(L"昵称:"); m_txtNickname.SetLeftInvalid(100); m_txtNickname.SetPos(25,y,GetWidth() - 50 ,MZM_HEIGHT_SINGLELINE_EDIT); m_txtNickname.SetText( pConfig->NickName().c_str()); //m_txtNickname.SetSipMode(IM_SIP_MODE_ADDRESSEE_123 ); m_ScrollWin.AddChild(&m_txtNickname); y+=MZM_HEIGHT_SINGLELINE_EDIT + 8; m_BtnShowLocal.SetPos(0,y,GetWidth(),MZM_HEIGHT_BUTTONEX); m_BtnShowLocal.SetTextMaxLen(0); m_BtnShowLocal.SetText(L"是否显示本机:"); m_BtnShowLocal.SetButtonType(MZC_BUTTON_LINE_BOTTOM ); m_BtnShowLocal.SetID(MZ_IDC_LOCALBTN); switch(pConfig->GetShowLocal()) { case SHOW_LOCAL_HIDE: m_BtnShowLocal.SetText2(L"不显示"); break; case SHOW_LOCAL_SHOW: m_BtnShowLocal.SetText2(L"显示"); break; case SHOW_LOCAL_SHOW_SEND: m_BtnShowLocal.SetText2(L"显示并允许发送"); break; } m_ScrollWin.AddChild(&m_BtnShowLocal); y += MZM_HEIGHT_BUTTONEX + 8; m_txtBroadcastAddress.SetTip2(L"广播地址:"); m_txtBroadcastAddress.SetLeftInvalid(140); m_txtBroadcastAddress.SetPos(25,y,GetWidth() -50 ,MZM_HEIGHT_SINGLELINE_EDIT); m_txtBroadcastAddress.SetText(pConfig->BroadcastAddress().c_str()); //m_txtNickname.SetSipMode(IM_SIP_MODE_ADDRESSEE_123 ); m_ScrollWin.AddChild(&m_txtBroadcastAddress); y+=MZM_HEIGHT_SINGLELINE_EDIT + 8; m_CaptionDir.SetText(L"目录设置"); m_CaptionDir.SetPos(0,y,GetWidth(),MZM_HEIGHT_CAPTION); m_ScrollWin.AddChild(&m_CaptionDir); y+=MZM_HEIGHT_CAPTION; m_BtnDirType.SetPos(0,y,GetWidth(),MZM_HEIGHT_BUTTONEX); m_BtnDirType.SetText(L"接收方式"); m_BtnDirType.SetButtonType(MZC_BUTTON_LINE_BOTTOM ); m_BtnDirType.SetID(MZ_IDC_DIRBTN); //m_BtnDirType.SetButtonType(MZC_BUTTON_GRAY_ROUND_L); if(pConfig->IsFixedPath()) { m_BtnDirType.SetText2(L"固定目录"); m_dirContainer.SetVisible(false); } else { m_BtnDirType.SetText2(L"智能目录"); m_dirContainer.SetVisible(true); } m_ScrollWin.AddChild(&m_BtnDirType); y+= MZM_HEIGHT_BUTTONEX; m_txtDir.SetTip2(L"默认目录:"); m_txtDir.SetLeftInvalid(140); m_txtDir.SetPos(25,y,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtDir.SetText(pConfig->Dir().c_str()); m_ScrollWin.AddChild(&m_txtDir); y+=MZM_HEIGHT_SINGLELINE_EDIT + 8; int begin = y; m_LblMusicExt.SetText(L"音乐扩展名:"); m_LblMusicExt.SetPos(0,y - begin,190,53); m_dirContainer.AddChild(&m_LblMusicExt); y+=40; m_txtMusicExt.SetTip(L"音乐扩展名:"); //m_txtMusicExt.SetLeftInvalid(170); m_txtMusicExt.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtMusicExt.SetText(pConfig->MusicExt().c_str()); m_dirContainer.AddChild(&m_txtMusicExt); y+=MZM_HEIGHT_SINGLELINE_EDIT+10; m_txtMusicDir.SetTip2(L"音乐目录:"); m_txtMusicDir.SetLeftInvalid(140); m_txtMusicDir.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtMusicDir.SetText(pConfig->MusicDir().c_str()); //m_ScrollWin.AddChild(&m_txtMusicDir); m_dirContainer.AddChild(&m_txtMusicDir); y+=MZM_HEIGHT_SINGLELINE_EDIT; m_LblVideoExt.SetText(L"视频扩展名:"); m_LblVideoExt.SetPos(0,y - begin,190,53); m_dirContainer.AddChild(&m_LblVideoExt); y+=40; m_txtVideoExt.SetTip(L"视频扩展名:"); //m_txtVideoExt.SetLeftInvalid(170); m_txtVideoExt.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtVideoExt.SetText(pConfig->VideoExt().c_str()); m_dirContainer.AddChild(&m_txtVideoExt); y+=MZM_HEIGHT_SINGLELINE_EDIT+10; m_txtVideoDir.SetTip2(L"视频目录:"); m_txtVideoDir.SetLeftInvalid(140); m_txtVideoDir.SetPos(25,y - begin ,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtVideoDir.SetText(pConfig->VideoDir().c_str()); m_dirContainer.AddChild(&m_txtVideoDir); y+=MZM_HEIGHT_SINGLELINE_EDIT; m_LblPhotoExt.SetText(L"图片扩展名:"); m_LblPhotoExt.SetPos(0,y - begin,190,53); m_dirContainer.AddChild(&m_LblPhotoExt); y+=40; m_txtPhotoExt.SetTip(L"图片扩展名:"); //m_txtPhotoExt.SetLeftInvalid(170); m_txtPhotoExt.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtPhotoExt.SetText(pConfig->PhotoExt().c_str()); m_dirContainer.AddChild(&m_txtPhotoExt); y+=MZM_HEIGHT_SINGLELINE_EDIT+10; m_txtPhotoDir.SetTip2(L"图片目录:"); m_txtPhotoDir.SetLeftInvalid(140); m_txtPhotoDir.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtPhotoDir.SetText(pConfig->PhotoDir().c_str()); m_dirContainer.AddChild(&m_txtPhotoDir); y+=MZM_HEIGHT_SINGLELINE_EDIT; m_LblBookExt.SetText(L"书籍扩展名:"); m_LblBookExt.SetPos(0,y - begin,190,53); m_dirContainer.AddChild(&m_LblBookExt); y+=40; m_txtBookExt.SetTip2(L"书籍扩展名:"); m_txtBookExt.SetLeftInvalid(170); m_txtBookExt.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtBookExt.SetText(pConfig->BookExt().c_str()); m_dirContainer.AddChild(&m_txtBookExt); y+=MZM_HEIGHT_SINGLELINE_EDIT+10; m_txtBookDir.SetTip2(L"书籍目录:"); m_txtBookDir.SetLeftInvalid(140); m_txtBookDir.SetPos(25,y - begin,GetWidth()-50,MZM_HEIGHT_SINGLELINE_EDIT); m_txtBookDir.SetText(pConfig->BookDir().c_str()); m_dirContainer.AddChild(&m_txtBookDir); y+=MZM_HEIGHT_SINGLELINE_EDIT; m_Toolbar.SetPos(0,GetHeight()-MZM_HEIGHT_TEXT_TOOLBAR,GetWidth(),MZM_HEIGHT_TEXT_TOOLBAR); m_Toolbar.SetButton(0, true, true, L"取消"); m_Toolbar.SetButton(2, true, true, L"保存"); m_Toolbar.SetID(MZ_IDC_TOOLBARCONFIG); m_dirContainer.SetPos(0,begin,GetWidth(),y - begin); m_ScrollWin.AddChild(&m_dirContainer); AddUiWin(&m_ScrollWin); AddUiWin(&m_Toolbar); return TRUE; } void CConfigWnd::Save() { pConfig->SetPlaySound(m_BtnSound.GetState() == MZCS_BUTTON_PRESSED); wstring str = m_txtNickname.GetText().C_Str(); pConfig->SetNickName(str); str = m_txtBroadcastAddress.GetText().C_Str(); pConfig->SetBroadcastAddress(str); str = m_txtDir.GetText().C_Str(); pConfig->SetDir(str); pConfig->SetFixedPath(m_BtnDirType.GetText2().Compare( L"固定目录")==0); if(!pConfig->IsFixedPath()) { str = m_txtMusicDir.GetText().C_Str(); pConfig->SetMusicDir(str); str = m_txtMusicExt.GetText().C_Str(); pConfig->SetMusicExt(str); str = m_txtVideoDir.GetText().C_Str(); pConfig->SetVideoDir(str); str = m_txtVideoExt.GetText().C_Str(); pConfig->SetVideoExt(str); str = m_txtPhotoDir.GetText().C_Str(); pConfig->SetPhotoDir(str); str = m_txtPhotoExt.GetText().C_Str(); pConfig->SetPhotoExt(str); str = m_txtBookDir.GetText().C_Str(); pConfig->SetBookDir(str); str = m_txtBookExt.GetText().C_Str(); pConfig->SetBookExt(str); } if(m_BtnShowLocal.GetText2().Compare( L"不显示")==0) { pConfig->SetShowLocal(SHOW_LOCAL_HIDE); } else if(m_BtnShowLocal.GetText2().Compare( L"显示")==0) { pConfig->SetShowLocal(SHOW_LOCAL_SHOW); } else if(m_BtnShowLocal.GetText2().Compare( L"显示并允许发送")==0) { pConfig->SetShowLocal(SHOW_LOCAL_SHOW_SEND); } pConfig->Save(); } void CConfigWnd::OnMzCommand(WPARAM wParam, LPARAM lParam) { UINT_PTR id = LOWORD(wParam); switch(id) { case MZ_IDC_TOOLBARCONFIG: { int nIndex = lParam; if (nIndex==0) { //取消 this->EndModal( ID_CANCEL); return; } else if (nIndex==2) { //保存 Save(); this->EndModal( ID_OK); return; } } break; case MZ_IDC_DIRBTN: { if(m_BtnDirType.GetText2().Compare( L"智能目录")==0) { m_BtnDirType.SetText2(L"固定目录"); m_dirContainer.SetVisible(false); } else { m_BtnDirType.SetText2(L"智能目录"); m_dirContainer.SetVisible(true); } this->Invalidate(); this->UpdateWindow(); break; } case MZ_IDC_LOCALBTN: { if(m_BtnShowLocal.GetText2().Compare( L"不显示")==0) { m_BtnShowLocal.SetText2(L"显示"); this->Invalidate(); this->UpdateWindow(); return; } else if(m_BtnShowLocal.GetText2().Compare( L"显示")==0) { m_BtnShowLocal.SetText2(L"显示并允许发送"); this->Invalidate(); this->UpdateWindow(); return; } else if(m_BtnShowLocal.GetText2().Compare( L"显示并允许发送")==0) { m_BtnShowLocal.SetText2(L"不显示"); this->Invalidate(); this->UpdateWindow(); return; } } } }