1. 程式人生 > >MFC中使用GetParent獲得子視窗的父視窗控制代碼

MFC中使用GetParent獲得子視窗的父視窗控制代碼

今天真是暈了,為了解決控制端開啟程序管理器頁面只能開啟一個介面且關閉後還可以開啟這個問題,在設計的主視窗類CBOFDlg,子視窗類CProcessManagerPageDlg,以及會話類CSession三個類之間周旋了好久,在這個類放一個變數來標記,另一個類中判斷,最後還是沒成功,原因就是子視窗在銷燬之後資料已經不存了,都被析構了,所以在CProcessMangerPageDlg中設定標記是不行的。

最後還是在WM_CLOSE訊息響應後(對話方塊被x掉),使用GetParent函式獲得父視窗的控制代碼,然後把相關資訊傳了回去,最後就解決了。

使用GetTopWindows這個函式沒有解決,不知為何。

相關推薦

MFC獲取各個視窗之間的控制或者指標物件的方法

轉載:https://www.cnblogs.com/gavanwanggw/p/6743774.html MFC中獲取各個視窗之間的控制代碼或者指標物件的方法 MFC在非常多的對話方塊操作中,我們常常要用到在一個對話方塊中呼叫還有一個對話方塊的函式或變數.能夠用例如以下方法來解決.

windows 下在一個程序使用createprocess建立一個視窗程序,並獲取這個視窗的HWND控制

// Process.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <windows.h>  #include <ios

1106Selenium web自動化測試經驗分享-開啟多個視窗,切換控制

在web自動化測試中,好像很少會出現多視窗和切換控制代碼的情景。我之前曾想過一個情景:如果我開啟多個視窗,該怎樣更快更好的切換控制代碼呢?今天做個小分享。 一)切換控制代碼(handle)(1) 首先說明下情景:百度搜索Python,在搜尋的結果中點選一個‘官網’的超連結,打開了一個

Python+selenium 獲取瀏覽器視窗座標、控制

1.0 獲取瀏覽器視窗座標 python目錄可找到Webdriver.py 檔案定義了get_window_rect()函式,可獲取視窗的座標和大小(長寬),但出現”Command not found

如何修改windows單一應用程式的最大控制數量

編者:李國帥 qq:9611153 微信lgs9611153 時間:2012/9/26 8:58:48 背景原因: 經常有個疑問:一個應用程式可以佔用多少控制代碼? 製作播放器的時候,需要留意控制代碼數量,因為隨著分屏的數量增加和介面的切換,控制代碼在不停變化。播放器佔用的控制代

自定義控制元件如何獲取窗體控制

最近做專案時,需要過載picture control 來增加控制元件的右擊事件。在想父窗體傳送訊息時遇到了困難,不知道如何獲取父窗體的控制代碼,以及控制元件的ID。通過兩個函式來分別獲取控制元件ID以及父窗體控制代碼。void CPictureContorl::OnRButt

MFC使用GetParent獲得視窗視窗控制

今天真是暈了,為了解決控制端開啟程序管理器頁面只能開啟一個介面且關閉後還可以開啟這個問題,在設計的主視窗類CBOFDlg,子視窗類CProcessManagerPageDlg,以及會話類CSession三個類之間周旋了好久,在這個類放一個變數來標記,另一個類中判斷,最後還是

視窗獲取視窗控制以及其例項控制

獲取父視窗控制代碼 HWND hWnddlg = AfxGetMainWnd()->m_hWnd;  //主視窗控制代碼 或者 HWND hWnddlg = this->m_hWnd; //主視窗控制代碼 獲取子視窗控制代碼 如果子視窗是控制元件,並有控制元件

視窗獲取視窗控制例子

HWND hTemp=::GetParent(this->GetSafeHwnd());//GetSafeHwnd()會返回當前視窗的控制代碼,GetParent(子控制代碼)這個函式將獲得子控制代碼的父視窗的控制代碼 while(hTemp) {HWND hPar

C# winform winApi 根據傳入handle 控制獲取 其它視窗,如:使用視窗、同級視窗等。

//根據傳入的視窗控制代碼,獲取到同級、頂級、低階的視窗,根據GetWindowCmd 傳入的不同獲取也不同,詳細看GetWindowCmd 類說明 [DllImport("user32.dll", SetLastError = true)] static exter

mfc child屬性的兩個視窗重疊 解決重疊部分不停閃爍問題

大致思路是:HWND  xx1;     //視訊控制代碼1HWND  xx2;    //視訊控制代碼2//自己獲取控制代碼   --> GetSafeHwnd()::SetParent(xx1,xx2);                               

MFC 怎樣獲得某個視窗控制

GetSafeHandle();this-> hWnd;GetDlgItem(hwnd,ID);//獲取視窗ID所對應的HWND的子視窗控制代碼 在主視窗中,如果要用到父視窗的控制代碼,可以用 HWND   GetParent(HWND   hWnd)       得

Qt 視窗視窗切換,視窗間傳值

 本人程式碼 程式碼下載:http://download.csdn.net/detail/u013378306/9621322 效果:實現 父視窗 開啟子視窗,關閉子視窗,子視窗向父視窗傳值 win_win.pro 檔案 #----------------------

MFC獲取cview視窗控制

最近有一個檔案需要顯示在view檢視,百度一堆但是都不可用,最後還是google了一把 首先獲取主視窗指標CWnd* pWnd = AfxGetMainWnd(); 接下來就是醬紫,親測有效! CW

MFC+OpenCV獲得動態建立視窗控制

//獲得動態建立視窗的控制代碼 cvNamedWindow(“Mywindow”, 0); HWND  hWnd = (HWND)cvGetWindowHandle(“Mywindow”); //獲得動態建立視窗父視窗的控制代碼 HWND hParent = ::Ge

MFC視窗控制控制元件控制的獲取

1. 程式主視窗控制代碼的獲得     CWnd* p = AfxGetMainWnd();//函式AfxGetMainWnd()獲得主對話方塊的指標p     HWND h = p->m_hW

MFC獲取其他類、視窗控制等相關函式

轉載自http://blog.csdn.net/xiaoyun8822/article/details/7939605 一般我們使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,無論是多文件還是單文件,都存在指標和控制代碼獲取和操作問

MFC框架獲取視窗/檢視控制

1 獲取視窗控制代碼(用得較多的為:AfxGetApp()): 在CMainFrame(視窗)類中,可以用HWND m_hWnd; m_hWnd = AfxGetMainWnd()->m_hWnd;  取得視窗的控制代碼,如果在視窗類中獲得一控制元件的控制代碼,可以用

MFC通過對話方塊視窗控制獲得對話方塊物件指標

MFC在很多的對話方塊操作中,我們經常要用到在一個對話方塊中呼叫另一個對話方塊的函式或變數.可以用如下方法來解決. HWND hWnd=::FindWindow(NULL,_T("視窗名"));      //得到對話方塊的控制代碼C***Dialog* pWnd= (C*

MFC使用SDL2.0(SDL視窗嵌入到MFC

    本例開發環境:win7 64位 +VS2012 + SDL2.0.3 (stable) 第一步:新建MFC基於對話方塊的應用程式(此例工程命名為MFC_SDL),然後直接點選完成即可,如