VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 917|回复: 12

[求助] MFC 单文档 菜单项

[复制链接]
37_avatar_middle
在线会员 发表于 2015-9-26 18:53:28 | 显示全部楼层 |阅读模式
3驿站币
单文档中添加菜单项。实现类似于文件--保存这样的功能。直接给void CMainFrame::xxx()里面的代码,差不多的例子就可以了。只剩最后的3驿站币了。倾囊相出。
QQ图片20150926182603.png

最佳答案

查看完整内容

MFC单文档的工程建好了之后,默认就有个菜单资源啊 楼主直接向菜单资源中添加菜单项就可以了呀




上一篇:老谭的书里的例题
下一篇:在picture控件里面怎么实现两张图片的绘制
51_avatar_middle
online_admins 发表于 2015-9-26 18:53:29 | 显示全部楼层
MFC单文档的工程建好了之后,默认就有个菜单资源啊
楼主直接向菜单资源中添加菜单项就可以了呀
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-27 09:48:57 | 显示全部楼层
@Syc 求关注下。。。。
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-27 19:40:49 | 显示全部楼层
是不是描述的太抽象了,无法给出个例子
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-27 20:48:28 | 显示全部楼层
Syc 发表于 2015-9-27 19:52
MFC单文档的工程建好了之后,默认就有个菜单资源啊
楼主直接向菜单资源中添加菜单项就可以了呀

我需要添加个保存图片(类似于保存文件)的功能。要保存的图片我放在了工程文件的根目录里面。
51_avatar_middle
online_admins 发表于 2015-9-27 21:05:15 | 显示全部楼层
gx15366039985 发表于 2015-9-27 20:48
我需要添加个保存图片(类似于保存文件)的功能。要保存的图片我放在了工程文件的根目录里面。

楼主现在是菜单项不会加还是说保存的功能不会做?
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-27 21:22:40 | 显示全部楼层
保存。就是将图片(图片名称buf)保存在任意自己选择的路径。
51_avatar_middle
online_admins 发表于 2015-9-27 22:04:51 | 显示全部楼层
gx15366039985 发表于 2015-9-27 21:22
保存。就是将图片(图片名称buf)保存在任意自己选择的路径。

保存当前的单文档视图到指定的图片吗?还是什么意思
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-28 12:24:01 | 显示全部楼层
Syc 发表于 2015-9-27 22:04
保存当前的单文档视图到指定的图片吗?还是什么意思

我在CSDN上找到解决了
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-28 12:43:45 | 显示全部楼层
Syc 发表于 2015-9-27 21:05
楼主现在是菜单项不会加还是说保存的功能不会做?

void CMainFrame::xxx()
{
//get file data
//...
//...

//chose a file path with ‘save file dlg’
CString FilePathName;
CFileDialog dlg(FALSE);    ///TRUE is ‘OPEN’ dlg,FALSE is ‘SAVE AS’ dlg
if(dlg.DoModal()==IDOK)
{
FilePathName=dlg.GetPathName();
//Open file first , then Write file data , and Close file last;
}
}
get file data这一步我不会。比如我现在的有个图片是"G:\CXTOutBarCtrl2010\buf.bmp    怎么才能个get this data.
51_avatar_middle
online_admins 发表于 2015-9-28 13:49:39 | 显示全部楼层
gx15366039985 发表于 2015-9-28 12:43
void CMainFrame::xxx()
{
//get file data
  1. HBITMAP        hbmp = (HBITMAP)::LoadImage(0, LPCTSTR(filename), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
  2. CBitmap *TempBmp = CBitmap::FromHandle(hbmp);
复制代码
37_avatar_middle
ico_lz  楼主| 发表于 2015-9-28 14:13:39 | 显示全部楼层

由于没有驿站币了,所以在这边问你另一个问题。void CDlgChild1::OnPaint()
{
        // 给窗体添加背景
        CPaintDC   dc(this);   
        CRect   rect;   
        GetClientRect(&rect);   
        CDC   dcMem;   
        dcMem.CreateCompatibleDC(&dc);   
        CBitmap   bmpBackground;   
        bmpBackground.LoadBitmap(IDB_BITMAP3);   
        BITMAP   bitmap;   
        bmpBackground.GetBitmap(&bitmap);   
        CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);   
        dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,   
                bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);   

}
这段代码可以实现图片根据窗口变化调整大小的功能。但现在我需要不随窗口改变图片大小。就是如果窗口一开始是最大化的,我还原窗口的后,图片不去适应窗口大小的,还是保持最大化的状态。
51_avatar_middle
online_admins 发表于 2015-9-28 14:22:14 | 显示全部楼层
gx15366039985 发表于 2015-9-28 14:13
由于没有驿站币了,所以在这边问你另一个问题。void CDlgChild1::OnPaint()
{
        // 给窗体添加背景


StretchBlt 这个函数的第 3、4 个参数的写个你想要的值就可以了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-20 06:08

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表