原创 使用CImage雙緩衝

void CXXXButton::OnPaint() { CPaintDC dc(this); CRect rect; this->GetClientRect(&rect); int imag

原创 VS2008 不能創建C++的項目,解決方法

安裝完成後,創建C#,VB項目都正常,也能打開VC++的項目,就是不能創建VC++的項目,創建後就停在導航界面,那個next和previous 顯示不出來,完成,取消按鈕點擊都沒反應,只能點X關閉。網了找了一些解決方法,最後解

原创 VC++, 重啓程序

TCHAR pBuf[MAX_PATH]; GetModuleFileName(NULL,pBuf,MAX_PATH); STARTUPINFO startupinfo; PROCESS_INFORMATION proc_info

原创 MFC CToolTipCtrl 總是顯示

.h CToolTipCtrl *m_pToolTip; .cpp if(!m_pToolTip) { m_pToolTip = new CToolTipCtrl(); m_pTo

原创 QT 修改QTableWidget表頭

void NodeConfigDlg::initNodeTable() { m_pNodeTable = new QTableWidget(this); QStringList headerString;

原创 VC 註冊表讀寫

BYTE Vals[256]; HKEY hKEY; //打開註冊表,判斷註冊表項是否存在 if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Weld

原创 QMenu,QT的菜單添加

添加菜單方法1          m_pMenuBar= new QMenuBar(this);          QMenu*pFileMenu = new QMenu("&文件",m_pMenuBar);          Q

原创 庫頭文件的導入導出宏

//xxx.h #ifdef CFG_API_BEING_COMPILED #ifdef WIN32 #define CFG_API_EXPORT __declspec(dllexport) #else #define CFG_API_

原创 VS2008中 沒有QT的代碼智能提示

2008本身自帶有註釋,本人不太喜歡VC助手把界面弄的很煩。配好QT環境之後,發現QT的代碼沒有智能提示,VC的代碼卻有智能提示。 原因是QT的一些文件沒有包含到VS2008中,做了以下包含:  項目屬性->Configu

原创 error LNK2023: bad DLL or entry point 'msobj80.dll' 解決方法

一覺睡起來,程序編譯就這個錯誤。搜了搜。我的解決方法是在http://www.dllku.com/M/msobj80.dll.html下載msobj80.dll,替換Microsoft Visual Studio 8\Common7\I

原创 GDI+ 雙緩衝

BOOL CXXXDlg::OnEraseBkgnd(CDC *pDC) {     CRect  rect;     this->GetClientRect(rect);     if(!m_pBkImage)

原创 GDI+ 爲了陰影和透明,使用雙層窗口遇到的一些問題

在wnidows C++ 客戶端開發中,使用GDI+和png透明或者異形圖片,結合UpdateLayeredWindow 雙層窗口,可以實現透明,陰影,異形的效果。 其原理便是背景窗口使用UpdateLayeredWindow,刷新png

原创 tinyxml漢字亂碼,UTF8轉GBK

在解析讀取tinyxml時候,發現讀取漢字都是亂碼,所以需要轉成GBK  static wstring ConvertUTF8toGBK(const char * strUTF8)  {   int len = MultiByteTo

原创 QT線程初次使用。遇到的問題。

#include <QThread> class OpenProThread : public QThread {     Q_OBJECT public:     OpenProThread(QObject

原创 VC 創建托盤,托盤tooltip。右鍵托盤菜單,點擊別的地方會隱藏掉的問題。

托盤上的菜單右鍵彈出後,然後再別的地方,比如桌面,菜單無法隱藏掉,一直在托盤上,除非操作下菜單才能隱藏掉,只需要加上一句話 ::SetForegroundWindow(m_nid.hWnd); 就可以解決這個問題。 下面是托盤創建