尊旭网
当前位置: 尊旭网 > 知识 >

vs2008mfc教程,在vs2008中 假如我新建了一个DLL工程和一个MFC工

时间:2024-06-16 05:54:31 编辑:阿旭

1,在vs2008中 假如我新建了一个DLL工程和一个MFC工程,我该如何让MFC工程使用这个DLL工程呢?

你说的使用是指源码级使用还是二进制级使用

如果是源码级使用就没啥好说了,直接把源文件加入到MFC工程里就行了

如果是二进制级使用,首先你的DLL肯定是要导出一些函数的,一般也会把函数声明写在H头文件里,编译这个DLL工程,你会得到DLL和LIB,MFC工程里链接选项里依赖项加上你这个DLL的LIB就行了,然后在你的MFC工程里包含这个H头文件,这样就可以直接调用了

2,怎样在VS2010的基于MFC对话框程序中添加菜单栏

VS2010的MFC对话框程序中添加菜单栏的过程,我大致分了这五步。
一、将Menu加入Resource视图中
在WorkSpace中的Resource视图下,在任意一个文件夹图标上,右击选择Insert(插入)选项,在弹出的对话框中选择Menu以后,再点击,new按钮,菜单就会添加成功了,但是现在还没有完成,还不能进行编译,因为现在的菜单时空的,在编译的时候会被清除的。
二、用菜单编辑器添加菜单栏及菜单项
菜单添加成功后,菜单编辑器自动打开,可以在其中添加菜单栏及菜单项,比较简单。
三、将菜单加载到你的对话框
第一步中添加一个菜单项,这是菜单就真正的加到了你的工程中了,接下来就是如何将菜单加载到你的对话框中了。
打开你新加入的菜单项,单击“项目”-->“添加现有项”,在这里选择已有的类,就是你要为其添加菜单的对话框的类,例如,***Dlg.cpp。然后确定。
四、在相应的文件中添加代码
打开对话框头文件***Dlg.h,声明CMenu 变量,例如m_Menu;
打开***Dlg.cpp 文件,在***Dlg::OnInitDlg()中加入如下语句:
m_Menu.LoadMenu(IDR_MENU1); // IDR_MENU1为你加入的菜单的ID,在Resource视图的Menu文件夹下可以找到
SetMenu(&m_Menu);
这样就OK了,调试一下,菜单就已经出现在对应的对话框中。
五、利用向导生成菜单消息响应函数
选择项目下的类向导,选择类名为”***Dlg.cpp”,在“命令”选项卡下的“对象ID(B)”中,选择各子菜单项的对应的ID,然后在“消息(S)”中双击COMMAND消息。
这时会弹出对话框类,你可以更改对应子菜单项的函数处理名,然后点击确定。菜单消息响应函数生成完毕,加入你需要的代码。

3,VS2008MFC基本对话框中怎么加蚀刻线?

1、用Picture控件,把一个方向大小拖为为1(看你要水平还是垂直线了),然后属性里Type设置为为Etched Horz或者Etched Vert

2、在类视图中找的你要添加OnInitDialog的对话框类,然后右键单击选择属性,在属性框中点击上侧的“重写”按钮(鼠标指在按钮上面有提示),在里面找的OnInitDialog,点右面的下拉框选择“添加OnInitDialog”

4,VS2008 MFC 对话框 如何 添加背景图片

方法一:

1、声明成员变量CBrush m_brush;
2、在InitDialog中添加代码:

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加
m_brush.CreatePatternBrush(&bmp);

3、重载对话框的OnCtlColor,改最后的返回值:

return (HBRUSH)m_brush;


方法二:

把下面这段代码加进OnPaint()里就行了
CPaintDC dc(this);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush =dc.SelectObject(&brush);
dc.Rectangle(0,0,200,200); // 这些参数可以调整图片添加位置和大小
dc.SelectObject(pOldBrush);

方法三:使用StretchBlt()函数,具有图像自适应窗体功能
CPaintDC dc(this);
CBitmap m_bmpBK;
m_bmpBK.LoadBitmap(IDB_BITMAP1);

CRect rect;
GetClientRect(&rect);//获得目标尺寸,即窗口客户区的坐标

BITMAP bitMap;//位图结构体
m_bmpBK.GetBitmap(&bitMap);//获得原图片尺寸

CDC dcMem; //目标DC
dcMem.CreateCompatibleDC(&dc); //创建与dc兼容的内存DC
dcMem.SelectObject(&m_bmpBK);//将位图对象m_bmpBK选入内存DC
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);

最新内容