名前 題名 ▼ Mr.XRAYさん > うーむ.どうしてもエラーが発生する状況を作れません. > しばらく頭を休めます. > 一応テスト環境は,Windows XP(SP3) + Delphi 6 Proです > > http://mrxray.on.coocan.jp/Delphi/plSamples/812_ExplorerTest.htm#01 > のリスト1のテストプログラムにコンテキストメニューコンポを追加 > してテストしました. > > PopupMenuにplContextMenuコンポを設定し, > plContextMenuコンポのOnPopupイベントに以下のコードを追加しました > > procedure TForm1.plContextMenu1Popup(Sender: TObject); > var > i : Integer; > begin > plContextMenu1.Files.Clear; > plContextMenu1.Directory := plFileList1.ExpandFolder; > for i := 0 to plFileList1.CopyFilesList.Count - 1 do begin > plContextMenu1.Files.Add(ExtractFileName(plFileList1.CopyFilesList[i])); > end; > end; > > もうひとつは,マウスのボタンダウンの以下のコードです. > > procedure TForm1.plFileList1MouseDown(Sender: TObject; > Button: TMouseButton; Shift: TShiftState; X, Y: Integer); > var > APos : TPoint; > i : Integer; > begin > if Button=mbRight then begin > plFileList1Click(nil); > > GetCursorPos(APos); > plContextMenu1.Files.Clear; > plContextMenu1.Directory := plFileList1.ExpandFolder; > for i := 0 to plFileList1.CopyFilesList.Count - 1 do begin > plContextMenu1.Files.Add(ExtractFileName(plFileList1.CopyFilesList[i])); > end; > plContextMenu1.Popup(APos.X, APos.Y); > > > // //マウスの座標値をplFileList1の座標値に変換 > // APos := plFileList1.ClientToScreen(Point(X, Y)); > // if plFileList1.Selected = nil then begin > // PopupMenu2.Popup(APos.X, APos.Y); > // end else > // if plFileList1.SelCount = 1 then begin > // PopupMenu1.Popup(APos.X, APos.Y); > // end; > end; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link