CMNCTRL1 範例:示範通用控制項 MFC 類別,第 1 部分
更新:2007 年 11 月
CMNCTRL1 範例將說明下列通用控制項 MFC 類別的使用方式:CTreeCtrl、CToolBarCtrl、CAnimateCtrl、CDateTimeCtrl 和 CMonthCalCtrl。範例中會示範控制項建立的方式,以及如何使用許多不同的可用樣式變更控制項。某些控制項還包含了經常在使用者處產生問題的主題;例如,CTreeCtrl 的拖放實作。
CMNCTRL1 是以兩個較小的專案取代原有 CMNCTRLS 範例的結果:CMNCTRL1 (樹狀結構、工具列、日期時間選擇器、月曆控制項和動畫等控制項) 和 CMNCTRL2 (進度、向上/向下和滑桿等控制項)。這種作法可以縮小範例程式碼的所至範圍,可使追蹤特別部分的應用程式更為簡單。
安全性注意事項: |
---|
這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。 |
若要取得範例和指示以便進行安裝:
按一下 Visual Studio [說明] 功能表上的 [範例]。
如需詳細資訊,請參閱尋找範例檔案。
最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。
您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。 對於所有的 Visual Studio Express 版,所有範例都可在線上找到。
建置和執行範例
若要建置並執行 CMNCTRL1 範例
開啟 cmnctrl1.sln 方案。
在 [建置] 功能表上按一下 [建置]。
在 [偵錯] 功能表上,按一下 [啟動但不偵錯]。
執行 CMNCTRL1 時,請為您要啟動的控制項選取索引標籤。從不同的屬性頁中可用的核取方塊、選項按鈕和下拉式方塊選取樣式和檢視。這時,請注意每個選項會怎樣改變所顯示的控制項之行為或外觀。如果執行的是 CTreeCtrl,您將可以在測試控制項時發現控制項所傳送的不同告知訊息 (Notification Message)。
注意事項: |
---|
由於 Win32 API 中的顯示錯誤,樹狀檢視控制項在動態套用 TVS_HASLINES 和 TVS_LINESATROOT 樣式時,將不會更新節點標籤。若要還原標籤,請開啟其中一個子節點,再將它關閉。 |
關鍵字
本範例會使用下列關鍵字:
CBitmap::LoadBitmap; CEdit::Clear; CEdit::GetLineCount; CEdit::LineIndex; CEdit::LineLength; CEdit::ReplaceSel; CEdit::SetSel; CFileDialog::GetPathName; CGdiObject::DeleteObject; CImageList::DragShowNolock; CString::GetBufferSetLength; CString::GetLength; CString::Left; CString::LoadString; CString::ReleaseBuffer; CTreeCtrl::SelectDropTarget; CWnd::GetInvalidateRect; CWnd::GetClientRect; CWnd::GetWindowRect; CWnd::SetWindowPos; CWnd::SetWindowText; DeleteItem; GetCursorPos; GetDlgItem; GetParent; GetWindowLong; InvalidateRect; CWinApp::LoadIcon; MAKELONG; MessageBeep; ReleaseCapture; ScreenToClient; SetCapture; SetWindowLong; SetWindowPos; UpdateWindow; CWnd::WindowProc; mbstowcs; rand; srand; time; wsprintf
注意事項: |
---|
部分範例 (包括本範例) 尚未經過改寫,無法反映出目前在 Visual C++ 精靈、程式庫以及編譯器方面的變更,不過還是可以示範如何完成您要進行的工作。 |