持久視窗與臨時視窗

2022-08-19 05:54:10 字數 503 閱讀 7833

在mfc中,都是以c++物件來操作視窗

而視窗是用控制代碼來標識的,這樣就需要將視窗和c++物件關聯起來

通過c++物件的成員變數m_hwnd來建立這種聯絡

如果乙個視窗物件和乙個視窗相關聯了,那麼我們要獲取這個視窗物件(通常都是cwnd*形式),返回的就是乙個持久的c++物件,

如果你要獲取乙個視窗(不是通過mfc類庫建立的)的c++物件,那麼mfc就會為你臨時建立乙個c++物件,返回其指標,這就是乙個臨時的物件。

作為臨時物件,它在產生它的函式中有效,例如:你在onmousemove中獲取到乙個臨時物件的指標,那麼它在onmousemove函式中是有效的,但出來這個函式,就不一定了

因為在windows訊息迴圈的空閒時間,臨時物件將會被刪除。

例如:cwnd cwnd;cwnd.create(...);cwnd.detach();

假定cwnd是區域性物件,當cwnd釋放的時候,視窗仍然存在,然後cwnd::fromhandle(hwnd),這時返回就是臨時物件的指標。

持久視窗與臨時視窗

在mfc中,都是以c 物件來操作視窗 而視窗是用控制代碼來標識的,這樣就需要將視窗和c 物件關聯起來 通過c 物件的成員變數m hwnd來建立這種聯絡 如果乙個視窗物件和乙個視窗相關聯了,那麼我們要獲取這個視窗物件 通常都是cwnd 形式 返回的就是乙個持久的c 物件,如果你要獲取乙個視窗 不是通過...

視窗類 視窗類物件與視窗

我們可以發現,sdk 程式中多了乙個 hwnd 型別的變數 hwnd 該變數用來儲存由 createwindowex函式建立的視窗控制代碼,並將其作為引數傳遞給隨後的顯示視窗操作 showwindow 函式 和更新視窗操作 updatewindow 函式 而我們自定義的實現 中,cwnd 類定義了乙...

滑動視窗與擁塞視窗

滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告傳送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。對ack的再認識,ack通常被理解為收到資料後給出的乙個確認。事實上該確認是指接收端已經收到確認楨以前的所有的楨。舉個例子,假如接收端收到 1 ...