原创 SDK,MFC,GUI,DirectX解釋 .

"SDK"   :Software   Development   Kit,常譯爲軟件開發(工具)包             在Win32編程領域一般指與MFC這類框架編程相區別的,直接調用API的開發方式,與字面原意有一些區別。另外一

原创 LINUX 喫掉了我的內存!

別慌! 你的內存很正常! 發生了什麼? Linux正在借用未使用的內存用來作爲磁盤緩存。這會使得你的可用內存看起來會很少,但其實不是的,一切都很好! 爲什麼這樣做? 磁盤緩存會讓linux系統運行的更快,響應更積極!除了讓初學者

原创 LINUX 吃掉了我的內存!

別慌! 你的內存很正常! 發生了什麼? Linux正在借用未使用的內存用來作爲磁盤緩存。這會使得你的可用內存看起來會很少,但其實不是的,一切都很好! 爲什麼這樣做? 磁盤緩存會讓linux系統運行的更快,響應更積極!除了讓初學者

原创 不使用CFileDialog類產生保存和打開對話框的代碼(直接拷貝)

#ifdef _DEBUG #define errhandler(msg,h)  printf("Error   Message:   %s,   HWND   is   %x ",msg, h) #else #define errh

原创 Makefile詳解

概述 —— 什麼是makefile?或許很多Winodws的程序員都不知道這個東西,因爲那些Windows的IDE都爲你做了這個工作,但我覺得要作一個好的和 professional的程序員,makefile還是要懂。這就好像現在有這麼

原创 MFC 程序中調用 vbs 腳本文件

MFC 程序中調用 vbs 腳本文件: SHELLEXECUTEINFO shei; shei.cbSize = sizeof(shei); shei.fMask = SEE_MASK_INVOKEIDLIST; shei.lpFile

原创 一個將string轉換爲 const* char的函數

const * char c_str()     一個將string轉換爲 const* char的函數。     string的c_str()返回的指針是由string管理的。它的生命期是string對象的生命期。然後可以按C的方式使用

原创 雙緩存畫橡皮線解決閃屏

思想: 之所以閃屏,是因爲鼠標在移動過程中,一直都在執行修補語句 pDC->BitBlt(rect.left,rect.top ,rect.Width(),rect.Height(),&DownmemDc,rect.left,rect

原创 Sizeof與Strlen的區別與聯繫

一、sizeof     sizeof(...)是運算符,在頭文件中typedef爲unsigned int,其值在編譯時即計算好了,參數可以是數組、指針、類型、對象、函數等。     它的功能是:獲得保證能容納實現所建立的最大對象的字

原创 STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)

向量(vector) <vector> 連續存儲的元素<vector> Vector<int>c; c.back()    傳回最後一個數據,不檢查這個數據是否存在。 c.clear()     移除容器中所有數據。 c.empty() 

原创 關於GDI 對象的創建和釋放

在windows系列上做編程,gdi是一個很重要的技術點,有很多程序在運行多次後出現異常,除了衆所周知的內存泄露以外,gdi資源泄露也是一個很直接的

原创 windows消息和消息隊列

windows消息和消息隊列 與基於MS - DOS的應用程序不同,Windows的應用程序是事件(消息)驅動的。它們不會顯式地調用函數(如C運行時庫調用)來獲取輸入,而是等待windows向它們傳遞輸入。 windows系統把應用程

原创 使用Task代替ThreadPool和Thread

 一:Task的優勢 ThreadPool相比Thread來說具備了很多優勢,但是ThreadPool卻又存在一些使用上的不方便。比如: 1: ThreadPool不支持線程的取消、完成、失敗通知等交互性操作; 2: ThreadPo

原创 淺談 SQLite

關於SQLite的介紹:http://www.codesky.net/article/201002/167887.html 下面是SQLite 調用示例: private void InitSQLite() {

原创 WPF ListView 自動調整列寬

ListView 控件: <ListView ItemsSource="{Binding}" > <ListView.View> <GridVie