|
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編纂委員会
|