摘要:
WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和CP_UTF8两个。使用CP_ACP代码页就实现了ANSI与Unicode之间的转换。使用CP_UTF8代码页就实现了UTF-8与Unicode之间的转换。下面是代码实现:1. ANSI to Unicodewstring ANSIToUnicode( const string& str ){int len = 0;len = str.length();int unicodeLen = :: 阅读全文
摘要:
1.窗口没有CControlUI*指针,因此可以通过获取一个容器等来代替;timer有窗口timer,Onnotify的timerCControlUI*temp = static_cast<CControlUI*>(m_pmUI.FindControl(_T("MyContainer")));m_pmUI.SetTimer(temp,1,1000);2.CStdString转换为string类型,WideCharToMultiByte 函数功能:该函数映射一个unicode字符串到一个多字节字符串。LPCSTR CStdString::GetChar(){int 阅读全文
摘要:
Map<int, string> mapStudent; mapStudent.insert(pair<int, string>(1, “student_one”)); mapStudent.insert(pair<int, string>(2, “student_two”)); mapStudent.insert(pair<int, string>(3, “student_three”)); map<int, string>::iterator iter; for(iter = mapStudent.begin(); iter != 阅读全文
摘要:
1. 所谓的worker线程,是指完全不牵扯到图形用户界面(GUI),纯粹做运算的线程。2. 微软的多线程模型:Win32说明文件一再强调线程分为GUI线程和worker线程两种。GUI线程负责建造窗口以及处理主消息循环。Worker负责执行纯粹的运算工作,如重新计算或重新编页等,这些运算工作会导致主线程的消息队列失去反应。一般而言,GUI线程绝不会去做那些不能够马上完成的工作。GUI线程的定义是:拥有消息队列的线程。任何一个特定窗口的消息总是被产生这一窗口的线程抓到并处理。所有对此窗口的改变也都应该由该线程完成。如果worker线程也产生了一个窗口,那么就会有一个消息队列随之被产生出来并且附 阅读全文
该文被密码保护。 阅读全文
摘要:
void CMainFrame::SetWindowShape(){ ::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,910,600,SWP_NOMOVE); CPoint ptVertex[8]; ptVertex[0].x = 0; ptVertex[0].y = 0; ptVertex[1].x = 800; ptVertex[1].y = 0; ptVertex[2].x = 800; ptVertex[2].y = 96; ptVertex[3].x = 910; ptVertex[3].y = 96; ptVertex[4].x = 910; ptVe 阅读全文