1. 程式人生 > >MFC 中全域性函式如何訪問對話方塊物件的成員

MFC 中全域性函式如何訪問對話方塊物件的成員

    ON_MESSAGE(WM_UPDATE_STATIC, CLibTestDlg::OnUpdateStatic)

extern CLibTestApp theApp;

............

// pDlg->m_info+=strRecvd;
      ((CLibTestDlg*)(theApp.m_pMainWnd))->m_info+=strRecvd;//ok
      ::PostMessage(((CLibTestDlg*)(theApp.m_pMainWnd))->m_hWnd, WM_UPDATE_STATIC, 0, 0);//ok

............

LRESULT CLibTestDlg::OnUpdateStatic(WPARAM wParam, LPARAM lParam)
{
    UpdateData(false);

    GetDlgItem(IDC_EDIT_LONGITUDE)->SetWindowText(g_strLongitude);  //獲取傳送內容輸入   string 型別


((CEdit*)GetDlgItem(IDC_EDIT1))->LineScroll(
        m_info.GetLength() / (((CEdit*)GetDlgItem(IDC_EDIT1))->LineLength()));

    return 0;

}
 

相關推薦

MFC 全域性函式如何訪問對話方塊物件成員

    ON_MESSAGE(WM_UPDATE_STATIC, CLibTestDlg::OnUpdateStatic) extern CLibTestApp theApp; ............ // pDlg->m_info+=strRecvd;  

MFC的模態對話方塊和非模態對話方塊

MFC筆記之模態對話方塊和非模態對話方塊 迫於科研的進度壓力,我還是選擇了MFC最為工具去開發裝置除錯軟體,最初想用Qt來創新一下,然而串列埠的通訊一直沒有成功,而且周圍沒有人用Qt使得我在遇到問題無法

在基於對話方塊MFC動態的新增對話方塊

        在Dialog類中新增兩個私有成員變數m_imagelist,m_toolbar,型別如下CImageList,CToolBar      在OnInitDlalog方法中新增如下程式

MFC程式主、子對話方塊類之間獲取CSocket類物件出錯問題解析:error C2248: “CSocket::CSocket”: 無法訪問 private 成員(在“CSocket”類宣告)

(1)錯誤描述:在MFC程式中主對話方塊類利用網路套接字CSocket類和下位機進行通訊;在MFC程式中子對話方塊類想要獲取主對話方塊類的網路套接字變數時,可以通過 CMainDlg* parent;  //指向主對話方塊的指標 獲取到主對話方塊的指標進而獲取到指向套接字

[MFC]在程式訪問對話方塊的控制元件——GetDlgItem函式

1. 使用GetDlgItem函式來訪問對話方塊中的控制元件:     1) 函式原型:CWnd* CWnd::GetDlgItem(int nID) const;     2) 只要引數指定為要訪問的控制元件的ID,即可返回該控制元件的指標,但要注意的是返回的是CWnd*

關於MFCAfxGetApp函式是怎麼得到全域性物件的指標的簡要分析

#include <iostream> #include <assert.h> using namespace std; //宣告類名 class App; App* pThis = nullptr; class App { public: App() {

MFCDoDataExchange函式以及在對話方塊之間傳遞資訊

在進行MFC程式設計的時候常常看到利用wizard生成的檔案中含有DoDataExchange函式,但是從來沒有關心過其作用或者原因。 同時,以前也想過兩個對話方塊之間要怎麼傳遞資料與資訊,包括在培訓的時候也講述過這個應用的實現方法。 通過查詢相關資料和MS

MFC 給DLL新增的CDialog對話方塊新增OnInitDialog()初始化函式

新建MFC DLL專案,新增Dialog對話方塊之後,對話方塊實現檔案裡找不到對話方塊的初始化函式OnInitDialog(),這時,需要我們手動的新增重寫函式。步驟如下:專案【類檢視】中右鍵單擊對話方

MFC學習筆記之多對話方塊使用定時器

