PoEdu-Windows編程-Lesson04_項目開始_階段學習重點

來源:互聯網
上載者:User

標籤:動作   公司   操作   建議   添加   sre   基類   ext   使用   

PoEdu-Windows編程-Lesson04_項目開始_階段學習重點

  • 一個標準的庫存管理需求
    • 商品資訊
    • 入庫
    • 出庫
      • 領用
      • 調撥
        • 涉及多點通訊 在一台PC上不可行。
    • 盤點
    • 退貨
    • 調價
  • 項目唯寫3項需求:
    • 1 商品資訊
    • 2 入庫
    • 3 出庫
      • 出庫只做“領用”
  • 用MFC來進行開發,簡單剖析MFC
    • MFC 可以看成是一個一個的類組成,與C++十分切合的,可以幫我們封裝,幫我們分類
    • MFC不支援純C編譯器
    • 開發工具用VS2015,一個公司出品,無縫相容
  • 重點:程式員的自學能力
    • 1 快速查詢MSDN 能力
    • 2 閱讀文檔的能力
    • 3 動手調試的能力
  • 介面製作
    • 注意點1
      • 子類的對象 與 子類的一個指標(由指向父類的指標轉換得到) 兩者本質相同
      • 因為有繼承關係,所以能把父類(基類)的指標轉換為子類(衍生類別)的指標
    • 注意點2
      • CListCtrl插入元素函數 返回SendMessage()的值 2種方式:
        • 1 int InsertColumn( int nCol, const LVCOLUMN* pColumn);
          • LVCOLUMN - Win32中一個結構體對象,包含第2種方式的3個參數,本質上這兩種參數是一致的。控制項之間用SendMessage()來進行互動。
        • 2 int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormmat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
          • int nCol, 列的索引
          • LPCTSTR lpszColumnHending, 包含欄位標題的字串的地址
          • int nFormat = LVCFMT_LEFT, 指定列的對齊的整數。 它可以是以下值之一: LVCFMT_LEFT、 LVCFMT_RIGHT或 LVCFMT_CENTER。
          • nWidth 列的寬度,以像素為單位。 如果此參數是-1,列寬未設定。
          • nSubItem 子項的索引與列。 如果此參數是-1,子項不與列出。
    • 注意點3 MFC中的_T,這個宏在MFC中取代了win32中的_TEXT(X)宏
    • 注意點4 LVCFMT縮寫代表:
      • FMT - Format 格式化
      • LVC - ListViewControl 列表視圖控制項
    • 注意點5 插入列InsertColumn正確寬度設定:
      • 插入列InsertColumn正確寬度設定
        • 設定一個矩形類,用GetWindowsRect(&rect)得出一個矩形資料
        • 寬度用矩形對象點出成員函數 :寬度 rect.Width()
    • 注意點6 CRect 矩形類的使用,查看MSDN
    • 注意點7 ListControl控制項的插入列操作,不是一個初始化(只初始操作一次)的操作,以後還會被其它動作,如:視窗大小改變,插入列,刪除列,等等操作來調用它。所以,插入列InsertColumn系列操作應該封裝成一個函數。
    • 注意點8 SetExtendedStyle() 設定擴充的樣式風格
      • 如何快速查看MSDN中有哪些樣式和風格
        • 在Vs2015中,點選對象,右鍵找到申明,點選前面的申明類,F1開啟MSDN,跳轉MSDN
        • Ctrl + F 尋找 “Style" , 再下翻找到 SetExtendedStyle(),點開
        • 在SetExtendedStyle()頁面“參數”中,點開 "Windows SDK的 擴充列表視圖樣式",就找到了“EXtended List-View Styles”
        • 這裡就有很多的樣式風格,以“LVS_EX_”為首碼,L - List, V - View ,S - Styles EX - EXtended
    • 注意點9 LVS_EX_GRIDLINES 帶有網格線的樣式
    • 注意點10 如果ListCtrl沒有風格樣式時,貌似可以只設定風格線樣式
      • 建議不要單獨的只是把樣式,設定為網格線樣式,最好是能保留原來的風格,在原來風格樣式的基礎上,添加網格線樣式,才是正確的方式
        • 1 先擷取當前對象的風格樣式 DWORD dwStyle = m_listCtrl.GetStyle();
        • 2 設定 或等於: 如 dwStyle |= LVS_EX_GRIDLINES; m_listCtrl.SetEXtendedStyle(dwStyle);
    • 注意點11 如上10,只初始一次的操作,可以放在初始化方法中,不用封裝。
    • 問題點1: 如果寬度擷取的是主視窗的寬度,會對列表寬度有什麼樣的影響?會不會有問題? ###問題[email protected]待測試
    •  

PoEdu-Windows編程-Lesson04_項目開始_階段學習重點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.