VC程式設計小技巧

2021-06-29 03:20:40 字數 961 閱讀 1854

用vc新建dialog.新增rich edit 後編譯可以通過,執行後自動退出,原因即是沒有初始化的後果。

解決方法:

解釋:wasatarup()是應用程式呼叫的windows sockets dll的第乙個函式,在呼叫任何winsock api之前,必須呼叫wsastartup()進行初始化,最後呼叫wsacleanup()做清理工作.

mfc中的函式afxsocketinit()包裝了函式wsastartup(),在支援winsock的應用程式的初始化函式inininstance()中呼叫afxsocketinit()進行初始化,程式則不必呼叫wsacleanup().

為控制項關聯乙個control型別的變數,例如cedit m_edit,

用m_edit.setwindowtext("");就可以清空內容。用m_edit.getwindowtext(str);就可以得到內容。

如果關聯的是cstring變數可以把那個變數賦值為"",然後updatedata()。

hwnd hwnd = ::findwindowex(this->getparent()->m_hwnd, null, null, window_text);

其中,m_hwnd為名為window_text的子視窗的父視窗的控制代碼,window_text為子視窗的標題,得到的hwnd為子視窗的控制代碼,this指代子視窗。

hwnd1=::findwindowex(fromhandle(hwnd)->getdlgitem(idc_tab1)->m_hwnd, null, null, window_text);

第二句中hwnd為idc_tab1的父視窗,m_hwnd即idc_tab1

解決此問題的一種途徑是可以在呼叫類靜態成員函式(執行緒函式)時將this指標作為引數傳入,並在改執行緒函式中用強制型別轉換將this轉換成指向該類的指標,通過該指標訪問非靜態成員。

例如:

class a

;void a::f(a a)

VC程式設計小技巧之樹操作

問題提出 請問treeview控制項和treectrl控制項的用法有何不同呢?向怎麼imagelist控制項中加圖象呀?解決方法 1 hicon hicon 8 m imagelist.create 16,16,0,8,8 for int n 0 n 8 n m imagelist.add hico...

VC程式設計小技巧之列印相關

為 afx idd preview 這個id建立乙個dialogbar。則系統就會用新建立的dialogbar代替系統預設的那個 1.要列印哪個視就 cmainframe afxgetmainwnd m wndsplitter.setactivepane 要列印的那個視對應的pane 2.有乙個單文...

VC程式設計技巧

1.得到程式路徑 tchar exefullpath max path getmodulefilename null,exefullpath,max path 2.從對話方塊得到乙個資料夾 char szdir max path browseinfo bi itemidlist pidl bi.hw...