• ベストアンサー

TabbedTextOutの使用法???

C++でTabbedTextOutを使用方法を解説している資料を探しております 特にパラメータリストの後半にあるnTabPositions、lpnTabStopPositions、nTabOriginの3ケの関係がイマイチ判然としません これを理解出来るように説明して頂けるか、サンプルプログラムをご紹介頂けると大変助かります 宜しくお願い申し上げます

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まずは,基本のMSDN。 MSDN: TabbedTextOut function http://msdn.microsoft.com/en-us/library/windows/desktop/dd145129 MSDN読んで,テストコードを書いてみることが,API等を理解するための基本的な手順です。 ・nTabPositions lpnTabStopPositionsに含まれる要素の数です。 配列要素数を指定する,ということだけなので,細かい説明は省略します。 ・lpnTabStopPositions 論理ユニット単位での,タブストップ位置です。 1つだけ指定した場合は,タブストップ位置を指定した値ごとに設定します 2つ以上指定した場合は,タブストップ位置を指定した値に設定します int nTabStopPositions[] = { 100 }; としてnTabStopPositionsを引数に渡した場合,1つだけですから, 100, 200, 300, 400, 500, ... がタブストップ位置になります。 int nTabStopPositions[] = { 100, 250 }; としてnTabStopPositionsを引数に渡した場合,2つあるので, 100, 250 がタブストップ位置になります。 ・nTabOrigin 論理ユニット単位での,タブ計算の開始位置です。 int nTabStopPositions[] = { 100 }; をlpnTabStopPositionsに指定した場合を想定します。 nTabOriginに0を指定した場合,タブストップ位置は 100, 200, 300, 400, 500, ... となります。 nTabOriginに50を指定した場合,タブストップ位置は 150, 250, 350, 450, 550, ... となります。また,nTabOriginに-50を指定した場合,タブストップ位置は 50, 150, 250, 350, 450, ... となります。 タブストップ位置と引数xは独立しているため,x座標の起点が0でない場合はこの値に値を指定してタブストップ位置を移動します。

sato-may
質問者

お礼

ありがとうございます 書斎の片隅で一人でパソコンに向かっておりますと、簡単なことでもなかなか理解することが出来ません むしろ簡単な事柄であればあるほど、どこにも説明がありません 常識だからでしょう 今回のTab出力も同様です 一週間以上もアチコチ調べました でも分かりませんでした ありがとうございました おかげで一発解決になりました 蛇足】今回頂いたご回答をMSDNに掲載してやりたい程です 不親切なMSDNなど1000回読んでも理解出来る訳がありません 頂いたご回答は一読すれば完全に把握できます

関連するQ&A