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

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

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

?? 這一關于在windows 下設計管道的很好的參考資料
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
  通過修改不同的樣式屬性,你可以理解CStatic的不同形式。例如,下面的代碼包含有對CTestWindow構造函數進行了修改,所產生的控制有個位移: 
  CTestWindow::CTestWindow()
  { 
  CRect r;
  // Create the window itself
  Create(NULL, 
  "CStatic Tests", 
  WS_OVERLAPPEDWINDOW,
  CRect(0,0,200,200));
  // Get the size of the client rectangle
  GetClientRect(&r);
  r.InflateRect(-20,-20);
  // Create a static label
  cs = new CStatic();
  cs->Create("Now is the time for all good men to \
  come to the aid of their country",
  WS_CHILD|WS_VISIBLE|WS_BORDER|SS_CENTER,
  r,
  this);
  }
  上面的代碼除了所顯示的文本比較長外沒有什么不同。運行該代碼你就可以看到,CStatic在指定的區域內的文本已經回繞了,且沒一行都是居中的。
  如果邊框矩形太小不能包含所有的文本行,則文本會被剪切以適應之。你減小矩形大小或增大字符串長度就可以看到CStatic的該特性。
  在我們所看到的所有代碼中,樣式SS_CENTER是用來居中文本的。CStatic也允許左對齊或右對齊。左對齊是用SS_LEFT來替代SS_CENTER屬性。同樣,右對齊是用SS_RIGHT來取代之。
  SS_LEFTNOWORDWRAP屬性是用來關閉文本回繞的。它會強迫使用左對齊屬性。
  CStatic的矩形顯示模式
  CStatic也支持兩種不同的矩形顯示模式:填充矩形和框架。通常用這兩種模式來把一組控制框在一起。例如,你可以把黑背景框架窗口作為一組編輯框的背景。你可以選擇六種不同的樣式: SS_BLACKFRAME、SS_BLACKRECT、SS_GRAYFRAME、SS_GRAYRECT、SS_WHITEFRAME和SS_WHITERECT。RECT形成了一個填充的矩形,而FRAME組成一邊框。其中的顏色標志,如SS_WHITERECT表示其顏色與窗口背景的顏色是相同的。盡管該顏色的缺省值是白色,但你可以使用控制面板來改變,此時矩形的顏色可能就不是白色的了。
  當指定了矩形或框架屬性后,CStatic的文本字符串會被忽略。典型情況是傳遞一空字符串。你可以試驗以下這些特性。
  字體
  你可以使用CFont類來改變CStatic的字體。MFC中的CFont類保存著特殊Windows字體的單一實例。例如,一個實例的CFont類可能保存有18點的Times字體,而另一個可能保存著10點的Courier字體。你可以調用SetFont函數來修改字體。下面的代碼給出了如何實現字體。
  CTestWindow::CTestWindow()
  { 
  CRect r;
  // Create the window itself
  Create(NULL, 
  "CStatic Tests", 
  WS_OVERLAPPEDWINDOW,
  CRect(0,0,200,200));
  // Get the size of the client rectangle
  GetClientRect(&r);
  r.InflateRect(-20,-20);
  // Create a static label
  cs = new CStatic();
  cs->Create("Hello World",
  WS_CHILD|WS_VISIBLE|WS_BORDER|SS_CENTER,
  r,
  this);
  // Create a new 36 point Arial font
  font = new CFont;
  font->CreateFont(36,0,0,0,700,0,0,0,
  ANSI_CHARSET,OUT_DEFAULT_PRECIS,
  CLIP_DEFAULT_PRECIS,
  DEFAULT_QUALITY,
  DEFAULT_PITCH|FF_DONTCARE,
  "arial"); 
  // Cause the label to use the new font
  cs->SetFont(font);
  }
  上面的代碼開始于建立窗口和CStatic。然后建立一CFont類型對象。字體變量應作為CTestWindow的數據成員來說明“CFont *font”。CFont::CreateFont函數有15個參數,但是只有三個是最常用的。例如,36指定了以點為單位的字體大小,700指定了字體的密度(400是正常“normal”, 700為加黑“bold”,值的范圍為1到1000。FW_NORMAL和FW_BOLD的含義實際上是相同的),“arial”是所用字體的名稱。Windows 通常帶有五種True Type字體(Arial、Courier New、Symbol、Times New Roman和Wingdings),使用它們,你可以確保任何機器上都會有該字體。如果你使用了系統不知道的字體,則CFont會選擇缺省字體,正如你在本教程所見到的。
  要想更多的了解CFont類,可參見MFC文檔。在API在線幫助文件中,有一篇文章對字體做了很好的概述。查找“Fonts and Text Overview”。
  SetFont函數是從CWnd繼承來的。它是用來設置窗口的字體的,在我們的程序中是CStatic子窗口。你可能要問:“我怎樣知道CWnd中的哪些函數可以用于CStatic在?”你只能在實踐中來學習。花上一些時間來看一下CWnd的所有函數。你定會有所收獲,并會發現哪些函數可用于定制控制。我們在選下一講中看到CWnd類中的其它Set函數。
  結論
  在本教程中,我們勘察了CStatic的很多不同特性。有關從CWnd繼承來的Set函數,我們將放到下一講介紹,因為在那里更合適。
  查看Microsoft文檔中的函數
  在Visual C++ 5.x中,查找你多不熟悉的函數是很簡單的。所有的MFC、SDK、Windows API和C/C++標準庫函數都繼承到同一個幫助系統中了。如果你不能確定所要的函數在哪兒,你可以使用幫助菜單中的Search選項來查找。所有相關的函數都會列出來的。
  編譯多個可執行程序
  在本教程中,有幾個例子程序。有兩種方式來編譯和運行它們。第一種方式是把每個程序都放到自己的目錄中,然后為每個程序分別建立一個項目。使用該技術,你可以分別編譯每個程序,并且可以同時或獨立地使用他們。該方法的缺點是需要比較大的磁盤空間。
  第二種方法是為所有的程序只建立一個目錄。你可以一個項目文件。為了編譯每個程序,你可以編輯項目和改變源文件。當你重新編譯項目時,新的可執行程序就是你所選擇的源文件的。該方法可以使用減少磁盤空間。



