• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 采用自定义格式内有指针操作剪切板时,如何处理

采用自定义格式内有指针操作剪切板时,如何处理

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了自定义鼠标指针,怎么自定义鼠标指针,如何自定义鼠标指针,自定义鼠标指针图标,自定义鼠标指针下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 采用自定义格式内有指针操作剪切板时,如何处理
描述:

struct SRegion
{
int width;
int height;
};
typedef struct tagMyFormat
{
char* name;
SRegion* sRegion;
UINT State;
UINT Image;
tagMyFormat(char* ch)
{
name = new char[sizeof(ch)+1];
strcpy(name,ch);
sRegion = new SRegion[sizeof(SRegion)];
}
~tagMyFormat()
{
if(name)
{
delete name;
name = NULL;
}
if(sRegion)
{
delete sRegion;
sRegion = NULL;
}
}
}MyFormat;
void CTreeControl::OnCopy() 
{
// TODO: Add your command handler code here
UINT format = RegisterClipboardFormat("MyFormat");
if(OpenClipboard())
{
HGLOBAL hGlobal;
EmptyClipboard();
hGlobal = GlobalAlloc(GMEM_DDESHARE,sizeof(MyFormat));
MyFormat* pMyFormat =(MyFormat*)GlobalLock(hGlobal);
pMyFormat->Image =1;
pMyFormat->State = GetItemState(GetSelectedItem(),TVIS_STATEIMAGEMASK);
pMyFormat->name = new char[GetItemText(GetSelectedItem()).GetLength()];
strcpy(pMyFormat->name,LPCSTR(GetItemText(GetSelectedItem())));
pMyFormat->sRegion = new SRegion[sizeof(SRegion)];
pMyFormat->sRegion->height = 2;
pMyFormat->sRegion->width = 3;
GlobalUnlock(hGlobal);
SetClipboardData(format,hGlobal);
CloseClipboard();
//delete pMyFormat->name;
//delete pMyFormat->sRegion;
}
}
我定义的结构MyFormat中有指针,而且该指针在构造函数中分配内存,在析构函数中释放内存
    
    我现在要用剪切板进行复制粘贴(oncopy,onpaste),在oncopy中,全局内存hGolbal中保存的是一个指针,(pMyFormat中的)非指针变量state,image可以直接赋值,但是指针变量name,SRegion得new出来(不new运行就错误),   
    
  最后,oncopy中进行delete的话就会运行错误,
       不进行delete能够运行,但是这样的话就造成内存泄露。   
      
  这该怎么解决阿  


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何传递自定义类型的指针???
  • 在activX中VAIRIANT和自定义结构指针怎么转换?
  • 采用自定义格式内有指针操作剪切板时,如何处理

相关文章

  • 2017-06-04 急问:文件摘要中的“公司”信息如何修改——PIDSI中没有这一项
  • 2017-06-05 VC中COM组件的调用
  • 2017-06-05 请教:VC++生成的几种DLL的具体区别?
  • 2017-06-04 请问怎样通过类型库TLB文件获取组件接口信息
  • 2017-06-05 如何使用多进程读写文件(任意类型)
  • 2017-06-04 如何实例化ATL类?
  • 2017-06-04 如何拦劫EXCEL的消息如双击、删除等事件?
  • 2017-06-04 如何使用CoCreateInstanceEx函数
  • 2017-06-04 急!!!!officeword开发:如何获取所要抓到的事件的dispid
  • 2017-06-04 如何添加自己制作的OCX控件的事件函数?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • DLL初学者的很多疑问?薄荷,牙医,小三,陌生人等等,希望给俺指条明路
    • html源文件获取
    • 用Winsock编程时,怎样得到进程中的SOCKET句柄
    • 在ATL控件中有个按钮,我想加入一个位图,但LoadBitmap时,老是提示1814-找不到位图资源这是为什么啊?位图明明在的啊
    • WaitForSingleObjecthndle,10000;的意思?
    • 如何用vc向activex控件传递参数
    • 请问几个hook和dll方面的问题
    • ActiveX控件的调试问题,急!在线等待。
    • 想用hook,在IE打开某个网页的时候,取回URL。怎么办?
    • 能否在单线程的程序中建立一个UI线程,以便通过此UI线程中的按钮结束主线程中长时间运行的函数。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有