原创 MFC控件完全重繪從CWnd開始

導讀: 我並不推薦採用自繪的方式去完成一些控件(比如CStatic,CButton,RadioBox,CheckBox等)的美化,而是推薦大家從CWnd入手,把這些基本控件完全重新繪製一遍(當然,有些做的很好的控件還是需要繼承來自繪的,比

原创 note:全局配置visual studio 2010 頭文件目錄

        假如我有3個工程,他們都需要引入頭文件夾 wtl81(包含wtl的.h文件),以前的做法是對每個工程都在屬性設置中引入wtl81,但是隨着工程越來越多(可能是自己平時寫的小測試程序),每次都這麼做,實在麻煩,有什麼好的解決

原创 c++11 algorithm 常用的容器算法

c++的vector、list、set、map及其成員函數已經足夠我們大多數應用了, 但是, c++11增加的algorithm配合container可謂所向披靡。 vector<int> vec = { 1, 2, 3, 4, 5, 6

原创 MFC之半透明控件

半透明控件的實現原理: 創建一個臨時DC,發消息給父控件告知其繪製其內容於臨時DC上,然後將自己相對於父控件的那塊區域的繪製COPY到自己的PaintDC上,此後再做其他繪製。 代碼思路如下: Child: { CPaintDC dc;

原创 我是那麼的喜歡你 try catch

    以前在學Java的時候,最討厭的就是那些try和catch了,不僅把代碼拉長了,而且異常處理很不好。     現在在做C++方面的事情,雖然大家一致認爲,C++中堅決禁止try和catch,但是我卻越發的喜歡用他了。     爲什

原创 win32拖拽編程

準備  封裝win32 API。我們使用到的API有, ImageList_Create、ImageList_Destroy、 ImageList_Add、ImageList_AddMasked、ImageList_Remove、 Ima

原创 protobuf入門詳解(在windows下配置protobuf)

      在網絡之間傳遞可讀性強的數據,有xml,還有json。相比之下,json比xml要好。但是他們有個弊端,傳遞的數據是可讀的,也就是沒有加密,使用網絡抓包工具立馬可以抓到what you send and what you re

原创 Magic C++ (函數指針)(xml配置控件樣式)

      C++ is so magic !!! 問題起源:       我在業餘時間編寫基於WTL的控件重繪,爲了靈活設置控件的各種樣式,我選擇了使用xml來配置控件的樣式(比如文字顏色,字體,背景顏色)。其中build.xml用來設

原创 分析:由 XToolTip類 聯想到 WTL (MFC) 消息循環

這篇文章從一個問題出發:我想自己寫一個XToolTip類。   XToolTip類的思路: 1,創建一個WS_POPUP樣式的窗口; 2,加入需要顯示tooltip的控件(XToolTip類採用map<HWND,string>來保存這些控

原创 一個簡單的在本地傳輸文件的網絡程序

經常在CSDN貼吧看見很多關於網絡之間傳輸的例子(比如傳輸截屏文件),所以很想寫一個作爲學習。 此程序設定很簡單,就是在本地傳輸。當然,要擴展到網絡也很簡單,改個ip就ok了。 基本思路: 雙方遵循一個包頭格式,根據包頭確定之後的操作。

原创 C++模板的魅力和魔力

本文要解決的問題很好描述,但要想取個對應的標題還真不容易。 任務描述:假設我有一個邏輯線程,這個線程專門用來處理 各種類成員函數的調用。 要求:類類型不限,類成員函數參數類型可以任意。 首先爲這些成員函數定義一個基類 class Task

原创 初學C++正則表達式(regex)

由效果產生學習的興趣,即使失敗,但至少不會中途作廢。 正則表達式,語法看起來很多啊!地址參考:http://www.yesky.com/imagesnew/software/vbscript/html/jsgrpRegExpSyntax.