原创 自繪控件--對應的不同的消息,在對應的消息響應函數中繪製

1、按鈕、標籤、列表框(ListBox)、組合框(ComboBox)、菜單等,在父窗口的WM_DRAWITEM消息裏繪製 2、列表視圖(ListView、ListCtrl)在WM_NOTIFY消息的NM_CUSTOMDRAW裏繪製沒有這些

原创 DbgView 顯示OutputDebugString 輸出內容 不能顯示問題總結

1. 是否有其他編輯器作爲了Debug信息輸出窗口。 例如:vc在debug時調用OutputDebugString的內容不會輸出到DbgView上。會直接輸出到VS的output窗口上。 2.版本是否正確。 分兩種: Under Win

原创 互斥器mutex

    對於多線程,當一個線程1在訪問一個資源A的時候,     其他線程不能再對資源A進行訪問!     必須等到線程1不在訪問資源A的時候,其他線程才能去訪問資源A。 ==>這就需要做:在多個線程之間做一個同步!    1.創建一個互

原创 c++中類的構造函數的作用

 構造函數的作用:初始化對象的數據成員。

原创 GDI繪圖中,SelectObject()函數作用

SelectObject()作用:選入一個GDI對象。同時會返回(選出)先前選入設備上下文的同類的GDI對象。 CPen newPen; CPen *oldPen; newPen.CreatePen(PS_SOLID,2,RGB(192,

原创 C++/MFC計算程序運行時間

在我們實際的編程工作中,經常要測量程序的運行時間,比如衡量算法的運行時間等等。在這裏我收集了網上集中測量程序運行時間的方法。 通過網上查閱資料,找到以下幾種VC中求取程序運行時間的方法: 方法一 利用GetTickCount函數(ms)

原创 ReadFileEx

ReadFileEx是一個Windows API函數。與ReadFile相似,只是它只能用於異步讀取文件操作,異步操作完成後會調用指定的回調函數。 BOOL ReadFileEx( HANDLE

原创 c/c++位運算--判斷對應標識位是否爲1

//判斷DWORD對應位是否爲1 //b爲需要判斷的數, i爲對應的位數 BOOL TestDword(DWORD b, DWORD i) //判斷b的第i位是否爲1 { ATLASSERT(i <= 31); ret

原创 SetEvent()和ResetEvent()

一、綜述: SetEvent()使當前事件對象處於有信號狀態,當前的這個線程可以繼續執行。 ResetEvent()是當前事件對象處於無信號狀態,當前的線程處於睡眠狀態,不能執行。   設置爲TRUE就是有信號狀態CreateEvent(

原创 GUID的生成使用,生成全球唯一名稱字符串

在工作的文檔中出現了隨機因子(Random Factor),不是我們通常使用的隨機數srand,它最大的作用是避免隨機相同 1,涉及API及結構 使用CoCreateGuid 函數即可。需要 objbase.h頭文件。 原型: HRES

原创 win32和x64用到不同的頭文件時:就體現預處理器的作用

  在同一個項目的win32平臺中的預處理器中加上WIN32,x64平臺平臺中的預處理器中加上WIN64。 在代碼中用寫上 #ifdef WIN32 **填寫32位用到的代碼*** #endif   #ifdef WIN64 **填寫

原创 C++控制檯程序停下來--實現暫停功能

一、針對Microsoft #include   <stdlib.h>  (1)第一種方式 system( "PAUSE ");  --------------------  (2)第二種方式 getchar();  // 這招對QT程序

原创 setlocale()函數的作用

一、C 和 C++ 的標準庫分別有自己的 locale 操作方法,C 標準庫的 locale 設定函數是 setlocale(),而 C++ 標準庫有 locale 類和流對象的 imbue() 方法。這篇講解 C 標準庫中 setloc

原创 跳轉語句break、continue、goto的區別

1、我們的目的是講解“跳轉語句”的區別 2、先把c++中包含的幾個語句先總結概括一下 幾種典型的c++語句: ①空語句+語句塊; ②條件語句(if,switch); ③迭代語句(while,do-while,for,範圍for); ④跳轉

原创 十六進制左移