16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:ContextMenuの表示"
この発言は #01162 Atelier Macchan さんのContextMenuの表示 に対するコメントです
コンテキストメニューの表示で不具合がありました。<(..)>
「PopupContextMenu」に複数のファイルを渡す場合に、フォルダが違ってる
ファイルを渡すと同一のフォルダにあるファイルとみなされます。
例えば引数に「c:\aaa\a.txt」「c:\bbb\b.txt」を渡すと、「c:\bbb\a.txt」
「c:\bbb\b.txt」として解釈されます。
「PopupContextMenu」でフルパスをフォルダとファイル名に分割してる
以下のところを、ドライブのルートとそれ以下のパスに分割してやれば
同じドライブのファイルである限り、フォルダが違っても大丈夫です。
(いっそのこと手続きのパラメータで、フォルダとファイルを分けて
渡すような仕様にしても良いかと思います。)
for i := 0 to FileCount - 1 do
begin
FDirName := ExtractFileDir (AFileName[i]);
FFileName := ExtractFileName(AFileName[i]);
↓
for i := 0 to FileCount - 1 do
begin
if Length(AFileName[i]) = 3 then
begin
FDirName := AFileName[i];
FFileName := '';
end
else
begin
FDirName := Copy(AFileName[i], 1, 3);
FFileName := Copy(AFileName[i], 4, MAX_PATH);
end;
JBC01362 アトリエ まっちゃん
「うたた寝子」
http://www.people.or.jp/~macchan/
Original document by Atelier Macchan 氏 ID:(JBC01362)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|