我想做个矢量绘图系统,就是类似于Windows中画图的功能,本来用的是TImage,绘图部分没有问题。问题:
我做的这个绘图部分,需要在组件中响应键盘操作,比如按"上下左右"键控制图形的移动。
但是我做的这个组件,是供其他程序员使用的,所以我无法控制他的Form中的Key响应,只能在自己的组件里处理键盘消息,请问我该怎麽办?需解决的问题:
1,如果我还是选用TImage组件,我怎麽让它响应键盘操作,我试过写响应Windows消息,如下:
  BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_KEYDOWN,TWMKeyDown,WMKeyDown)
  END_MESSAGE_MAP(TImage);
但没有效果。
2,如果我不选用TImage组件,针对我的需求,我有什么其他可用组件。

解决方案 »

  1.   

    我建议你从头写一个。从 TWinControl派生一个类,实现所有的矢量图绘制功能。应该不太难。
    我做的这个例子仿照WORD写的一个字处理控件,完全用DELPHI写的。
    http://www.bytem.com/tmp/wordshop.rar
    相信自己,努力干吧。哥们!
      

  2.   

    用一个TPanel或者TScrollBox内嵌一个TImage就可以了。
      

  3.   

    这个BEGIN_MESSAGE_MAP怎么看起来象VC的代码啊?
    参考这个帖子:
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1848622