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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2987|回復: 0
收起左側

個人總結Windows應用程序編程的基本點

[復制鏈接]
ID:262 發表于 2014-10-21 21:49 | 顯示全部樓層 |閱讀模式
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字符集改為未設置即可。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频在线一区 | 日韩三极 | 亚洲视频不卡 | 欧美片网站免费 | 九九热九九 | www.狠狠干 | 日韩国产精品一区二区三区 | 99久久婷婷国产综合精品 | 午夜视频导航 | 六月成人网 | 中文字幕免费 | 少妇诱惑av | 国产美女永久免费无遮挡 | 国产成人精品视频在线观看 | 久草资源在线 | 欧美日韩在线一区二区 | 亚洲精品电影在线观看 | 欧美日韩国产一区二区三区 | 国产精品无码专区在线观看 | 一区二区三区国产精品 | 亚洲毛片| 久久久久久久久蜜桃 | 久热中文字幕 | 国产1区 | 亚洲欧美一区二区在线观看 | 免费观看色 | 欧美精品一区在线 | 黄色大片免费观看 | 东京av男人的天堂 | 欧美精品一区在线 | 亚洲网址在线观看 | 日韩精品一区二区久久 | 久久久视频在线 | 欧美日韩国产欧美 | 欧美日韩在线一区二区三区 | 日韩精品在线观看免费 | 色婷婷亚洲一区二区三区 | 亚洲天堂久久 | h视频免费观看 | 麻豆hd | 玖玖免费|