亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? visual c++ mfc 簡明教程.txt

?? 這一關于在windows 下設計管道的很好的參考資料
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
  class CButtonApp : public CWinApp
  {
  public:
  virtual BOOL InitInstance();
  };
  // Create an instance of the application class
  CButtonApp ButtonApp; 
  // Declare the main window class
  class CButtonWindow : public CFrameWnd
  { 
  CButton *button;
  public:
  CButtonWindow();
  afx_msg void HandleButton();
  DECLARE_MESSAGE_MAP() 
  };
  // The message handler function
  void CButtonWindow::HandleButton()
  {
  MessageBeep(-1);
  }
  // The message map
  BEGIN_MESSAGE_MAP(CButtonWindow, CFrameWnd)
  ON_BN_CLICKED(IDB_BUTTON, HandleButton)
  END_MESSAGE_MAP()
  // The InitInstance function is called once
  // when the application first executes
  BOOL CButtonApp::InitInstance()
  {
  m_pMainWnd = new CButtonWindow();
  m_pMainWnd->ShowWindow(m_nCmdShow);
  m_pMainWnd->UpdateWindow();
  return TRUE;
  }
  // The constructor for the window class
  CButtonWindow::CButtonWindow()
  { 
  CRect r;
  // Create the window itself
  Create(NULL, 
  "CButton Tests", 
  WS_OVERLAPPEDWINDOW,
  CRect(0,0,200,200));
  // Get the size of the client rectangle
  GetClientRect(&r);
  r.InflateRect(-20,-20);
  // Create a button
  button = new CButton();
  button->Create("Push me",
  WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
  r,
  this,
  IDB_BUTTON);
  }
  主要修改了三個方面: 
  CButtonWindow的類說明現在包含了一個新的成員函數和一個新的表示消息映射的宏。HandleButton函數是正常的C++函數,它通過afx_msg標簽確定為消息處理函數。該函數需要一些特殊的約束,例如,它必須是void型并且它不能接收任何參數。DECLARE_MESSAGE_MAP宏建立了消息映射。函數和宏都必須是public型的。 
  HandleButton函數作為成員函數以同樣的方式來建立。在該函數中,我們調用了Windows API中的MessageBeep函數。 
  用宏來建立消息映射。在代碼中,你可以看見BEGIN_MESSAGE_MAP宏接收兩各參數。第一個指定了使用消息映射的類的名稱。第二個是基類。然后是ON_BN_CLICKED宏,接受兩個參數控制的ID和該ID發送命令消息時所調用的函數。最后,消息映射用END_MESSAGE_MAP來結束。 
  當用戶單擊按鈕時,它向其包含該按鈕的父窗口發送了一個包含其ID的命令消息。那是按鈕的缺省行為,這就是該代碼工作的原因。按鈕向其父窗口發送消息,是因為它是子窗口。父窗口截取該消息并用消息映射來確定所要調用的函數。MFC來安排,只要指定的消息一出現,相應的函數就會被調用。
  ON_BN_CLICKED消息是CButton發送的唯一感興趣的消息。它等同于CWnd中的ON_COMMAND消息,只是一個更簡單方便的同義詞而已。
  改變大小的消息
  在上面的代碼中,由于有了消息映射,從CFrameWnd繼承來的應用程序窗口認出按鈕有按鈕產生的單擊消息并響應之。加入消息映射的ON_BN_CLICKED宏指定了按鈕的ID和窗口在接收到來自按鈕的命令消息時應調用的函數。因為只要用戶單擊了按鈕,按鈕就會自動把其ID發送父窗口,這樣才能允許代碼正確地處理按鈕事件。
  作為該應用程序的主窗口的框架窗口自己也有傳遞消息的能力。大約有100不同的消息可用,它們都是從CWnd類繼承來的。從MFC幫助文件中瀏覽CWnd類的成員函數,你就會看到所有的這些消息。查看所有以“On”開頭的成員函數。
  你可能已經注意到了,至今為止所有的代碼都不能很好地處理尺寸變化。當窗口變化大小時,窗口的框架會做相應的調整,但是窗口中調的內容仍原處不動。可以通過處理尺寸變化的事件來更好的處理這一問題。任何窗口發送的消息之一就是變尺寸消息。該消息是當改變形狀時發出的。我們可以使用該消息來控制框架中子窗口的大小,如下所示: 
  // button3.cpp
  #include 
  #define IDB_BUTTON 100
  // Declare the application class
  class CButtonApp : public CWinApp
  {
  public:
  virtual BOOL InitInstance();
  };
  // Create an instance of the application class
  CButtonApp ButtonApp; 
  // Declare the main window class
  class CButtonWindow : public CFrameWnd
  { 
  CButton *button;
  public:
  CButtonWindow();
  afx_msg void HandleButton();
  afx_msg void OnSize(UINT, int, int);
  DECLARE_MESSAGE_MAP() 
  };
  // A message handler function
  void CButtonWindow::HandleButton()
  {
  MessageBeep(-1);
  }
  // A message handler function
  void CButtonWindow::OnSize(UINT nType, int cx,
  int cy)
  {
  CRect r;
  GetClientRect(&r);
  r.InflateRect(-20,-20);
  button->MoveWindow(r);
  }
  // The message map
  BEGIN_MESSAGE_MAP(CButtonWindow, CFrameWnd)
  ON_BN_CLICKED(IDB_BUTTON, HandleButton)
  ON_WM_SIZE()
  END_MESSAGE_MAP()
  // The InitInstance function is called once
  // when the application first executes
  BOOL CButtonApp::InitInstance()
  {
  m_pMainWnd = new CButtonWindow();
  m_pMainWnd->ShowWindow(m_nCmdShow);
  m_pMainWnd->UpdateWindow();
  return TRUE;
  }
  // The constructor for the window class
  CButtonWindow::CButtonWindow()
  { 
  CRect r;
  // Create the window itself
  Create(NULL, 
  "CButton Tests", 
  WS_OVERLAPPEDWINDOW,
  CRect(0,0,200,200));
  // Get the size of the client rectangle
  GetClientRect(&r);
  r.InflateRect(-20,-20);
  // Create a button
  button = new CButton();
  button->Create("Push me",
  WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
  r,
  this,
  IDB_BUTTON);
  }
  為了理解上面的代碼,從窗口的消息映射開始。你會發現入口ON_WM_SIZE。該入口表示消息映射是對來自CButtonWindow對象的變尺寸消息發生響應。變尺寸消息是當用戶改變窗口的大小時產生的。該消息來自窗口本身,而不是作為ON_COMMAND消息由按鈕向其父窗口發送的。這是因為窗口框架不是子窗口。
  要注意的是消息映射中的ON_WM_SIZE入口沒有參數。你在MFC文檔中CWnd類,消息映射中的ON_WM_SIZE入口總是調用OnSize函數,并且該函數必須接收三個參

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费日本视频一区| 欧美日韩国产bt| 国产高清精品久久久久| 久久精品国产99| 蜜臀精品一区二区三区在线观看| 日韩中文字幕91| 日韩一区精品视频| 久久国内精品视频| 久久99精品久久久久婷婷| 免费在线观看一区| 国产一区福利在线| 成人一区二区在线观看| 丁香六月综合激情| 色综合一区二区三区| 在线观看视频一区二区 | 色综合久久久久综合99| www.欧美精品一二区| 91网站在线播放| 精品视频在线看| 日韩视频免费观看高清在线视频| 日韩一卡二卡三卡国产欧美| 精品播放一区二区| 中文字幕国产一区| 亚洲一区在线看| 免费成人美女在线观看.| 国产一级精品在线| www.欧美日韩国产在线| 欧美日韩三级一区| 精品国产露脸精彩对白| 国产欧美一区二区精品忘忧草| 国产精品成人午夜| 亚洲电影第三页| 极品尤物av久久免费看| 成人国产精品视频| 欧美亚洲免费在线一区| 欧美va日韩va| 国产精品二三区| 亚洲成年人网站在线观看| 精品亚洲成a人在线观看| 成人国产电影网| 欧美另类高清zo欧美| 久久精品一二三| 亚洲国产视频直播| 国产精品一区二区久激情瑜伽| 一本色道亚洲精品aⅴ| 日韩欧美在线网站| 亚洲人成在线播放网站岛国 | 粉嫩av一区二区三区粉嫩| 色哟哟在线观看一区二区三区| 91精品免费在线观看| 国产精品三级av在线播放| 亚洲v中文字幕| 国产91精品欧美| 91超碰这里只有精品国产| 亚洲国产激情av| 丝袜国产日韩另类美女| 成人av网址在线| 日韩一级二级三级| 亚洲男帅同性gay1069| 久久99国产精品久久| 色欧美片视频在线观看在线视频| 欧美成人一级视频| 一区二区在线观看免费视频播放| 精品亚洲aⅴ乱码一区二区三区| 日本伦理一区二区| 中文字幕成人网| 蜜桃精品在线观看| 色哟哟精品一区| 国产欧美精品一区二区色综合| 亚洲第一激情av| 91在线免费看| 国产亚洲欧美色| 美日韩黄色大片| 欧美亚洲日本国产| 亚洲视频小说图片| 国产乱子轮精品视频| 欧美一级二级三级蜜桃| 亚洲另类春色国产| 成人激情av网| 久久综合av免费| 久久国产婷婷国产香蕉| 欧美乱熟臀69xxxxxx| 综合自拍亚洲综合图不卡区| 国产福利精品导航| 久久女同性恋中文字幕| 热久久久久久久| 欧美日本在线播放| 亚洲成人av免费| 欧美在线观看18| 亚洲精品乱码久久久久久黑人| 成人av网站在线观看免费| 日本一区免费视频| 国产成人亚洲精品狼色在线 | 亚洲欧美另类久久久精品| 丰满岳乱妇一区二区三区| 久久免费午夜影院| 国内精品国产成人国产三级粉色| 日韩一区二区电影网| 日本强好片久久久久久aaa| 欧美日韩精品一区二区三区四区 | 精品中文字幕一区二区| 欧美一卡二卡在线观看| 蜜臀国产一区二区三区在线播放| 91 com成人网| 秋霞成人午夜伦在线观看| 在线播放91灌醉迷j高跟美女| 丝袜诱惑制服诱惑色一区在线观看| 精品视频一区三区九区| 天堂午夜影视日韩欧美一区二区| 欧美日韩国产成人在线91| 视频一区二区国产| 91精品国产全国免费观看 | 欧美日韩免费视频| 午夜影院久久久| 91精品国产美女浴室洗澡无遮挡| 青青草97国产精品免费观看| 精品乱人伦一区二区三区| 国产自产v一区二区三区c| 久久精品人人做人人爽97| 成人性视频免费网站| 亚洲女同ⅹxx女同tv| 欧美日韩一级大片网址| 美国欧美日韩国产在线播放| 国产亚洲综合色| 99精品在线免费| 亚洲成av人片在线| 欧美xxxxxxxx| 成+人+亚洲+综合天堂| 亚洲激情在线播放| 欧美一区二区在线看| 国产精品一区三区| 亚洲男人的天堂一区二区 | 午夜视频在线观看一区二区| 日韩欧美综合在线| 丁香天五香天堂综合| 亚洲欧美国产三级| 91精品国产一区二区三区蜜臀 | 欧美日韩一区在线| 激情五月婷婷综合网| 国产精品色哟哟网站| 色婷婷av一区二区三区gif| 捆绑调教美女网站视频一区| 国产精品进线69影院| 在线播放91灌醉迷j高跟美女| 国产精品一区二区久久精品爱涩| 亚洲激情中文1区| 日韩精品一区二区三区在线| 不卡一二三区首页| 热久久免费视频| 亚洲欧美一区二区三区久本道91| 欧美精品乱人伦久久久久久| 国产成人综合视频| 亚洲五月六月丁香激情| 国产亚洲成av人在线观看导航| 色狠狠综合天天综合综合| 国内精品免费在线观看| 亚洲一区二区在线播放相泽| 久久蜜臀中文字幕| 欧美三级蜜桃2在线观看| 国产乱人伦偷精品视频免下载| 亚洲精品videosex极品| 久久久精品免费网站| 欧美酷刑日本凌虐凌虐| 白白色 亚洲乱淫| 麻豆一区二区三| 亚洲国产欧美另类丝袜| 国产精品女同一区二区三区| 日韩欧美的一区| 欧日韩精品视频| 成人中文字幕合集| 久久国产精品免费| 亚洲国产成人高清精品| 中文字幕一区二区三区不卡在线| 欧美成人女星排行榜| 在线精品视频免费播放| 成人一区二区在线观看| 激情都市一区二区| 亚洲18女电影在线观看| 亚洲色大成网站www久久九九| 久久综合精品国产一区二区三区| 欧美肥胖老妇做爰| 欧美中文字幕一区二区三区亚洲| 不卡一区中文字幕| 国产乱人伦偷精品视频免下载| 人人狠狠综合久久亚洲| 亚洲福利国产精品| 一区二区三区欧美日| 国产精品久久夜| 国产日韩欧美在线一区| 精品国产电影一区二区| 欧美一级日韩免费不卡| 7777精品伊人久久久大香线蕉最新版 | 日本不卡高清视频| 午夜成人免费视频| 午夜欧美在线一二页| 一级中文字幕一区二区| 日韩一区有码在线| 日韩理论片一区二区| 国产精品成人在线观看| 国产精品国产馆在线真实露脸 |