画表格的问题~

faremn000 2011-05-23 11:10:52
我想换出一个能通过鼠标移动表格内部线来改变行高与列宽的的表格,应该怎么画呢??
...全文
183 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcf_reader 2011-06-08
  • 打赏
  • 举报
回复
消息响应
科学家 2011-06-08
  • 打赏
  • 举报
回复
我也遇到过画表格的问题。实在麻烦。后来干脆做了个控件来解决的。我的那个控件记住的就不是线段了。我记录得是每个空白的框框。每个框框你用一个窗体类的实例来表示也行,用一个自制的rect类的实例来表示也可以。将每个实例存进vector中。这样做还可以实现单元格合并,或拆分。

操作时用户先用橡皮筋画一个矩形,矩形落定之后在矩形区域内点右键出现对话框询问m行n列,用户确定后,代码中将该矩形用嵌套循环计算出这m*n个矩形的四边---------这个不难。(只是记得有误差很讨厌。比如10个像素等分3份,必余1,这个1不能再分了,要么你悄悄的把那个外框矩形缩小1,要么扩大2,每份可获补1,要么把这个1分配给最后一份上,若分到最后一份,遇到分格数多时会很不均匀。)

分格成m行n列。用户可以划选相邻的一个或几个框框,合并,就是留下第一个,其余的销毁然后在吧第一个铺满余下的空白处........

不说了,这么多天,楼主现在是不是已经解决了?
faremn000 2011-06-03
  • 打赏
  • 举报
回复
我试一试,先谢谢大家回答
evangelinelm 2011-06-02
  • 打赏
  • 举报
回复
你可以参考一下那个橡皮筋效果的简单程序,看人家是怎么移动线条的。然后你再结合自己的已有表格,来移动已有的线。移动可以采用刷新,反绘等方法来实现。其实还是用控件最好。
faremn000 2011-06-02
  • 打赏
  • 举报
回复
自己顶一下~
richblueh 2011-06-02
  • 打赏
  • 举报
回复
我想了下,你看行不

表格就是一个大的单元格,也就说
单元格使用行和列组成,有了行和列就可以产生子单元格,
子单元格记录父单元格的行和列的引用,
子单元格也可以由自己的行和列,

子单元格的行和列,记录与父单元格的距离规则,

画图的时候,就遍历单元格的行和列
april1yu 2011-06-02
  • 打赏
  • 举报
回复
这个用opengl应该很好实现吧
faremn000 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wyx100 的回复:]
每条线段都是由两个点组成的,建一个结构,里面包含两个Point。或直接4个int也行啊。
[/Quote]
一条一条直线的去画,然后记录坐标吗
wyx100 2011-05-27
  • 打赏
  • 举报
回复
每条线段都是由两个点组成的,建一个结构,里面包含两个Point。或直接4个int也行啊。
faremn000 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qiuchengw 的回复:]
画表格其实挺困难的.自己实现一个易用的表格感觉有点不现实啊.
还是找现成的控件吧.
[/Quote]
我现在是想在一个画图软件上画出一个表格,用控件不太美观 - -
faremn000 2011-05-26
  • 打赏
  • 举报
回复
自己顶一下吧~
qiuchengw 2011-05-26
  • 打赏
  • 举报
回复
画表格其实挺困难的.自己实现一个易用的表格感觉有点不现实啊.
还是找现成的控件吧.
科学家 2011-05-25
  • 打赏
  • 举报
回复
每条线段都是由两个点组成的,建一个结构,里面包含两个Point。或直接4个int也行啊。
faremn000 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangyutao0232000 的回复:]
mfc GDI
[/Quote]
具体怎么画呢 ?想了挺长时间,不知道如何画,只能画出固定大小的表格~
海盗医生 2011-05-23
  • 打赏
  • 举报
回复
mfc GDI
faremn000 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thomtadie 的回复:]
楼主不知掉如何移动线段??
建议,将所有横线,竖线记住,在mousemove事件里判断,当前鼠标是否在某一线段上。在的话则改变鼠标形状,并在按下鼠标时记下那条线段。移动时,现生成一条临时线段来表示改线段跟着鼠标移动。鼠标落下后将临时线段的位置赋给被点中的线段即可。

纯属建议,我认为能实现。不过会麻烦点
[/Quote]
如何记住横竖线??能否详细点,谢谢。
科学家 2011-05-23
  • 打赏
  • 举报
回复
楼主不知掉如何移动线段??
建议,将所有横线,竖线记住,在mousemove事件里判断,当前鼠标是否在某一线段上。在的话则改变鼠标形状,并在按下鼠标时记下那条线段。移动时,现生成一条临时线段来表示改线段跟着鼠标移动。鼠标落下后将临时线段的位置赋给被点中的线段即可。

纯属建议,我认为能实现。不过会麻烦点
H5画表格

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