VC程式設計經驗彙總 三

2021-04-16 12:38:33 字數 1849 閱讀 2379

1. 顯示和隱藏標題欄

方法一:使用api實現

//隱藏titlebar

long lstyle = ::getwindowlong(this->m_hwnd, gwl_style);

::setwindowlong(this->m_hwnd, gwl_style, lstyle & ~ws_caption);

::setwindowpos(this->m_hwnd, null, 0, 0, 0, 0,

swp_nosize | swp_nomove | swp_nozorder | swp_noactivate | swp_framechanged);

// 顯示titlebar

::setwindowlong(this->m_hwnd, gwl_style, lstyle | ws_caption);

::setwindowpos(this->m_hwnd, null, 0, 0, 0, 0,??swp_nosize | swp_nomove | swp_nozorder | swp_noactivate | swp_framechanged);

方法二:使用cwnd成員函式modifystyle實現

// 隱藏titlebar

modifystyle(ws_caption, 0, swp_framechanged);

// 顯示titlebar

modifystyle(0, ws_caption, swp_framechanged);

2 . 怎麼用sendmessage()來傳送訊息來清空它的內容??

hwnd heditwnd=getdlgitem(idc_edit1)->getsafehwnd();

::sendmessage(heditwnd,wm_settext,(wparam)0,(lparam)"");

4. 刪除乙個目錄下的所有檔案

bool deletedirectory(lpctstr dirname)

else}}

tempfind.close();

if(!removedirectory(dirname)) //刪除目錄

return true;

}5.? lib和dll檔案的區別和聯絡

.dll是在你的程式執行的時候才連線的檔案,因此它是一種比較小的可執行檔案格式,.dll還有其他的檔案格式如.ocx等,所有的.dll檔案都是可執行。

.lib是在你的程式編譯連線的時候就連線的檔案,因此你必須告知編譯器連線的lib檔案在那裡。一般來說,與動態連線檔案相對比,lib檔案也被稱為是靜態連線庫。當你把**編譯成這幾種格式的檔案時,在以後他們就不可能再被更改。如果你想使用lib檔案,就必須:

1? 包含乙個對應的標頭檔案告知編譯器lib檔案裡面的具體內容

2? 設定lib檔案允許編譯器去查詢已經編譯好的二進位制**

如果你想從你的**分離乙個dll檔案出來代替靜態連線庫,仍然需要乙個lib檔案。這個lib檔案將被連線到程式告訴作業系統在執行的時候你想用到什麼dll檔案,一般情況下,lib檔案裡有相應的dll檔案的名字和乙個指明dll輸出函式入口的順序表。如果不想用lib檔案或者是沒有lib檔案,可以用win32 api函式loadlibrary、getprocaddress。事實上,我們可以在visual c++ ide中以二進位制形式開啟lib檔案,大多情況下會看到ascii碼格式的c++函式或一些過載操作的函式名字。

一般我們最主要的關於lib檔案的麻煩就是出現unresolved symble 這類錯誤,這就是lib檔案連線錯誤或者沒有包含.c、.cpp檔案到工程裡,關鍵是如果在c++工程裡用了c語言寫的lib檔案,就必需要這樣包含:

extern "c"

這是因為c語言寫的lib檔案沒有c++所必須的名字破壞,c函式不能被過載,因此聯結器會出錯。

VC程式設計經驗彙總 一

1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...

VC程式設計經驗彙總 二

6.如何建立可伸縮的對話方塊 在進行對話方塊的設計時,有時候我們需要設計可伸縮的對話方塊,當使用者按下某個按鈕時彈出或隱藏對話方塊的下半部分。1 首先在對話方塊中建立乙個控制項把 id設為 idc divider type 設定為矩形,color 設定為黑色,並將其設定為一線狀,拖放在適當的位置做為...

VC程式設計經驗彙總 一

1.視窗最大化 最小化的實現 當我們不能用標題欄的最大化 最小化及恢復按鈕而又需在其他的地方實現這些功能,可以在指定的訊息處理函式裡新增 windowplacement wndpl windowplacement pwndpl pwndpl wndpl getwindowplacement pwnd...