CWnd 物件怎麼和 HWND 視窗控制代碼相互轉化

2021-06-16 04:16:31 字數 764 閱讀 8417

cwnd   *wnd;  

hwnd   hwnd;  

它們怎麼相互轉換?

1.wnd->m_wnd;  

2.cwnd   *wnd=cwnd::fromhandle(hwnd)

你是說要強制轉換嗎?恐怕不行吧?wnd是視窗指標,hwnd是視窗控制代碼呀!不過可以互相獲取,如下:  

hwnd=wnd->m_hwnd;  

wnd.atach(hwnd)

建立乙個cwnd物件,然後使用attach將hwnd和cwnd物件聯絡起來  

static   cwnd*   pascal   fromhandle(   hwnd   hwnd   );通過hwnd構造乙個cwnd*指標(但該指標在空閒時會被刪除,所以不能儲存供以後使用)。

//cwnd   object   to   hwnd:  

cwnd   wnd;  

hwnd   hwnd;  

hwnd   =   wnd.m_hwnd;          

//   or  

hwnd   =   wnd.getsafehwnd(); //推薦  

//   hwnd   to   cwnd   object:  

cwnd   *pwnd;  

hwnd   hwnd;  

pwnd   =   cwnd::fromhandle(hwnd);  

//   or  

pwnd->attach(hwnd);

CWnd物件和視窗的關係

很多人認為mfc中的cwnd物件就是視窗,其實不然,它只是擁有乙個與視窗相關聯的扭帶,即視窗控制代碼。可以模擬一下cwnd物件 class cwnd bool cwnd createwindow bool cwnd showwindow intcmdshow bool cwnd updatewind...

CWnd類的物件和Windows視窗之間的關係

cwnd類提供了微軟基礎類庫中所有視窗類的基本功能。一,cwnd物件與windows的視窗之間的區別 1,cwnd物件是由cwnd的建構函式和析構函式建立和銷毀的。2,windows的視窗是windows的一種內部資料結構,它是由cwnd的create成員函式建立的,而由cwnd的虛擬析構函式銷毀。...

CWND和HWND之間的關係和轉換 和獲取方法

一 區別 hwnd是控制代碼,cwnd是mfc窗體類,cwnd中包含hwnd控制代碼成員物件是m hwnd.hwnd是windows系統中對所有視窗的一種標識,即視窗控制代碼。這是乙個sdk概念。cwnd是mfc類庫中所有視窗類的基類。微軟在mfc中將所有視窗的通用操作都封裝到了這個類中,如 sho...