⑴ MFC 单文档添加自定义位图工具栏图标
MFC单文档程序,在资源编辑器中只有一个已有的toolbar资源,你只需要在资源编辑器里版面,通过“空位”建立权一个按钮图标(通过绘制或者复制)并加工好,然后选中这个工具条按钮,右键属性,给予它一个ID就可以使用了。
ID最好是先建立菜单项的方式给予,这样方便建立提示说明等文字。
工具条按钮,不需要SetButton方法,这个是对话框按钮控件的方式,而不是工具条按钮。
⑵ MFC 自绘工具栏
ass Wizard,然后弹出对话框你就可以在右侧Messages里点选command,再点击添加函数按钮就行了。工具栏的图标只要它的ID和对应的菜单项ID一样就行了。
23、初始化函数是CView的派生类的PreCreateWindow,画图就在OnDraw,OnDraw是在窗口发生变化时重绘,但初始化要画图的话我都是在OnDraw里做的,可以用一个static变量决定,不知道有没有别的办法。
4、手动绘制我觉得也应该在OnDraw里,因为我做基于对话框的时候发现在OnPaint里才一定能能画成功,其他地方不一定能画成功。但视图里面没试过,可以添加一个事件,在事件函数里使用CDC画画看,可能可以。
5、这几个是打印的吧,我没打印机,所以从没使用过,做基于文档/视图的时候都是把这几个删掉的
6、工程刚创建的时候用的打开和保存都是使用CWinApp的OnFileNew和OnFileOpen函数,在App类的cpp文件中可以看到下面代码
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
我们要做的就是重载这两个函数,使用文件对话框,你在网上再查查文件对话框就知道怎么用了。
希望能对你有帮助吧,我学的不深,基本做的都是基于对话框的,基于文档/视图的项目做的很少,因为基本上用不到。
⑶ mfc 在对话框中添加工具栏,如何操作实现
在头文件实例化CToolBar m_toolbar;
if (! m_toolbar.CreateEx( this,TBSTYLE_FLAT , WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS,
CRect(2,2,0,0)) || ! m_toolbar.LoadToolBar(“你的工具栏ID”) )
{
TRACE0("failed to create toolbar\n");
return FALSE;
}
m_toolbar.ShowWindow(SW_SHOW);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
⑷ MFC怎么用VS2013给工具栏画图标
MFC自带的绘图函数有圆形 矩形 圆角矩形 椭圆
好像没有五角星,不过你可以自定义一个函数内
截取point A和point B 在两点组成的容区域内,用数学几何方法求出五个点的坐标,
然后画五条直线.
几何求点的思路:
角度 int A[]={90,90+72*1,90+72*2,90+72*3,90+72*4};
Point[i].x=R*cos(A[i]);
Point[i].y=R*sin(A[i]);
半径R的算法:
R=rect.Width()>rect.Height()?rect.Width():rect.Height();
当用户点击一个工具栏图标时,你要把图标的类型记录到Frame的成员变量中
在LButtonDown和LButtonUp的事件中截获两点的坐标
再根据用户选择的工具栏图标类型,在区域内绘制相应的图案