第四部分:消息映射
  應用程序放在窗口中的任何用戶界面對象都具有兩種可控制的特性:1) 它的外觀,2) 它響應事件的行為。在上一講中,你已經學習了CStatic控制和如何使用樣式屬性來定制用戶界面對象的外觀。這些概念可用于MFC中的所有不同控制類。
  在本講中,我們將介紹CButton控制,以理解消息映射和簡單的事件處理。然后還要介紹使用CScrollBar控制的稍微復雜點的例子。
  理解消息映射
  在第二講中,MFC程序不包括主要函數或時間循環。所有的事件處理都是作為CWinApp的一部分在后臺處理的。因為它們是隱藏的,所以我們需要一種方法來告訴不可見的時間循環通告我們應用程序所感興趣的事件。這需要一種叫做消息映射的機制。消息映射識別感興趣的事件然后調用函數來響應這些事件。
  例如,如果你要編寫一個程序,當用戶按下標有“退出”的按鈕時要退出應用程序。在程序中,你編寫代碼來建立按鈕:你指示按鈕應如何動作。然后,為其父窗口建立用戶單擊按鈕時的消息映射,它試圖要傳遞消息給其父窗口。為了建立父窗口的消息,你要建立截取消息映射的機制,并且使用按鈕的消息。當一指定的按鈕事件發生時,消息映射會請求MFC調用一指定的函數。在這種情況下,單擊退出按鈕就是所感興趣的事件。然后你把退出應用程序的代碼放到指定的函數中。
  其它的工作就由MFC來做了。當程序執行時,用戶單擊“退出”按鈕時,按鈕就會自己加亮。然后MFC自動調用相應的函數,并且程序會終止。只使用很少的幾行代碼你就響應了用戶事件。
  CButton類
  在上一講中所討論的CStatic控制是唯一不響應用戶時間的控制。Windows中所有的其它控制都可響應用戶事件。第一,當用戶處理它們時,它們會自動更新其外觀(例如,當用戶單擊按鈕時,按鈕會自己加亮以給用戶一個反饋)。第二,每個不同的控制都要發送信息給你的代碼以使程序能響應用戶的需要。例如,當單擊按鈕時,按鈕就會發送一個命令消息。如果你編寫代碼接收消息,則你的代碼就能響應用戶事件。
  為了理解這個過程,我們從CButton控制開始。下面的代碼說明了建立按鈕的過程:
  // button1.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();
  };
  // 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);
  }
  上面的代碼與前面介紹的代碼幾乎相同。CButton類的Create函數共有5個參數。前四個與CStatic的相同。第五個參數為按鈕的資源ID。資源ID是用來標識消息映射中按鈕的唯一整數值。常數值IDB_BUTTON已經在程序的頂部做了定義。“IDB_”是任選的,只是該常量ID是用來表示按鈕的。它的值為100,因為100以內的值都為系統所保留。你可以使用任何大于99的值。
  CButton類所允許的樣式屬性與CStatic類的是不同的。定義了11個不同的“BS”(“Button Style”)常量。完整的“BS”常量列表可在用Search命令查找CButton,并選擇“button style”。這里我們要用的是BS_PUSHBUTTON樣式,它表示我們要一正常的的按鈕方式來顯示該按鈕。我們還使用了兩個熟悉的“WS”屬性: WS_CHILD和WS_VISIBLE。我們將在后面介紹其它一些樣式。
  當你運行代碼時,會注意到按鈕響應了用戶事件。既它加亮了。除此之外它沒有做任何事情,因為我們還沒有教它怎樣去做。我們需要編寫消息映射來使按鈕做一些感興趣的事情。
  建立消息映射
  下面的代碼包含有消息映射,也包含有新的處理單擊按鈕的函數(當用戶單擊按鈕時會響一下喇叭)。它只是前面代碼的一個簡單的擴充:
  // button2.cpp
  #include 
  #define IDB_BUTTON 100
  // Declare the application class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合久久久久久久久久久久| 97久久超碰国产精品| 日韩一级欧美一级| 久久精品国产99国产精品| 日韩欧美一区二区在线视频| 丝袜诱惑亚洲看片| 91精品午夜视频| 国产美女在线观看一区| 久久久久久综合| 成人h动漫精品一区二| 亚洲欧美在线视频观看| av电影在线不卡| 日韩成人一级片| 欧美精品一区二区三区久久久| 国内欧美视频一区二区| 国产精品不卡视频| 欧美精品九九99久久| 国产美女在线观看一区| 亚洲激情五月婷婷| 日韩免费一区二区| 欧美在线观看一二区| 亚洲影院免费观看| 国产女人18毛片水真多成人如厕| 欧美在线播放高清精品| 国产99久久久精品| 久久er精品视频| 午夜精品福利一区二区三区av| 久久久久久电影| 91精品国产欧美一区二区成人| 粉嫩嫩av羞羞动漫久久久 | 日韩电影在线一区二区| 国产精品久久久久久福利一牛影视 | 国产精品久久久一区麻豆最新章节| 欧美日韩激情一区| 欧美中文字幕一区二区三区| 粉嫩嫩av羞羞动漫久久久| 久久99九九99精品| 人禽交欧美网站| 蜜臀av性久久久久蜜臀aⅴ| 一区二区三区日韩精品视频| 亚洲日本在线看| 亚洲一区二区黄色| 久久奇米777| 中文字幕av一区二区三区高| 国产精品久久一卡二卡| 一区二区三区成人| 亚洲欧洲无码一区二区三区| 欧美变态凌虐bdsm| 亚洲欧美日韩久久精品| 国产精品国产精品国产专区不片| 亚洲成年人网站在线观看| 亚洲亚洲人成综合网络| 夜夜精品浪潮av一区二区三区| 久久精品亚洲乱码伦伦中文| 久久久久久电影| 国产女人18水真多18精品一级做| 日韩一级黄色大片| 精品久久久久久久久久久久久久久久久| 欧美国产综合色视频| 亚洲国产综合色| 91免费看视频| 一区二区三区中文字幕在线观看| 国内精品伊人久久久久av一坑| 972aa.com艺术欧美| 国产精品免费网站在线观看| 久久精品国产精品亚洲精品| 欧美精品自拍偷拍| 麻豆精品在线视频| 久久精品一区二区三区不卡| 色香蕉久久蜜桃| 韩国成人在线视频| 国产精品美女一区二区| 日韩一卡二卡三卡四卡| 国产成人欧美日韩在线电影| 国产精品传媒视频| 欧美日韩在线播放一区| 激情成人综合网| 国产精品激情偷乱一区二区∴| 成人精品视频一区| 亚洲码国产岛国毛片在线| 欧美高清视频不卡网| 国产精品18久久久久久久久久久久 | 亚洲欧美一区二区三区孕妇| 国产乱色国产精品免费视频| 久久久久久久久久久久电影| 色婷婷国产精品| 日本不卡123| 欧美国产激情一区二区三区蜜月| 97久久超碰国产精品电影| 亚洲电影视频在线| 国产欧美日韩另类视频免费观看| 欧美亚洲综合一区| 成人午夜在线播放| 免费xxxx性欧美18vr| 午夜a成v人精品| 一区二区三区精品| 一区二区三区在线免费| 自拍偷拍国产精品| 日韩一级免费观看| 91麻豆精品国产91久久久久久久久| 狠狠色丁香久久婷婷综合_中| 亚洲人被黑人高潮完整版| 国产色综合久久| 日本一区二区久久| 国产三级三级三级精品8ⅰ区| 欧美猛男男办公室激情| 欧美影院精品一区| 欧美日韩一级片在线观看| 国产一区在线看| 久久国产乱子精品免费女| 秋霞电影一区二区| 狠狠网亚洲精品| 国产精品自拍三区| 99久精品国产| 色婷婷久久综合| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 午夜亚洲国产au精品一区二区| 夜夜嗨av一区二区三区| 性久久久久久久久| 日韩黄色免费网站| 久久国产精品99精品国产| 精品一区二区久久| 97成人超碰视| 制服丝袜亚洲色图| 精品国产一区二区三区久久影院 | 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品一区二区三区网站| 成人福利视频在线看| 91麻豆精品国产自产在线观看一区 | 日韩高清不卡一区| av中文一区二区三区| 欧美精品乱码久久久久久按摩| 精品欧美久久久| 亚洲人成人一区二区在线观看 | 日本福利一区二区| 久久综合999| 日韩av网站免费在线| 91黄色免费观看| 国产精品嫩草99a| 国内不卡的二区三区中文字幕| 91啪在线观看| 国产欧美一区二区三区沐欲| 亚洲18影院在线观看| 色综合久久精品| 国产精品丝袜在线| 国产精品123区| 久久日韩精品一区二区五区| 亚洲一区在线视频观看| 成人动漫av在线| 国产精品理伦片| a亚洲天堂av| 亚洲欧美成aⅴ人在线观看| 成人在线视频首页| 国产精品日韩精品欧美在线| 国产成人av一区二区三区在线 | 91麻豆国产香蕉久久精品| 欧美国产成人在线| 国产成人aaaa| 亚洲精品国产一区二区三区四区在线| 成人国产精品免费| 亚洲在线一区二区三区| 欧美喷潮久久久xxxxx| 麻豆一区二区99久久久久| 久久久亚洲精华液精华液精华液| 国产一区二区三区视频在线播放| 久久精品亚洲一区二区三区浴池| 成人午夜免费电影| 亚洲一区二区三区四区在线免费观看 | 亚洲国产激情av| 在线观看视频欧美| 国产永久精品大片wwwapp| 日韩美女精品在线| 精品国产不卡一区二区三区| 91小视频在线观看| 美国欧美日韩国产在线播放 | 国产精品久久毛片av大全日韩| 色诱视频网站一区| 精品一区二区三区久久久| 成人欧美一区二区三区1314| 91精品在线免费观看| 91成人在线观看喷潮| 国产成人夜色高潮福利影视| 亚洲一区二区三区在线| 自拍偷拍亚洲激情| 国产精品乱码久久久久久| 久久蜜桃av一区二区天堂| 91麻豆精品91久久久久久清纯| 色综合激情五月| 欧美日韩一级二级| 91网站在线观看视频| 成人国产精品免费| 成人三级在线视频| 精品在线一区二区三区| 亚洲成人激情综合网| 一区二区高清免费观看影视大全| 久久久国产综合精品女国产盗摄| 日韩欧美国产三级| 欧美xfplay| 中文在线免费一区三区高中清不卡| 日韩欧美你懂的|