vs2010 MFC中利用CreateWindowEx手动创建工具栏后,想点击这个工具栏上的某个按钮,该如何做?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2010 MFC中利用CreateWindowEx手动创建工具栏后,想点击这个工具栏上的某个按钮,该如何做?相关的知识,希望对你有一定的参考价值。
Hwnd m_hToolBar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_VISIBLE | CCS_NODIVIDER | CCS_TOP |TBSTYLE_WRAPABLE| TBSTYLE_TOOLTIPS |CCS_NORESIZE|TBSTYLE_TRANSPARENT|TBSTYLE_FLAT,
0, 0, 0, 0, m_hWnd, (HMENU)this->m_hWnd , AfxGetApp()->m_hInstance, NULL);//////创建工具栏
这个是用该函数创建的工具栏句柄,之后的想点击工具栏上的工具按钮该怎么做了,求指点?
MFC怎么调用API函数?
MFC怎么调用API函数?教材上说了2种方法,可很多人说可以直接使用。
这到底是怎么回事?你们真把我搞糊涂了!
::CreateWindow()
::SetWindowText()
1.对于直接调用Windows API函数,基本上所有的窗口API函数都是定义在windows.h文件中,MFC调用API函数时,只用在函数前面加两个冒号就可以了。
::CreateWindow()
::SetWindowText()
2.对于封装了API函数的MFC 来说,直接用MFC自己相关的函数就可以调用了。因为MFC封装了Windows API函数,加以扩展形成了自己的类。
这些都是MFC直接调用API函数的语法。 参考技术A 1.MFC封装了Windows API函数,加以扩展形成了自己的类,使其更加易用。
2.在编码过程中也可以直接调用Windows API函数。本回答被提问者采纳 参考技术B 楼上几位朋友说得很对,不过还请注意一点,就是加了域作用符 ::与不加在参数方面有区别,因为加了是全局的,所以在传参的时候往往需要第一个参数提供句柄,比如FindWindow()、SendMessage()等等,第一个参数都需要句柄的。有些则不要。 参考技术C 其实很简单。有些函数是全局函数,就要加全局作用域符号::。有些不是全局的,就可以直接用了。这要看函数的。 参考技术D 就像楼上说的,要具体看什么函数。当然,像我们这样都懒得去区分那些需要加全局作用域符号::,那些不用,所以最好的方法是在写MFC程序是调用api函数时都加上全局作用域符号::,那肯定没有问题了。
以上是关于vs2010 MFC中利用CreateWindowEx手动创建工具栏后,想点击这个工具栏上的某个按钮,该如何做?的主要内容,如果未能解决你的问题,请参考以下文章
VS2010 如何利用 MFC单文档界面 编写 OpenGL?参考了很多vc6.0的方法,都不能在编译通过。谢了啊!