非模態對話方塊

2021-07-11 19:30:00 字數 1665 閱讀 7775

實現可編輯**

// dlggridedit.cpp : 實現檔案

//#include "stdafx.h"

#include "dlggridedit.h"

#include "..\duinclude\dumessage.h"

// cdlggridedit 對話方塊

implement_dynamic(cdlggridedit, cdialog)

cdlggridedit::cdlggridedit(cwnd* pparent /*=null*/)

: cdialog(cdlggridedit::idd, pparent)

cdlggridedit::~cdlggridedit()

void cdlggridedit::dodataexchange(cdataexchange* pdx)

begin_message_map(cdlggridedit, cdialog)

on_bn_clicked(idc_button_ok, onbuttonok)

on_wm_destroy()

on_wm_activate()

on_wm_size()

end_message_map()

// cdlggridedit 訊息處理程式

bool cdlggridedit::oninitdialog()

void cdlggridedit::onbuttonok()

void cdlggridedit::ondestroy()

void cdlggridedit::onactivate(uint nstate, cwnd* pwndother, bool bminimized)

void cdlggridedit::onsize(uint ntype, int cx, int cy)

#pragma once

#include "..\resource.h"

// cdlggridedit 對話方塊

class cdlggridedit : public cdialog

; int m_nrow;

int m_ncol;

cstring m_strtext;

hwnd m_hwndsendmessage;

protected:

virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援

virtual bool oninitdialog();

afx_msg void onbuttonok();

afx_msg void ondestroy();

afx_msg void onactivate(uint nstate, cwnd* pwndother, bool bminimized);

afx_msg void onsize(uint ntype, int cx, int cy);

declare_message_map()

};

對話方塊風格 popup,如果選擇child會收不到訊息on_wm_activate(),無法實現單擊非模態對話方塊以外區域就銷毀對話方塊的功能,設定popup之後對話方塊的父視窗時主框架,移動位置時要轉換一下。

模態對話方塊與非模態對話方塊

1.對話方塊分類 按工作方式不同,可將對話方塊分成兩類 模態對話方塊 modal 在關閉模態對話方塊之前,程式不能進行其他工作 如一般的 開啟檔案 對話方塊 非模態對話方塊 modeless 非模態對話方塊開啟後,程式仍然能夠進行其他工作 如一般的 查詢與替換 對話方塊 2.對話方塊建立 模態對話方...

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

模態對話方塊和非模態對話方塊的區別 在這裡我就說的比較通俗易懂了,就是當你開啟乙個模態對話方塊時,你的焦點不能轉移到程式的其他視窗上,也就是你只能先響應模態對話方塊,才能進行成下面的操作。而非模態對話方塊則相反,你可以不用管它,照常能夠將其他視窗啟用。建立模態對話方塊,主要是應用對話方塊的domod...

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

模態對話方塊 關閉才能返回,非模態 不關閉就能返回 在資源裡新建立二個對話方塊 為新的對話方塊建立乙個類 在最原始的對話方塊函式的標頭檔案將上述兩個新新增的標頭檔案加進去,對模態按鈕進行程式設計 void cdemo11dlg onbnclickedbutton1 對非模態按鈕進行程式設計 void...