自制控件问题,需要大家帮忙!

u2m 2003-08-29 02:24:06
想作一个这样的控件
横坐标为时间,纵坐标为一个条件(例如用户名),有一个类似于滑杆似的一跟细长的东西,可以拖动。想完成这样的功能,我拖动滑杆,横坐标时间变化了,我相应的把各个用户在此时间段的动作以图示(不同颜色表示)的方式显示出来,使操作者更加直观的知道了各个用户在一段时间内的动作。我想作一个这样的控件,但不知道该如何下手,请各位高手帮忙,给些思路,或者有没有类似功能的控件代码以供参考,谢谢了!解决之后再送高分!
...全文
64 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
u2m 2003-09-09
  • 打赏
  • 举报
回复
ding
zdy_8212 2003-09-07
  • 打赏
  • 举报
回复
自已动手作一个activex可能会比较好,
思想:1。shape可以在动行中检测用户,新增就创建一个shape对象,然后以不同的头颜色值显示,
2。确定作标,也就是事件触发后《当用户有所动作时》,作标会发生相应的更变
3。在刷新的时候,注意保存以前的资料。
事件。1.haveuser
--方法:createshape(color,x,y)
2.userchange
--方法:gotoxy(x,y)
我是初学者,不知这是不是达到你的要求了????
wenohuang 2003-09-07
  • 打赏
  • 举报
回复
简单,自己搞
u2m 2003-09-07
  • 打赏
  • 举报
回复
ti
u2m 2003-09-05
  • 打赏
  • 举报
回复
NeoBean 2003-09-04
  • 打赏
  • 举报
回复
例子我手头上没有,不过我曾经在www.codeguru.com上看到过,你去找找吧。
u2m 2003-09-04
  • 打赏
  • 举报
回复
楼上2位可否给个例子参考一下
NeoBean 2003-09-04
  • 打赏
  • 举报
回复
你说的功能似乎很简单,最简单的办法就是创建一张大位图(宽很大),把用户的所有数据先画到位图上,当你脱动trackbar的时候只需要在要显示的WND上根据trackbar的坐标拷贝出位图的某一部分就实现了。而且不会闪烁。其实要克服闪烁也不困难主要是背景色、擦出色、新背景色这三种颜色的差别最好一致就不会有太大的闪烁感了。

// 我做的股票走线图显示部分就是采用的这种方法。
yushulei 2003-09-04
  • 打赏
  • 举报
回复
我觉得如果你是想学东西,最好还是从基本的写起,比如就写个activeX控件吧,
所有的东西都要自己画,那些时间等的数据你可以放在一个链表里,而链表的每
个节点可以是你定义的一个类,至于类的内容,你可以记录你想显示的那个用户
在某时刻做了什么动作。至于那个拖动的滑竿,你也可以自己画出来,举个简单
的例子,就想mediaplay上的显示电影进度的杆,你可以先画一条直线,如果显
不形象可以画一个3d的矩形,这个看你自己了,然后那个显示进度的东西,可以
也画一个矩形,至于他的拖动,你可以用onmousemove事件,判断当你的鼠标在
你所画的区域的时候,也就是最先画的那个长矩形的时候就在鼠标的左侧画显示
进度的矩形(可以通过得到位置,然后在ondraw里化),然后调用刷新函数。
至于你还想用不同的颜色显示,那可以随你设定,CDC类里有功能强大的画图函数。
可以用FillSolidRect,Draw3dRect,创建画笔,刷子等等。总的来说你的想法还是
比较容易实现的。但有一个问题我还没解决,那就是刷新的闪烁问题。但估计你这个
不会怎么太厉害,我正做一个类似excel的表格控件,到基本功能都有了,但闪烁的
问题还没解决!还希望哪位高手帮帮忙,呵呵!希望我的意见能给你帮助。
u2m 2003-09-04
  • 打赏
  • 举报
回复
ding
u2m 2003-09-03
  • 打赏
  • 举报
回复
ding
u2m 2003-09-03
  • 打赏
  • 举报
回复
nonocast:谢谢帮忙!不过那只是自制带背景图的控件而已,而我的目的是会实时根据横纵坐标的改变刷新背景的,不过那个对我还是有所帮助,解决之后一定另送高分!
还请各位继续给些帮助
nonocast 2003-09-02
  • 打赏
  • 举报
回复
我发消息给你了
收到了吗?
u2m 2003-09-02
  • 打赏
  • 举报
回复
ding
u2m 2003-09-01
  • 打赏
  • 举报
回复
nonocast(如果你信仰光明,那是因为到处都是黑暗!):高手,不好意思,我没有找到你说的那个定制的trackbar,可否给个链接给我或者mail:bestfeng@263.net谢谢
u2m 2003-09-01
  • 打赏
  • 举报
回复
高手们帮我!!!
nonocast 2003-09-01
  • 打赏
  • 举报
回复
首先应该定制一个trackbar
codeproject中有现成的,不是吗?
那然后用户改变Trackbar同时改变相应的两个值(横竖各一)
然后在OnDraw/OnPaint中进行重画


----------------------
May you succeed!
------------------------
xiaohedou 2003-08-31
  • 打赏
  • 举报
回复
study
u2m 2003-08-31
  • 打赏
  • 举报
回复
ding
u2m 2003-08-30
  • 打赏
  • 举报
回复
顶,需要思路
加载更多回复(13)

16,471

社区成员

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

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

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