2013-06-05 41 views
0

我正在开发一个我人生大部分时间的交互式CD我写了控制台应用程序写一些主要是图形对我来说很尴尬。最好的GDI绘图方法

因此,这里是我的方法:

我使用形状和图像左侧和顶部位置canavas图纸都存储在一个文件中。有没有更简单的方法?我认为使用形状对象会简化我的工作,你们认为什么?

欢迎任何例子。

如果你认为这个问题是主观的,请投票结束。

+0

它有点主观。但无论如何,你可能会更好地使用游戏库来实现这一点;看到[这个问题](http://stackoverflow.com/questions/5060302/recommended-2d-sprite-engine-for-a-delphi-board-game/5060730)为例。 –

回答

3

正确的方法是编写一个OnPaint处理程序(即,侦听WM_PAINT消息)并使用GDI进行绘制。

这里有几个简单的例子:

绘图通过移动控制是很别扭。

+0

我开始这样做,但我必须始终检查我是否处于可点击区域,使用OnmouseMove并检查光标是否在可点击的TRect中。这不是太昂贵的CPU,有关如何检查鼠标移动时是否处于可点击区域的任何想法? – opc0de

+0

@ opc0de:现代的CPU非常快,所以根据我的经验,只要代码不昂贵,就不应该害怕增加大量经常运行的代码。检查少量不平等并不昂贵。 –

1

既然你没有指定任何版本,我认为你不会浪费你的时间与古老的德尔福,所以也许你也应该看看FireMonkey

这也将打开大门,有在其他平台上你互动的东西工作..

0

我建议the Delphi GDI+ Library我已经成功使用。这是GDI +的一个包装,它将很多痛苦带出来。