在网上找了个xe下触控例子,编译的时候提示错误,请大家帮忙看看,多谢了。
procedure TMyD2DPanel.WMSize(var Message: TWMSize);
begin
  if assigned(Canvas) then
   (Canvas.RenderTarget as ID2D1HwndRenderTarget).Resize(D2D1SizeU(message.Width, message.Height));
end;
提示错误信息:
[dcc32 Error] frmPicStack.pas(404): E2197 Constant object cannot be passed as var parameter好像是不能用变量来作为参数,不知道这个怎么改?触控图片2d

解决方案 »

  1.   

    http://download.csdn.net/detail/gdx0605/6037437这个是例子的地址
      

  2.   

    这里的Resize参数为var的,得是一个变量。修改为:procedure TMyD2DPanel.WMSize(var Message: TWMSize);
    var
      ASize: D2D_SIZE_U;
    begin
      if assigned(Canvas) then
      begin
        ASize := D2D1SizeU(Message.Width, Message.Height);
        (Canvas.RenderTarget as ID2D1HwndRenderTarget).Resize(ASize);
      end;
    end;
      

  3.   


    procedure TMyD2DPanel.WMSize(var Message: TWMSize);
    var
      v:D2D1_SIZE_U;
    begin
      if assigned(Canvas) then
       begin
         v.width:=message.Width;
         v.height:=message.Height;
        (Canvas.RenderTarget as ID2D1HwndRenderTarget).Resize(v);
       end;
    end;
      

  4.   

    我在试用手势来操作实现旋转、缩放,控件都带Touch属性了
    用捕获消息也是一种办法