原创 [系統]_[WIN7和WIN10]_[製作系統安裝U盤]

場景: 一些情況下需要自己安裝Windows系統,比如系統更新崩潰啓動不了或硬盤壞了需要重裝系統,怎麼裝? 網上的第三方工具可能有帶木馬或不可靠。最好還是微軟有自己的官方工具。 說明 目前WIN7和WIN10微軟官

原创 [C++11]_[初級]_[初始化列表和統一初始化語法和語義]

說明 1.一個std::initializer_list<E>對象會在以下情況自動創建: 一個大括號初始化列表被用在一個構造函數的參數來初始化對象。 一個大括號初始化列表被用在右邊的賦值操作符或者作爲一個函數的參數,並且相對應的

原创 [VisualStudioCode]_[VSCODE]_[編寫markdown文檔]

場景 1.以前都是使用Sublime Text寫markdown的, 今天用vscode寫了下md, 發現Sublime Text的markdown預覽就是土包子, vscode寫的看起來就很享受. 安裝VSCode 點擊下載安裝

原创 [Sublime Text 3]_[配置C/C++開發編譯運行環境]

場景 1.Sublime Text 3作爲老牌的編輯器性能和穩定性還是很不錯的. 它一般只啓動了單進程, 不像vscode那樣啓動一個簡單的項目全部進程加起來基本上都要300M的內存使用量. 如果只是想快速輕便驗證C++程序,它還

原创 [VisualStudioCode]_[VSCODE]_[C/C++開發環境配置]

場景 1.Visual Studio Code發展到現在已經相當穩定了.已經不想1年前的那麼卡和慢.目前它有可能成爲通用語言開發利器。單就說支持C/C++的智能提醒, 函數跳轉, 頭文件跳轉, 編輯器Debug就很省開發時間. 還

原创 [WTL/ATL]_[初級]_[計算CLinkCtrl的合適大小]

場景 1.Win32的SysLink不會自動根據設置的文本設置超鏈接的大小,這點很低級. 一般我們用CLinkCtrl時還需要自己設置超鏈接的座標和大小,很不方便。但是我們如何知道一個SysLink的最小寬度到底是多少呢?要不停的

原创 [WTL/ATL]_[C/C++]_[DispatchAsync使用lambda表達式來簡化發送數據到界面線程]

場景 在進行 Win32 界面編程時,更新界面內容只能通過主線程進行更新. 那麼如果是在工作線程執行完邏輯後如何通過把數據傳遞給界面線程更新數據? 在 Windows 上開發界面我是使用輕量級 Win32框架, MFC 的

原创 [WTL/ATL]_[初級]_[關於CCombobox的下拉列表背景色是黑色的問題]

場景 1.在使用WTL的CComboBox類時,我們創建時還是需要傳遞樣式的,這樣導致用的時候頗爲麻煩,只能通過查找MSDN獲取樣式.當我們使用樣式爲CBS_DROPDOWN的時候,添加完數據後發現下拉列表的背景色是黑色的,感覺是

原创 [WTL/ATL]_[初級]_[設置超鏈接字體顏色]

場景 1.在開發WTL(Win32)程序時,超鏈接控件是很常見的,比如需要跳轉網頁或者打開本地文件夾等,都需要用到。Win32本身就有提供系統自帶的WC_LINK控件,而我們用WTL有相應的封裝類CLinkCtrl<atlctrl

原创 [WTL/ATL]_[初級]_[關於WS_CLIPCHILDREN和WS_CLIPSIBLINGS樣式的說明]

場景 1.在Win32窗口開發或基於Win32的WTL庫開發時,我們經常創建新窗口或新控件都會使用WS_CLIPSIBLINGS | WS_CLIPCHILDREN兩個屬性, 那麼這兩個屬性有什麼用呢?好像不加也沒問題. 2.有時

原创 [C/C++11]_[初級]_[如何計算函數的運行時間]

場景 在C++11裏新增了chrono庫,可以使用這個庫進行計算函數運行時間。如何做? 如果我們的編譯器不支持C++11,或者使用C語言,我們如何使用標準庫計算函數運行時間? 說明 在C的標準庫<time.h>裏,

原创 [多線程併發並行]_[C/C++11]_[多線程訪問修改集合vector會衝突的兩個解決方案]

場景 在開發C/C++多線程程序時,STL集合類是我們經常用到的類,比如vector. 而C/C++的這些集合類並沒有同步版本,所以在多線程訪問時,如果某個線程正在修改集合類A, 而其他線程正在訪問A,那麼會造成數據衝突,導致程

原创 [學院]_[WTL]_[Windows的C++桌面應用程序開發]

經過多天努力,推出適合入門和提高的ATL/WTL界面開發, Windows C++ Win32桌面應用程序開發。WTL庫應該是最簡單的Windows本地桌面應用程序開發庫, 提供C++類對Win32窗口函數進行薄封裝,但是功能足

原创 [Gdiplus]_[中級]_[繪圖實現單行文本的多種顏色]

場景 在使用 Gdiplus 繪製文本時, 偶爾會遇到需要支持繪製格式化文本的時候,而 Gdiplus 在這方面並不好,沒有官方提供支持的類,也不支持 HTML 標籤和 CSS 的樣式. 而大部分提供這類富文本的繪製目前我所知

原创 [ATL/WTL]_[初級]_[自定義的窗口爲什麼調用SetFont後無效-GetFont爲NULL]

場景 在WTL開發時,我們開發自定義的窗口類,繼承自CWindowImpl,而這個類自帶有SetFont和GetFont方法. 問題是調用了這個SetFont方法,之後在調用GetFont方法返回的HFONT是NULL, 怎麼回