Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350835
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:02:20

映射模式有MM_LOMETRIC、MM_HIMETRIC、MM_LOENGLISH、MM_HIENGLISH、MM_TWIPS种。
它们默认的坐标原点都使在左上角。其区别在于每一个逻辑单位对应的物理大小不一样。
所对用的逻辑单位分别为0.1毫米,0.01毫米,0.01英寸,0.001英寸,1/1440英寸(0.00
07英寸)。
  我在窗体上放置一个ScrollBox,然后在这个ScrollBox上拖动图形控件作图。由于默认

坐标系是MM_TEXT,逻辑单位为象素,这样图形链接的时候很不精确,我想把我的作图区坐
标设置成MM_TWIPS,这样逻辑单位就是1/20象素,在两个图形控件相连时,可以很精确的
对齐了。请问具体改怎么设置?

我自己试着写了一下
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  SetMapMode(Form1->Canvas->Handle,MM_TWIPS);

}
//-------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   TVarRec tempvar1[2] = {X, Y};
  StatusBar1->Panels->Items[0]->Text=Format("当前位置: (%d, %d)", tempvar1, 2)
;
}
按理状态条上应该是以1/20象素为单位显示的坐标,可是,结果还是按象素显示,请问怎么在
窗体中成功实现坐标系的设置?
而且,如果我要设置ScrollBox的话,ScrollBox没有Canvas对象,那要怎么设置呢?



--------------------next---------------------

阅读(1015) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~