Encore 2 questions sur RealBasic...

Lonesome Boy

Membre actif
18 Mars 2000
132
0
Salut tout le monde (et en particulier Lao Tseu et Steg)!

J'ai encore 2 questions sur REALBasic.
La première: je n'arrive pas à gérer le glisser-déposer de plusieurs documents ou de dossiers sur l'icône de mon application. J'arrive à gérer le glisser-déposer lorsqu'il n'y a qu'un seul fichier (en faisant variable=item dans le "OpenDocument" de mon application), mais pas quand il y en a plusieurs. Je suis parvenu à le gérer sur ma fenêtre, grace à la fonction "NextItem". Hors il n'y a pas de fonction équivalente dans l'OpenDocument de mon "app" (classe: application).
Voici le code que j'utilise pour gérer le glisser-déposer sur ma fenêtre:

dans "Open":
me.acceptfileDrop("Tous les types")
me.acceptfileDrop "TEXT"

dans "DropObjects":
if obj.Folderitemavailable then
Do
if obj.folderitem.directory then
app.dragfiles.append obj.folderitem //dragfiles est un tableau de folderitems//
app.dragfolder //dragfolders est une méthode//
else
app.files.append obj.folderitem //files est un tableau de flderitems//
end if
Loop Until Not Obj.NextItem
end if

Ce code marche parfaitement. J'aimerais trouver un équivalent, mais pour le drag&drop sur l'icône de mon application.

Ensuite, comment accéder à une icône de fichier avec REALBasic? Les icônes 32bits sont dans les ressources de type "icns", les grande icônes classiques sont dans les ressources de types "icI8", les icônes de certains fichiers sont contenues dans les ressources de leur application et non dans leurs propres ressources... Bref, je ne sais pas comment faire. Je voudrais juste afficher l'icône que l'on voit affichée sur le bureau dans un canvas.

Merci d'avance!
 
Salut

En relisant ton code, et en jetant un coup d'oeil dans la doc...
Si OpenDocument accepte qu'on lui passe un FolderItem de type Directory, ça
devrait marcher... Sinon, c'est sans espoir (OpenDocument est surtout fait
pour démarrer l'appli à partir d'un document...)

//Tu rajoute la méthode où tu veux
Sub AddFile (File as FolderItem)

Dim i as Integer

If File.Directory then
For i = 1 to File.Count
If File.Item(i).Directory Then
AddFile(File.Item)
Else
App.Files.Append(File.Item(i))
End If
Next
Else
App.Files.Append(File.Item(i))
End if

End Sub

//Dans ton appli
Sub OpenDocument(File as FolderItem)
AddFile(File)
End Sub




------------------
--
laosteu
[email protected]
--