有 handle就行啦,,,,,,,用winapi画,,,,,,,,,

解决方案 »

  1.   

    1. 以窗口句柄0提取HDC: GetDC
    2. 创建一个Canvas
    3. 将Canvas.Handle=DC
    4. 随便画吧
    5. 释放Canvas
    6. 释放DC
      

  2.   

    var
      MyCanvas:     TCanvas;
    begin
      hwndMap:= MapNavigator.Handle;
      hdcMap:= GetDC(hwndMap);  MyCanvas:= TCanvas.Create;
      MyCanvas.Handle:= hdcMap;
      MyCanvas.Pen.Color:= clRed;
      MyCanvas.Pen.Style:= psSolid;
    //  MyCanvas.Pen.Mode:= pmXor;
      MyCanvas.Pen.Mode:= pmCopy;
      MyCanvas.Brush.Style:= bsClear;
      MyCanvas.Rectangle(10, 10, 100, 100);  ReleaseDC(hwndMap, hdcMap);
    end;导航根据坐标变化自己实现
      

  3.   

    用TControlCanvas,关联控件就可以了!!!
    或者用Budi的方法,GetDC强制Draw即可。