图形图像 多媒体类 机械电子 办公系列 程序设计 网站开发 数据库教程 路由技术 网络原理 网络应用 考试认证
手机分类
  网站导航: 电脑时代在线 · 程序设计 · C++语言 · C++组件编写使用

在StringGrid里面用右键菜单完成拷贝粘贴

手机资讯
『在StringGrid里面用右键菜单完成拷贝粘贴』如果文章中有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 来源:本站原创 更新时间:2006-3-16 11:10:31 

ccrun(老妖)本无心写这篇文章,因为功能及代码比较简单,恐有人不屑。只是在回复csdn一位朋友的帖子,久不写这种代码了,一时认真起来,把注释写了个详细,顺便就贴上来吧,也许对刚入门的朋友有所帮助。
所实现的效果就是在StrinGrid上点右键,然后弹出一个菜单,可以复制当前单元格中的内容,然后粘贴到其他单元格中。

在Form上放置一个PopupMenu,添加两个MenuItem,分明为miCopy和miPaste,然后在StringGrid的OnMouseUp事件和miCopy,miPaste的OnClick事件中添加以下代码:

#include <vcl\Clipbrd.hpp>

TPoint g_ptSelect; // 记录在StringGrid上点右键弹出菜单时的鼠标位置
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    if(Button == mbRight) // 在StringGrid上右点键
    {
        // 选中当前选中的单元格:
        int nCol, nRow;
        StringGrid1->MouseToCell(X, Y, nCol, nRow);
        // 如果在第一行或第一列,或者不在单元格中,则不处理
        if(nCol < 1 || nRow < 1)
            return;
        StringGrid1->Col = nCol;
        StringGrid1->Row = nRow;
        // 记录下当前的鼠标位置,因为在菜单弹出以后,鼠标选择菜单时坐标会改变
        g_ptSelect = Mouse->CursorPos;
        // 弹出菜单
        PopupMenu1->Popup(Mouse->CursorPos.x, Mouse->CursorPos.y);
    }
}
//---------------------------------------------------------------------------
// 63 63 72 75 6E 2E 63 6F 6D
void __fastcall TForm1::miCopyClick(TObject *Sender)
{
    // 确定是复制哪个Cell
    TPoint pt(StringGrid1->ScreenToClient(g_ptSelect));
    int nCol, nRow;
    StringGrid1->MouseToCell(pt.x, pt.y, nCol, nRow);
    // 将选中的内容复制到剪贴板
    Clipboard()->AsText = StringGrid1->Cells[nCol][nRow];
}
//---------------------------------------------------------------------------
void __fastcall TForm1::miPasteClick(TObject *Sender)
{
    // 确定要粘贴到哪个Cell
    TPoint pt(StringGrid1->ScreenToClient(g_ptSelect));
    int nCol, nRow;
    StringGrid1->MouseToCell(pt.x, pt.y, nCol, nRow);
    // 将剪贴板中的内容粘贴到单元格
    StringGrid1->Cells[nCol][nRow] = Clipboard()->AsText;
}

】【关闭窗口
  上一页:
  下一页:后面的文章暂时没有更新了,请多关注QQgb.com
C++组件编写使用:相关文章
C++组件编写使用点击榜
推荐教程通过继承完成不同地CheckBox样式
推荐教程怎么样自己设定提示窗口(Hint W
推荐教程在StringGrid里面用右键菜单完成
推荐教程在DBGrid里面可选里面行而再可进
推荐教程BCB6与BCB2006控件地安装
普通教程ListBox编制程序两例
普通教程用C++Builder设计动态网站页面按
普通教程CB非可视组件地资讯处理灵活技术
普通教程让TRichEdit支持BIG5内码
普通教程BCB里面完成动态创建组件
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
C++组件编写使用推荐图片

没有任何图片教程
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2009 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by PCX. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光