在MFC中如何创建一个函数

在MFC中如何创建一个函数,第1张

(1)窗口创建函数

这里主要讨论函数Create和CreateEx。它们封装了Win32窗口创建函数::CreateWindowEx。Create的原型如下:

BOOL

CWnd::Create(LPCTSTR

lpszClassName,

LPCTSTR

lpszWindowName,

DWORD

dwStyle,

const

RECT&

rect,

CWnd*

pParentWnd,

UINT

nID,

CCreateContext*

pContext)

Create是一个虚拟函数,用来创建子窗口(不能创建桌面窗口和POP

UP窗口)。CWnd的基类可以覆盖该函数,例如边框窗口类等覆盖了该函数以实现边框窗口的创建,视类则使用它来创建视窗口。

Create调用了成员函数CreateEx。CWnd::CreateEx的原型如下:

BOOL

CWnd::CreateEx(DWORD

dwExStyle,

LPCTSTR

lpszClassName,

LPCTSTR

lpszWindowName,

DWORD

dwStyle,

int

x,

int

y,

int

nWidth,

int

nHeight,

建立MFC单文档,定义View类的成员变量CButton m_button。

在***View类中添加OnCreate 或OnInitialUpdate 函数,并在函数中加入CRectrect_button(40,10,200,60)   //控制按钮大小、位置 m_button.Create("hello",WS_CHILD|WS_VISIBLE|WS_BORDER,rect_button,this,IDC_DYNAMICBUTTON)

m_button.ShowWindow(SW_SHOWNORMAL)

这样按钮应该都可以显示出来了。

然后添加消息响应函数。头文件中加入afx_msg void OnBtnDown()

BEGIN_MESSAGE_MAP 和  END_MESSAGE_MAP 之间加入ON_BN_CLICKED(IDC_DYNAMICBUTTON,OnBtnDown) 关联按钮变量;

最后加入定义void ***View::OnBtnDown(){ MessageBox("hello","helloworld",MB_OK)

在头文件中声明一个消息相应函数virtual LRESULT OnMyMessage(WPARAM wParaM,LPARAM lParam)

在.cpp文件中将消息 和具体的消息相应函数联系起来ON_BN_CLICKED(WM_MY_MESSAGE,OnMyMessage

实现具体的消息相应函数:LRESULT CMyView::OnMyMessage(WPARAM wParam,LPARAM lParam)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11354093.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存