本文主要介紹:在mfc建立的停靠視窗中新增一些控制項,浮動視窗中可以新增mfc自身的控制項,也可以新增對話方塊。
一、建立對話方塊
對話方塊屬性做以下修改:
二、視窗中新增控制項
objectwnd.h檔案:
#pragma once
#include "afxdockablepane.h"
#include "objectdlg.h"
#include "afxwin.h"
class
cobjectwnd :
public
cdockablepane
;
objectwnd.cpp檔案:
#include "stdafx.h"
#include "objectwnd.h"
#include "resource.h"
cobjectwnd::cobjectwnd(void)
cobjectwnd::~cobjectwnd(void)
begin_message_map(cobjectwnd, cdockablepane)
on_wm_create()
on_wm_size()
on_wm_destroy()
end_message_map()
void
cobjectwnd::adjustlayout()
crect
rectclient;
getclientrect
(rectclient);
intheight = rectclient.height
()/3;
//控制項在視窗中所佔空間大小
m_edit.setwindowpos
(this,rectclient.left,rectclient.top,rectclient.width(),rectclient.height()/3,swp_noactivate | swp_nozorder);
m_static.setwindowpos
(this,rectclient.left,rectclient.top+height,rectclient.width(),rectclient.height()/3,swp_noactivate | swp_nozorder);
m_objectdlg.setwindowpos
(this,rectclient.left,rectclient.top+height*2,rectclient.width(),rectclient.height()/3,swp_noactivate | swp_nozorder);
}int
cobjectwnd::oncreate
(lpcreatestruct lpcreatestruct)
if(!m_static.create(null,dwviewstyle,rectdummy,this,6))
// 建立對話方塊視窗:
if(!m_objectdlg.create(idd_objectdlg,this))
m_objectdlg.showwindow
(sw_show);
adjustlayout
(); //m_edit.setwindowtext
(_t("cedit控制項"));
//m_static.setwindowtext
(_t("cstatic控制項"));
return 0;
}void
cobjectwnd::onsize
(uint ntype, int cx, int cy)
void
cobjectwnd::ondestroy
()
三、新增完成,執行如下: MFC實現對話方塊的停靠視窗
vs2019,建立mfc應用,設定高階中去除預設停靠視窗。1.對話方塊建立 1.1插入dialog,id改為dialog set 1.2對話方塊的屬性設定 border none,style child 1.3新增相關控制項 1.4右鍵單擊新增mfc類csetting 2.停靠視窗建立 2.1類導向...
MFC基礎知識綜
1.在windows.h中,以cs 開頭的類樣式 class style 標示符被定義為16位的常量,這些常量都只有某1位為1.詳細解釋見 2.一種為取位址 另一種為按位與 0 0 0,0 1 0,1 0 0,1 1 1 邏輯與 用於多個條件並且成立的判斷 或 並列的意思 邏輯或 3.mf框架級源 ...
mfc基礎知識01
cstring str 123 int ival atoi str atoi str 將字串轉換為乙個整型資料,該函式定義在stdlib.h中 cstring strd 123.333333 double dval atof strd atof strd 將字串轉換為雙精度浮點型 cstring s...