tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^10: ファイルパスの機種依存文字を取得する方法について
投稿日: 2014/12/11(Thu) 11:44
投稿者マサタロウ
>  TextOutW h, x, y, StrPtr(s), Len(s)
>  TextOutW h, x, y, StrPtr(Text), Len(Text)
GetOpenFileName関数で試しましたが、
半角中点は表示されたままでした。
For〜Next、Mid、Leftで、GetOpenFileName関数の
.lpstrFileプロパティのパスのみ取得する事ができました。
同様の方法で、GetOpenFileNameW関数のパスのみ取得する
事ができると思います。


> > 関数(DrawText)を使用してTextOutWを実行するのは、数値を取得するためですか?
> そもそも、今回のサンプルにある DrawText は『関数』ではありません。
DrawTextという関数があることは知りませんでした。
自作の関数と思いました。

Subプロシージャー DrawTextで、TextOutWに文字列の先頭アドレスを
指定すると文字列が描画できる仕組みがはっきりしません。
文字列変数が格納されている場所を指定する(StrPtr)と
文字列が描画できるということはわかります。


> > TextOutW関数で、.lpstrFileのプロパティが数値で表示されるため、
> > 型をString型に変更して上記のコードで実行すると、パス名を表示できました。
>
> それは、TextOutA を使う場合のやり方です。TextOutW では String にしてはいけません。
GetOpenFileNameW関数の.lpstrFileプロパティの内容が数値になります。
.lpstrFileプロパティの内容を文字列に変換できますか?

 DrawText Picture1.hDC, StrPtr(udtOFN.lpstrFile), 1, 0

では数値が表示されます。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。