做一酒店的房态图,如何在form上绘图?

taitanic 2005-07-08 03:15:11
原来的办法是自己定制一个组件的方式,一个组件代表一个房间,组件和数据库相关联,但是每次打开form时,动态创建如此多组件会造成速度非常慢,有人说可以在内存中绘图,然后贴上去的办法,不知道如何去做呢?
...全文
834 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangb_99 2006-07-05
  • 打赏
  • 举报
回复
为何不用VisualNet 呢?

它无需编程,只要你和数据库绑定就可以了当房态数据发生变化时,它会自动在图形界面上显示出来。

我们用它开发了很多比你的要求更复杂的监控系统,它的数据变化还要大、快,它都能完成。

到www.ntwt.com 上可以下载。
merkey2002 2006-06-18
  • 打赏
  • 举报
回复
楼上的建议不错,省去自己写控件,画图的麻烦
  • 打赏
  • 举报
回复
放一个表,一个主键一个状态信息

用ListView,ViewStyle设为vsIcon

然后双击后show一个窗体,在通过database control控件设置或查看信息。

其实酒店分不同层使用treeview,显示每一层使用listview,这样我感觉速度不会太慢吧,以前我一个界面上二三十个控件,也没有1秒后显示出来的,基本点show就出来了。

只是我没有动态创建控件。
努力偷懒 2006-06-16
  • 打赏
  • 举报
回复
我可以证明动态创建多个控件组会慢,我做的一个房间frame里面包含5个左右的控件,如果一下子创建30来个房间会慢的,我现在采用的是分页的形式显示出来,但是分页显示的就不能一下子看酒店的所有房态了,感觉很不爽。如果要一下子看完整个酒店的所有房间,那样有一个整体的感觉,做的好,会很舒服的,如果再加上一个放大缩小的功能!那就实在太好了!
andyzhou1101 2006-06-16
  • 打赏
  • 举报
回复
为什么不用用listview呢
zzwu 2006-06-16
  • 打赏
  • 举报
回复
画一幅平面图,扫描成图像,把图像显示出来供用户选择房间,
再像很多地图软件一样进行定位,以显示对各房间的详图。
herman~~ 2005-08-12
  • 打赏
  • 举报
回复
动态创建组件会很慢吗?
xuzhudi 2005-08-12
  • 打赏
  • 举报
回复
我以前做过,数据感知的,速度超快
tfp 2005-08-12
  • 打赏
  • 举报
回复
用控件做简单的可以,注重效率的话,还得自己写,封装画图及相关数据.
房态图 只有矩形吗,如果是就简单多了
bookshop 2005-07-11
  • 打赏
  • 举报
回复
用vml画图就OK了
taitanic 2005-07-11
  • 打赏
  • 举报
回复
我现在还没有将数据库部分加上去,速度慢的原因是因为创建控件时会有时间延迟,就是在显示时出现一个一个控件按顺序显示,就象进度条似的!
感谢guanxy(guanxy) 的 指导,我正在用你的方式去试一下!
大家平时有什么好办法可以解决这个问题都可以谈谈啊!
flexitime 2005-07-10
  • 打赏
  • 举报
回复
我觉得你说的慢究竟分清楚原因所在没有?究竟是读取数据库慢,还是画图的时间慢,使用显示缓冲的方式确实可以加快显示速度,但这种速度的提升一般只能消除闪烁感。
lzd123 2005-07-10
  • 打赏
  • 举报
回复
有谁知道动态创建控件好的算法。我现在写的一个程序就是这样的,速度明显慢!再加上每个窗体都要加载一个图片,点一个按钮切换都下一个窗体,有时有1秒多的延迟,不知道那位兄弟有好的办法没有!
email : lizudong@126.com
fansnaf 2005-07-10
  • 打赏
  • 举报
回复
应该不会太慢的?
能够有多少房间啊?
可以分区显示。
dejoy 2005-07-08
  • 打赏
  • 举报
回复
不要在form上创建过多的控件(从tcontrol派生的),可以从tcomponent派生,代表每个房间,然后在form的canvas上画出来,这样的速度是可以接受的。很多报表采用的就是这种技术,比如FastReport,ReportMachine,你可以参考。
亮剑_ 2005-07-08
  • 打赏
  • 举报
回复
用ListView如何,
ViewStyle设为vsIcon,就像资源管理器设成“大图标”样式那样
xinqingbucuo 2005-07-08
  • 打赏
  • 举报
回复
可以呀,不用动态创建,见好了把图画load下来就行了么
delphiseabird 2005-07-08
  • 打赏
  • 举报
回复
创建太多控件的确会影响效率,我也曾深受其害啊,你可以考虑在算法上优化一下,也许速度就能接受了

www.coderpub.com
zwjchina 2005-07-08
  • 打赏
  • 举报
回复
"动态创建如此多组件会造成速度非常慢?"
会吗?看你怎么操作吧。。。
g961681 2005-07-08
  • 打赏
  • 举报
回复
你可以定义数组保存状态,然后采用最基本的form.canvas画出来就ok了!
加载更多回复(3)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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