這是我剛接觸用 C++/MFC 開發時看到的第一個疑惑,
在 platform SDK/include/windef.h 裡面有一行這樣的定義
2010年9月29日 星期三
2010年9月28日 星期二
如何獲得 GetLastError() 的文字訊息
在撰寫軟體時常常會接獲錯誤訊息,或在操作某些動作時發現錯誤,
也經常利用 ::GetLastError(); 這支 Windows API 來獲取錯誤代碼,
但是這支API回報的是 DWORD 型態,想知道得更詳細往往要再上網搜尋一番,
當然也有方法可以取得文字訊息,簡單的範例如下。
也經常利用 ::GetLastError(); 這支 Windows API 來獲取錯誤代碼,
但是這支API回報的是 DWORD 型態,想知道得更詳細往往要再上網搜尋一番,
當然也有方法可以取得文字訊息,簡單的範例如下。
標籤:
cpp,
mfc,
windows api
利用 memory dc 解決畫面閃爍問題
重繪時要避免畫面閃爍可以使用 Invalidate(FALSE);
使重繪時不做清除底圖的動作,減少閃爍的情況,
使重繪時不做清除底圖的動作,減少閃爍的情況,
標籤:
cpp,
mfc,
windows api
2010年9月27日 星期一
利用 SetWindowRgn 製作非矩型視窗
在 XP 預設的外觀樣式下,正常的視窗或對話框是上方頂點圓圓的配下方直角,
若有需要做出非預設樣式的視窗時,可以利用 CWnd::SetWindowRgn() 這個 function
這可以用來指定視窗的全部範圍與型狀,
在型狀之外的部份會自動為我們加上背景的遮罩。
若有需要做出非預設樣式的視窗時,可以利用 CWnd::SetWindowRgn() 這個 function
這可以用來指定視窗的全部範圍與型狀,
在型狀之外的部份會自動為我們加上背景的遮罩。
標籤:
cpp,
mfc,
windows api
client area 與 WM_NCHITTEST
在 MFC 中若要製作不同於 Windows 風格的視窗時,
往往會將 Dialog 的 Border 屬性設為 None,
然後利用自己畫背景的方式製作美美的視窗、對話框。
往往會將 Dialog 的 Border 屬性設為 None,
然後利用自己畫背景的方式製作美美的視窗、對話框。
標籤:
cpp,
mfc,
windows api
2010年9月24日 星期五
使用 ISAXContentHandler 解讀 XML 的注意事項
在 C++ 底下要解讀 XML 檔案常用的有兩個方法,一是使用 IE6 就有附加的 CLSID_DOMDocument30 元件,二是使用較底層的 Windows API ISAXContentHandler,兩都都需要 include msxml2.h 檔案
標籤:
cpp,
mfc,
windows api
2010年9月23日 星期四
Java 的 method 參數
最早之前工作是寫 C# 與 VB.Net,後來轉寫 C++ 以後很習慣清楚的標示 function 參數是傳值、傳址或傳參考,最近寫起 Java 發現 Java 和 C# 對於 method 參數是傳值還是傳參考是差不多的觀念,參數簡單的分為兩類
2010年9月17日 星期五
2010年9月16日 星期四
Android Activity 的啟動與結束
撰寫 Android 專案時發生一些在離開應用程式時 crash 的狀況,反覆檢查 Activity 的 onDestroy() 就是看不出什麼異樣,後來 TRACE 才發現問題出在 onPause() 裡面的一行 code,在此筆記一下 Activity 啟動與結束的流程
2010年9月12日 星期日
2010年9月11日 星期六
vector 內要放值還是放址?
vector 是 STL 其中之一非常好用的容器,用來替代1維的陣列管理物件是很常用的寫法,有一陣子我在看公司前輩寫的 code 發現一個怪怪的地方,那是一個跑在 Windows Mobile 平台的軟體,裡面有一些大概就是這樣子的一段 code
2010年9月10日 星期五
2010年9月9日 星期四
軟體缺少 d3dx9_xx.dll 的問題
DirectX 在版本轉換時真的是個麻煩的東西,曾經發生一個狀況,將原本正常的專案由 VS2003 轉至 2008 以後,原本利用 VS2003 包出來正常的檔案,改用 VS2008 編以後自已用起來正常,給其他人用卻出問題,在其他台執行時跳出缺少 d3dx9_41.dll 的錯誤。
標籤:
direct x,
visual studio
2010年9月7日 星期二
2010年9月6日 星期一
訂閱:
文章 (Atom)