MFC菜鳥第一次發貼,請各位高人指教:我需要做一個基於對話方塊的程式,主對話方塊TimerTryDlg上就兩個按鈕,確定鈕按下後執行訊息處理OnFirstOK(),先初始化定時器,再開啟有模式對話方塊TestDlg,定時器時間到了執行OnTimer-在子對話方塊上的一個靜態控制元件上畫點,但OnTimer在

android利用回撥函式對話方塊傳遞資料

android開發中,往往需要在當前activity中開啟一個輸入框來獲取使用者資料,但是怎麼將輸入框的資料傳遞到activity中呢? 一種方法是建立一個全域性變數,在對話方塊中將資料傳遞給靜態全域性變數,然後在當前activity中使用它。這種方式繁瑣而且

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

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

MFC如何拷貝資源(對話方塊,工具欄等)

 MFC的資源機制是兩個檔案的配合,xxx.rc(xxx為專案名稱)檔案和resource.h檔案的配合,res.rc以指令碼的形式描述了資源的形式,如***對話方塊大小,ID,有什麼按鈕,按鈕的ID等等 如“關於”對話方塊在rc檔案內的描述(怎麼開啟,找到rc檔案,資源管

MFC程式設計學習之改變對話方塊和控制元件及文字顏色

//程式訊息流:首先對話方塊繪製時,會發送WM_CTLCOLOR訊息,那麼OnCtlColor()函式 //將響應該訊息,程式將用該函式返回的畫刷對控制元件進行繪製。 HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtl

MFC】 如何通過主對話方塊的按鈕響應建立非模態對話方塊

1.首先新建一個對話方塊IDD_DIALOG_Create, 並新增類CDialog_Create。 //在工程中會新生成一個Dialog_Create.h標頭檔案和一個Dialog_Create.CPP原始檔。 2.在主對話方塊的標頭檔案SerialDlg.h

設計模式以及python函式是第一類物件

我本來是想學習一下python中的設計模式,後來發現這可能是一個"偽命題",有很多書都講解java或C++中的設計模式。但很難找到一本python 為何大量設計模式在動態語言中不適用? A. 有一種比慣用法(idiom)抽象層次高那麼一點點的東西,我們給這種東西起個名字,叫設計模式。 B

MFC模式和非模式對話方塊裡 及關閉時最小化

void CMFC5Dlg::OnBnClickedButton1() { // TODO: 在此新增控制元件通知處理程式程式碼 CAboutDlg dlg; dlg.DoModal(); } void CMFC5Dlg::OnBnClickedButton2() { // TOD

2步讓Win32應用程式/控制檯應用使用MFC類庫支援顯示對話方塊

Win32應用程式/控制檯應用使用MFC類庫 第一步、以VS2013為例,新建3個工程,其中2個為控制檯工程,prj1(不勾選MFC)和prj2(勾選MFC),1個為基於對話方塊的MFC工程prj3 可以發現在所有工程的stdafx.h中發現關於支援MFC的宣

MFC 建立非模態對話方塊和銷燬過程

今天專案中遇到的問題,記錄下來,做個總結。 一個簡單的目的是建立一個非模態對話方塊並在對話方塊關閉後將其銷燬。 這裡的銷燬包括:銷燬對話方塊物件資源和對話方塊物件指標; 首先說建立對話方塊: 一、模態對話方塊(model dialog box) 在程式執行的過程中,若出

安卓實現自定義對話方塊以及自定義顯示位置

專案中有用到如下的對話方塊效果,本來是想用popwindow來實現的結果發現不能覆蓋原來的佈局,不知道是我瞭解的不夠還是本身就不行,發現彈出的對話方塊會與原來的佈局重疊 後面就用對話方塊來實現了,接下來講一下如何實現自定義對話方塊和自定義對話方塊的彈出位置

mfc靜態函式呼叫非靜態成員

靜態函式中呼叫非靜態,首先要獲取到對話方塊指標,最簡單最不推薦的方法是定義個全域性變數儲存對話方塊指標,通用性最強的是把指標作為靜態函式的引數傳進來。取巧的方法,如果對話方塊是主對話方塊可以AfxGetApp->GetMainWnd獲取指標。如果靜態函式不是執行在主執行緒,不能直接呼叫Upda