• 締切済み

パスの省略形を作成するには

よく、長いパスを表示するときに「c:\...\tmp\name.txt」のように、パス名の途中を「\...\」で省略して表示しますが、この省略形のパスを作成するAPI、サンプル等がありましたら、教えて頂けませんでしょうか。 WindowsNT4でVC++6.0を使って開発しております。

みんなの回答

回答No.3

shlwapi.dll version 4.71以降が使用できるという条件下であれば、 PathCompactPath()/PathCompactPathEx()で、作成できますよ。 msdnの解説を参考にしてください。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/shlwapi/path/pathcompactpath.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/shlwapi/path/pathcompactpathex.asp

参考URL:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/shlwapi/path/path.asp
akubiII
質問者

お礼

とても参考になりました。 ありがとうございました。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

補足です。 DT_MODIFYSTRING をいっしょに指定すれば、出力した文字列を取得できるとのことです。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

文字列を作成するのではないのですが、DrawText()で、省略形文字列を出力することは可能です DT_PATH_ELLIPSIS を指定すればOKです。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_drawtext.htm
akubiII
質問者

お礼

お礼を書いたつもりだったのですが、、まさか書き忘れておりました。 大変失礼しました。 DrawTextで指定できるとは以外で、参考になりました。 ありがとうございました。

関連するQ&A