123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #include "CFrameWnd.h"
- void CFrameWnd::Thread_LoadedBanner(ThreadData threadData)
- {
- threadData.pFrame->GetBanner();
- threadData.pFrame->InitAsscessKey();
- }
- void CFrameWnd::GetBanner()
- {
- std::wstring tempPath = FolderCore::GetAppTempPath();
- banner->GetBannerlinkFromJson(tempPath);
- auto imgFilePath = tempPath + L"/" + std::to_wstring(0) + L".png";
- //获取图片
- for (size_t i = 0; i < banner->BannerCollection.size(); i++)
- {
-
- if (i <= BannerCore::ShowBannerCount)
- {
- char* ch = (LPSTR)(LPCTSTR)banner->BannerCollection[i].c_str();
- std::wstring wch = CharConvert::GetWideCharW(ch);
- imgFilePath = tempPath + L"/" + to_wstring(i) + L".png";
- bool isSuccess = banner->GetImage(wch, imgFilePath, i);
- if (banner->IsEmptyBanner == true && isSuccess == true)
- banner->IsEmptyBanner = false;
-
- }
- else
- {
- break;
- }
- //由于下载图片需要时间,优先下载第一张后,就显示该图片
- if (i == 0)
- {
- HBITMAP hBitmap = NULL;
- m_InstallingPage->pTabSwitch->RemoveAll();
- {
- imgFilePath = tempPath + L"/" + std::to_wstring(i) + L".png";
- CDuiString ImagePath(imgFilePath.c_str());
- CreateBannerUI(ImagePath, i);
- }
- m_InstallingPage->pTabSwitch->SelectItem(0);
- }
- }
- HBITMAP hBitmap = NULL;
- int count = 0;
- if (BannerCore::ShowBannerCount < banner->BannerCollection.size())
- {
- count = BannerCore::ShowBannerCount;
- }
- else
- {
- count = banner->BannerCollection.size();
- }
- for (size_t i = 1; i < count; i++)
- {
- imgFilePath = tempPath + L"/" + std::to_wstring(i) + L".png";
- CDuiString ImagePath(imgFilePath.c_str());
- CreateBannerUI(ImagePath, i);
- }
- }
- void CFrameWnd::CreateBannerUI(CDuiString ImagePath, int i)
- {
- std::wstring ss = L"Banner" + std::to_wstring(i);
- CControlUI* tem = new CControlUI();
- tem->SetName(ss.c_str());
- tem->SetFixedWidth(XML_BannerWidth);
- tem->SetFixedHeight(XML_BannerHeight);
- tem->SetMinWidth(XML_BannerWidth);
- tem->SetMaxHeight(XML_BannerHeight);
- m_pm.RemoveImage(ImagePath);
- m_pm.AddImage(ImagePath);
- tem->SetBkImage(ImagePath);
- m_InstallingPage->pTabSwitch->Add(tem);
- }
- void CFrameWnd::SetTimerBanner()
- {
- bool m_bOnline = NetWorkState::IsNetWorking();
- if (m_bOnline)
- {
- KillAllTimer();
- StartTimer(Timer_Banner_ID);
- StartTimer(Timer_Installing_ID);
- CFrameWnd::m_SilenceInstallingType = SilenceInstallingType::DownLoading;
- m_InstallingPage->NetWorkUI(m_bOnline);
- if (banner->BannerCollection.size() == 0)
- GetBanner();
- thread installingThread(Thread_Installing, m_threadData);
- installingThread.detach();
-
- }
- }
- void CFrameWnd::SetTimerBannerSwitch()
- {
- currentImageNum++;
- currentImageNum = currentImageNum >= BannerCore::ShowBannerCount ? 0 : currentImageNum;
- m_InstallingPage->pTabSwitch->SelectItem(currentImageNum);
- }
- void CFrameWnd::WaitForNetwork()
- {
- KillAllTimer();
- StartTimer(Timer_WaitForNetwork_ID);
- }
|