久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 個人總結Windows應用程序編程的基本點 [打印本頁]

作者: liumei    時間: 2014-4-21 17:57
標題: 個人總結Windows應用程序編程的基本點
1. WM_CLOSE 、WM_DESTROY、WM_QUIT

我用一段程序解釋:
int WinMain(…………){
…………
MSG msg;
while(GetMessage(&msg,NULL,0,0))//一開始就收到WM_QUIT消息后,立即退出循環。因為GetMessage()在MSDN中說明:當收到WM_QUIT消息后,會返回假,別的消息返回真。那么假即為0,while循環條件(為真)不滿足,則退出while循環,主函數返回0。主函數一旦返回,程序的生命就徹底結束了
{
  TranslateMessage(&msg);
  DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
  case WM_CLOSE://按下窗口的關閉按鈕時系統發送WM_CLOSE消息
   DestroyWindow(hWnd);//放WM_DESTROY消息到消息隊列并銷毀窗口,注意,只是銷毀窗口,程序還活著在進程里
   break;
  case WM_DESTROY://當得到先前的WM_DESTROY消息時,說明窗口已經被銷毀了,接下來由PostQuitMessage(0)發送WM_QUIT消息
   PostQuitMessage(0);
   break;
  default:
   return DefWindowProc(hWnd,message,wParam,lParam);
}
return 0;
}


2.
VS2005以及以后版本中const char *轉換為LPCWSTR的方法
VS2005默認是Unicode的,在VC 6.0中編譯成功的項目在VS2005中常會出現類型錯誤。
經常出現的錯誤是:不能從const char *轉換為LPCWSTR
使用CreateDC("DISPLAY",NULL,NULL,NULL)就會報錯,如果使用強制轉換LPCWSTR"DISPLAY",雖然能夠通過,但是編碼會出錯。
可行的辦法是使用 TEXT("DISPLAY")轉換,
CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL);
另一種方法是:
項目菜單——項目屬性(最后一個)——配置屬性——常規——項目默認值——字符集,將使用Unicode字符集改為未設置即可。






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产视频线观看永久免费 | 欧美性生活免费 | 精品国产乱码久久久久久闺蜜 | 视频在线观看一区二区 | 国产资源视频 | 午夜欧美 | 精品久久久久久亚洲精品 | 色天堂影院 | 99re视频这里只有精品 | 一区二区三区在线看 | 亚洲精品乱码久久久久久9色 | 中文字幕一区二区三区在线观看 | 国产精品视频久久久久 | 国产精品视频一区二区三区四蜜臂 | 一区二区三区四区国产 | 性一交一乱一伦视频免费观看 | 激情在线视频网站 | 激情一区二区三区 | 在线免费观看成人 | 91中文| 蜜桃av一区二区三区 | 一区二区三区在线观看免费视频 | 男人天堂网av | 99精品视频在线观看免费播放 | julia中文字幕久久一区二区 | 久久国产成人 | 精品一级| 久久综合久色欧美综合狠狠 | 中文字幕一区二区三区不卡在线 | 亚洲精品1区 | 国产一区二区三区四区三区四 | 人操人免费视频 | 先锋资源吧 | 欧美一级欧美三级在线观看 | 精品免费视频一区二区 | 91 中文字幕 | 国产成人免费在线观看 | 日韩午夜精品 | 婷婷丁香在线视频 | 国产精品一区二区三区在线 | 日韩视频在线一区 |