お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
OCXの中には、座標をTwipsで渡すメソッドを持つものがあるのですがDelphiではPixelsが使われています。 相互に使うために変換式を教えてください。

[A]
  Twips := Pixels * (1440 / PixelsPerInch);
                            ^^^^^^^^^^^^^
                            フォームのプロパティ

Twipsは1440分の1インチの単位ですが、画面の場合、スクリーンの設定によって
1インチ当り96Pixelsだったり、120Pixelsだったりしますので、フォームの
PixelsPerInchプロパティの値を考慮した値をピクセル値に乗じます
[例]

 procedure TForm1.F1Book1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var pRow,pCol,convInt : integer ;
begin
 with F1Book1 do
  begin
   convInt := 1440 div PixelsPerInch;
   TwipsToRC(X*convInt,Y*convInt,pRow,pCol) ;
   {XとYにconvIntを掛けているのはヒ゜クセルをTwipsに変換している為}

  if (pRow<>0) and (pCol<>0) then
   begin
    {・・省略・・}
   end;

  end;
end;


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会