【MFC】基於對話方塊的視窗置底
環境:win10,vs2017
之前發過一篇視窗置底的文章,最近找到了一種新的方法,感覺效果更好一點。
思路就是,將自己程式的父視窗設為桌面,程式就會嵌入到桌面內部,便可實現置頂。
程式碼如下
將置底部分新增到OnInitDialog函式裡面:
BOOL CDesktopEvaDlg::OnInitDialog() { //... //視窗置底 HWND hDesktop = ::FindWindow(_T("Progman"), NULL); hDesktop = ::GetWindow(hDesktop, GW_CHILD); CWnd* pWndDesktop = CWnd::FromHandle(hDesktop); this->SetParent(pWndDesktop); //... }
以上功能能滿足絕大部分情況。
但經過仍有部分情況會導致置底失效。
有遇到這個情況,可以參考我另一篇部落格https://blog.csdn.net/h84121599/article/details/82503464
相關推薦
【MFC】基於對話方塊的視窗置底
環境:win10,vs2017 之前發過一篇視窗置底的文章,最近找到了一種新的方法,感覺效果更好一點。 思路就是,將自己程式的父視窗設為桌面,程式就會嵌入到桌面內部,便可實現置頂。 程式碼如下 將置底部分新增到OnInitDialog函式裡面: BOOL CDesktopEv
【MFC】基於對話方塊程式選單欄不更新
環境:win10,vs2017 問題描述: 為mfc對話方塊程式添加了一個托盤選單,但這個托盤選單不響應ON_UPDATE_COMMAND_UI訊息, 並且設定選單項的勾選(SetCheck)時,可以通過程式碼觀察到勾選成功,但選單欄顯示的勾選狀態依然不變。 經過幾天的百度,終於發現
【NGUI】Rpg對話方塊
-記錄一下做RPG中,和NPC對話,彈出對話方塊的做法。 剛開始使用NGUI,還有很多不懂。 ------------------------------------------------------------------------------------------------
【Selenium10】處理對話方塊
頁面上彈出的對話方塊若是基於iframe,需要進行switch_to_frame操作,若是div形式,則處理更簡單 操作有:開啟對話方塊、關閉對話方塊、操作對話方塊中的元素 用到的html <html> <head> <meta htt
MFC中基於對話方塊的程式啟動後自動隱藏
本文簡單介紹一下VC中基於對話方塊的程式啟動後的自動隱藏技術。 有的程式需要在啟動後立即隱藏主視窗,只在系統托盤區域顯示一個圖示,這常見於很多後臺服務程式。對於基於對話方塊的程式,要實現此功能需要一點技巧。 該技術的關鍵點在於,需要使用非模態對話方塊,而不是預設的模態對話方
再探MFC(一)基於對話方塊的MFC應用程式專案框架
大學畢設時學的MFC,工作頭一年還用的MFC,之後再也用不到了.當時買的MFC書籍早就束之高閣了.現在需要開發一個簡單的桌面程式,於是我又把MFC撿起來.MFC早已過時,不過如果開發簡單的Windows桌面應用,MFC不失為一個簡單的選擇.再撿起MFC,充滿了對大學和逝去的
【MFC-10】VS2010/MFC基於對話方塊程式的登入視窗實現
一、開發環境 1、VS2010; 2、C++ / MFC; 二、登入視窗設計示例 1、新建基於對話方塊的MFC專案,命名為“UserLogin”; 2、資源檢視中插入一個Dialog,修改ID為:IDD_LOGIN_DIALOG,標題修改為登入對話方塊,並新增控制元
【MFC-8】VS2010更改基於對話方塊的MFC程式標題欄圖示和生產的執行檔案的圖示
一、開發環境 1、VS2010; 2、C++ / MFC; 二、更改步驟 1)建立一個新工程,可以什麼都不加。開啟“資源檢視”, 右鍵點選專案名稱,選擇“新增資源”,匯入“Icon”資原始檔(事先準備好); 2)修改上一步加入的“Icon”資源屬性ID為“IDI_IC
用控制元件子類化實現拖放顯示檔名編輯框時遇到的問題【基於對話方塊】
控制元件子類化的步驟: 為控制元件派生一個新類,在其中加上需要響應的訊息函式。 為DLG類新增控制元件派生類的物件,並在OnInitDialog中呼叫XXX.SubClassDlgItem(IDC_XXX,this); 由於需要實現拖放檔案功能,所以在EDIT控制元件初始化時需
【MFC】簡單實現視窗始終置底
環境:win10,vs2017 注意這裡是始終置底,不是始終置頂 關於視窗持續置底,嘗試了不少網上方法,但都不怎麼適合自己的程式。於是自己想了個比較笨的方法,總算是基本實現自己想要的效果了。 下面這句程式碼能將視窗進行一次置底,但視窗一啟用又顯示了。 SetWi
【MFC】 如何通過主對話方塊的按鈕響應建立非模態對話方塊
1.首先新建一個對話方塊IDD_DIALOG_Create, 並新增類CDialog_Create。 //在工程中會新生成一個Dialog_Create.h標頭檔案和一個Dialog_Create.CPP原始檔。 2.在主對話方塊的標頭檔案SerialDlg.h
基於對話方塊的MFC視窗之間值的傳遞
編碼時碰到一個MFC多個對話方塊視窗之間值的傳遞的問題,花了些時間總結一下。問題具體是這樣的: 單擊CWorkerBorrow對話方塊類中的“新增借調“功能按鈕,彈出CMBorrow對話方塊來編輯資訊,然後滑鼠點選CEdit型別的編輯框區域,在CMBorrow對話方塊上彈出
MFC基於對話方塊程式啟動時隱藏視窗的實現
對於基於對話方塊的MFC程式,如果想要程式啟動時就隱藏主視窗,無法在該對話方塊類的OnInitialDialog()函式中實現隱藏視窗的功能。但是,可以通過對話方塊程式響應WM_WINDOWPOSCHANGING訊息來實現隱藏視窗的功能。 1 OnInitialDialog
基於對話方塊的MFC程式中,實現非模態子視窗在工作列顯示圖示以及視窗左上角加圖示
在基於對話方塊的MFC程式中為了使子視窗同父視窗一樣在工作列顯示圖示,並且在子視窗最小化時可以在工作列顯示圖示,可以在子視窗的OnInitDialog函式中呼叫函式ModifyStyleEx進行修改視窗的樣式實現具體程式碼為: ModifyStyleEx(WS_EX_TOO
MFC基於對話方塊上插入MENU選單欄並點選選單彈出新視窗
一、建立基於對話方塊的應用程式框架 1.選擇選單項檔案->新建->專案,彈出“新建專案”對話方塊。 2.直接選擇“MFC應用程式”或左側面板中模板的Visual C++下選擇MFC,中間視窗中選擇MFC應用程式,然後在下面編輯框中鍵入
【MFC】關於OnOK()、OnCancel()、OnClose()、OnDestroy() 模式對話方塊
第一,OnOK()和OnCancel()是CDialog基類的成員函式,而OnClose()和OnDestroy()是CWnd基類的成員函式,即WM訊息響應函式。從應用程式結構的角度,拿對話方塊來說,紅色的X對應的是CWnd,而處於對話方塊中的“確定”、“取消”按鈕則對應
基於對話方塊的MFC專案實現視窗分割
1. 新建一個MFC對話方塊程式MySplitter。 再插入兩個Dialog資源 ,這裡一定要選擇IDD_FORMVIEW類別的對話方塊,對這兩個對話方塊分別新建類CMyFormView0 和CMyFormView1,基類別選CDialog,一定要選擇CFormView
【轉載】基於rasa的對話系統搭建(上)
生成模型 efi 實體類 total ted twisted -m serve feature 文章介紹使用rasa nlu和 rasa core 實現一個電信領域對話系統demo,實現簡單的業務查詢辦理功能,更完善的實現需要
Flutter 20: 圖解【分享頁面】底部對話方塊
小菜在學習 Flutter 過程中需要處理一個類似 Android 中 PopupWindow 效果的分享彈框頁。看似很簡單的頁面,裡面卻有很多值得嘗試的地方。 小
mfc基於對話方塊的簡單四則運算計算器
1.①建立mfc對話方塊視窗,對話方塊中所有控制元件都delete。 ②繪製介面,按鍵都button,顯示區域edit control,計算器名字用static text。 ③所有控制元件ID改成語義化ID(可不改),如數字1 IDC_BUTTON_NU