掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エクスプローラーからファイルを移動・コピーするには? (ID:106743)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
うーーん少しはヘルプで調べてほしいですが、 福岡繋がりという事で、 まず >1.FileListBox上で「Ctrl」を押してドロップしたときにコピーさせたい。 OLEDragDrop時にShift変数にCtrlが押されているか情報が 入っているのでそこを見てあげれば良いです。 Private Sub File1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) If Shift = vbCtrlMask Then MsgBox "Ctrlキーを押したままドロップされました" End If End Sub >2.また「Ctrl」を押してる時に矢印と右下に「+」プラスが付いたい > マウスポインターにしたい。 マウスポインタを矢印&+のポインタにしたいと言うことですか? マウスポインタを変えることは出来ますが、 VBで用意されているポインタに希望のものが無いので、 どっかから入手してください。 入手したマウスポインタをFile1のMouseIcon プロパティに設定して Ctrlキーが押されている時だけそのマウスポインタにしてやれば良いわけです。 Ctrlキーが話された時に標準のポインタに戻すのも忘れずに。 Private Sub File1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyControl Then File1.MousePointer = vbCustom '99 ユーザー定義 End If End Sub Private Sub File1_KeyUp(KeyCode As Integer, Shift As Integer) File1.MousePointer = vbDefault ' 0 規定値 End Sub >3.ドロップされた時に、フォルダとファイルを識別した。 識別したいって事ですか?断言してるので違うのかな? ちなみにこれもやり方いくつかあるんですが、 VB関数を使うなら Dir関数のヘルプを見てください。 自分はAPI使ってやってますけど。 Private Declare Function PathIsDirectory Lib "SHLWAPI.DLL" Alias "PathIsDirectoryA" _ (ByVal pszPath As String) As Long ' ' ディレクトリであるかどうか ' Private Function IsDirectory(ByVal strFileName As String) As Boolean ' strFilename : チェックしたいディレクトリ名 ' 戻り値 : ディレクトリであればTrueを返す。 Dim lngResult As Long lngResult = PathIsDirectory(strFileName) IsDirectory = Not (lngResult = 0) End Function Private Sub Command1_Click() Dim strFileName As String strFileName = "C:\WINNT\Profiles\Administrator\My Documents\HEROPA\TestCls\SHLWAPI" Msgbox IsDirectory(strFileName) End Sub このAPIはInternet Explore 4.0以上がインストールされていないと 使えません。Win98以上ならデフォルトで入っているから問題ないでしょうが。 うーん これからは関数名やAPI名だけを教えるようにしようかな? 全部教えちゃうとその人の為にならないから。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.