原创 孫鑫lesson20 hook &database
Hook:勾子,實現對消息的過濾,例如安裝過程中屏蔽對鍵盤與鼠標的操作使不影響安裝進程 創建hook void SetHook(HWND hwnd) {g_hWnd=hwnd;g_hMouse=SetWindowsHookEx(WH_MO
原创 孫鑫 Lesson19 動態鏈接庫 顯示與隱式
靜態鏈接庫在鏈接時,編譯器會將 .obj 文件和 .LIB 文件組織成一個 .exe 文件,程序運行時,將全部數據加載到內存。如果程序體積較大,功能較爲複雜,那麼加載到內存中的時間就會比較長,最直接的一個例子就是雙擊打開一個軟件,要很久才
原创 孫鑫Lesson7 Dialog
本章節主要是對話框的創建與顯示,同時在對話框中進行一些操作,比如添加、收縮、確定、取消等 MFC: CObject:CmdTarget:Cwn:Cdialog CDialog類是在屏幕上顯示的對話框基類。對話框有兩類:模態對話框和非模態對
原创 孫鑫Lesson6 menu
消息分三類: 1)標準消息(WM_開頭的,除WM_COMMAND,CWND派生的類都可以接收到標準消息); 2)命令消息(來自菜單、工具欄、加速鍵的消息,都以WM_COMMAND呈現,在MFC中以ID號來標識不同的的命令消息。在SDK中通
原创 讀書感悟1
最近讀了兩本好書: 1、人類簡史 2、吾國教育病理 好書都是共同的特點:作者比較樸實,沒有那麼多大道理與道德批判,基本都是從客觀規律與人性出發,每一章節每一頁都有很多好句,讓人大開腦洞的論述與觀點,讀這種書是一種非常好的享受。 人類簡史:
原创 孫鑫Lesson8 Dialog2
兩個例子: 1、兩個按鈕抓不住:新建一個從CButton派生的類,並創建一個指針變量,然後在dialog創建兩個button按鍵的新類對象,並把各自指針指向對方。然後在新類新建一個wm_mousemove消息處理函數,用showwindo
原创 孫鑫 Lesson4 draw
先在視圖的頭文件中添加三個變量m_ptOld、m_ptOrigin、m_bDraw void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add you
原创 孫鑫Lesson5 text
此節主要是創建插入符,並獲取字體大小創建 void CTEXTView::OnDraw(CDC* pDC) { CTEXTDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDo
原创 孫鑫Lesson3 principle
MFC: CObject:CCmdTarget、CDC、CException、CFile、CMenu、CGdiObject CCmdTarget:CWinThread、CWnd、CDocument、COleControlContainer
原创 孫鑫 lesson10 Graphic
設置點、線、矩形、橢圓 設置顏色、字體 設置背景色、字體顏色與樣式 代碼: //構造函數中初始化變量 CGraphicView::CGraphicView(): m_nDrawType(0), m_ptOrigin(0), m_nLine
原创 孫鑫 Lesson1 window
#include <Windows.h> #include <stdio.h> LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam); i
原创 孫鑫 lesson14 network
服務端:基於TCP的連接 客戶端:基於TCP的連接 服務端:基於UDP 客戶端:基本UDP EXample
原创 孫鑫 lesson12 File
寫入、讀取文件 寫入、讀取註冊表 代碼: 在應用程序開始寫入註冊表的鍵值與獲取註冊表中值 SetRegistryKey("AXXX");/*::WriteProfileStringA("my application
原创 孫鑫 Lesson9 Style
1、如何修改窗口的外觀與大小等 2、如何修改工具欄位置與停靠 3、如何設置狀態欄的時間、進度、鼠標座標 4、啓動畫面 代碼: //SetWindowLong(m_hWnd,GWL_STYLE,WS_OVERLAPPED
原创 孫鑫Lesson17 process network
進程間通信:剪切板、匿名管道、命名管道、郵槽 剪切板、匿名管道:不能跨網絡,匿名管道只能在父子進程之間進行通信 命名管道、郵槽:跨網絡,但是命名管道是一對一的,郵槽是廣播式的,服務端只能接收,客戶端只能寫入 剪切板:雙向的互相通信,只能在