PCman 板


LINE

這段時間把C++基礎書再整本過了一遍,幾年前看過了一次4e, 還記得當時有大大推薦5e,所以這次過了5e 相關章節例如各種容器、迭代器iterator、內建演算法、 class和OOP相關(public protected virtual destructor 繼承多型重載)、 Lambda、智慧指標、template等 就花了相當非常多的時間,只算初步閱讀一遍,只有看還沒實際做, 接著找尋MFC有沒有什麼比較深入的教學或書,網路搜尋有幾篇基本的, 書查了一下感覺不算多,後來找到了一本感覺相對比教深入完整的和看起來有範例檔的, 是這本 MFC Windows 程序設計, 2/e MFC Windows程序设计(第2版)(修订版)(附盘) https://www.tenlong.com.tw/products/9787302150428?list_name=srh 翻了前面幾頁之後,就知道又有大量的用法和變數名稱要記, 算是相當非常大量,還有一堆大寫變數, 例如DrawText格式設定傳入的寫法風格是 DT_SINGLELINE|DT_CENTER|DT_VCENTER 要繼續的話又是一條更長更花時間的路 我目前會先到這邊暫停, 之後不確定何時開始繼續學習有新的進度的話再來分享一下, 如有遇到問題再來請教專案貢獻開發的大大 回到這本書, 這本是循序漸進的教,對學習很有幫助, 推測學了一定的量之後,回來看PCMan專案, 應該會離能夠開發專案所需的能力門檻又更近一點 再次感謝之前PCMan專案建置issue很多人的幫忙, 另外也分享一下幾年前請教一位ibb大大得到的寶貴建議: --- 當你找不到進入點時 記得試試看MainFrm.cpp --- 以下紀錄初步查看MFC和專案的一點點個人筆記: --------------------------------------------- MFC中afx_msg是什么,是什么数据类型 https://zhidao.baidu.com/question/183102316.html 例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg为消息标志,bai它向系统声 明:有消息映射到函du数实现体;而在map宏定义中,就有具体消息和此函数的映射定义 (可以是自定义,也可以是系统自动完成的) afx是 application framework 如定义一个Edit的Change处理函数: 一、在类的头文件(*.h)中增加 : //{{AFX_MSG(CDialogDemo) afx_msg void OnChangeEdit1(); //{{AFX_MSG 視窗 最根本主要的類 CWinApp CFrameWnd MFC最開始初始化是在 InitInstance(); class CApp : public CWinApp { public: CApp(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CApp) public: virtual BOOL InitInstance(); virtual int ExitInstance(); https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-gettopwindow GetTopWindow function 12/05/2018 2 minutes to read Examines the Z order of the child windows associated with the specified parent window and retrieves a handle to the child window at the top of the Z order. Syntax C++ Copy HWND GetTopWindow( HWND hWnd ); https://stackoverflow.com/questions/19405196/what-does-a-backslash-in-c-mean What does this code: (especially, what does a backslash '\' ? ) s23_foo += \ s8_foo * s16_bar; As A Line Continuation 再來是 CFrameWnd CWinApp的InitInstance 會 new 一個 繼承 CFramwWnd的類當作視窗 然後 pFrame->UpdateWindow(); 繪製窗口 https://blog.csdn.net/CNHK1225/article/details/45097281 _T("")是一个宏,定义于tchar.h下。 #define __T(x) L ## x #define _T(x) __T(x) -------------------------------------------------------------- _T("Hello")是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字 符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双 字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符 。 Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方 式。 如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE 方式,则编译器会把"Hello"字符串以UNICODE方式保存。 _T和_L的区别在于,_L不管你是以什么方式编译,一律以UNICODE方式保存 這邊這個方法裡的註解 有中文比較好看的懂 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { // DPI scaler.Update(this); HDC hdc = GetDC()->m_hDC; UINT dpiy = GetDeviceCaps(hdc, LOGPIXELSY); // 用來建造control的temp Rect CRect tmprc(0, 0, 0, 0); // Load PCMan Icon icon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); SetIcon(icon, TRUE); SetIcon(icon, FALSE); CBitmap imglist_bmp; // Load Image List for Site List and Tab... imglist_bmp.Attach((HBITMAP)LoadImage(AfxGetInstanceHandle(), ConfigPath + ICON_BMP_FILENAME, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)); img_icons.Create(16, 16, ILC_COLOR32 | ILC_MASK, 9, 0); ImageList_AddMasked(img_icons.m_hImageList, (HBITMAP)imglist_bmp.m_hObject, RGB(255, 0, 255)); // Create font for UI LOGFONT lf; ...... 建立新連線的時候 開新頁籤 會執行 void CMainFrame::UpdateUI() 找到一個可以中斷點停住的地方 MainFrm.cpp的確是一個很好的開始點 有很多看起來跟操作直接相關的程式碼 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.213.138 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PCman/M.1594563527.A.6DC.html ※ 編輯: name2name2 (114.136.213.138 臺灣), 07/12/2020 22:29:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP