begin process at 2008 07 21 02:05:00
1 213 553 membres
22 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DRAG AND DROP DE WINDOWS VERS APPLICATION SUR UN OU PLUSIEURS COMPOSANTS PARTICULIERS


Information sur la source

Catégorie :Trucs & Astuces Classé sous : drag, drop, particulier, windows, composant Niveau : Débutant Date de création : 25/05/2007 Date de mise à jour : 25/05/2007 10:20:48 Vu / téléchargé: 2 769 / 307

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


Description

Code permettant de gérer le drag and drop de windows vers votre application en choisissant sur quel composant le drop doit avoir lieu

Source

  • procedure TForm1.WMDropFiles(var Msg: TMessage);
  • var hDeposer: THandle;
  • CompoMemo:Tmemo;
  • countFiles, i: integer;
  • FileName:array [0..255] of char;
  • ddpoint:Tpoint;
  • begin
  • CompoMemo:=nil;
  • filename:='';
  • //Récupérer dans hDeposer le handle envoyé par le message WM_DROPFILES
  • hDeposer := THandle(Msg.wParam);
  • //Récupérer le point où la souris à déposer le où les fichiers
  • DragQueryPoint(hdeposer,DDPoint);
  • //Récupérer le composant sous ce point
  • if FindVCLWindow(ClienttoScreen(DDPOINT)) is tmemo then begin
  • Compomemo:=TMemo(FindVCLWindow(ClienttoScreen(DDPOINT)));
  • end;
  • //nombre de fichier dans le drag
  • countFiles := DragQueryFile(hDeposer, UINT(-1), nil, 0);
  • if compomemo<>nil then
  • for i := 0 to pred(countFiles) do
  • begin
  • //Déterminer le nom du ième fichier déposé
  • DragQueryFile(hDeposer, i,(FileName), length(filename));
  • if Filename<>'' then begin
  • //Ajouter le nom du fichier
  • CompoMemo.Lines.Add(Filename);
  • end;
  • end;
  • DragFinish(hDeposer);
  • end;
procedure TForm1.WMDropFiles(var Msg: TMessage);
var hDeposer: THandle;
  CompoMemo:Tmemo;
    countFiles, i: integer;
    FileName:array [0..255] of char;
    ddpoint:Tpoint;
begin
  CompoMemo:=nil;
  filename:='';
  //Récupérer dans hDeposer le handle envoyé par le message WM_DROPFILES
  hDeposer := THandle(Msg.wParam);
    //Récupérer le point où la souris à déposer le  où les fichiers
  DragQueryPoint(hdeposer,DDPoint);
  //Récupérer le composant sous ce point
  if FindVCLWindow(ClienttoScreen(DDPOINT)) is tmemo then begin
        Compomemo:=TMemo(FindVCLWindow(ClienttoScreen(DDPOINT)));
  end;
  //nombre de fichier dans le drag
  countFiles := DragQueryFile(hDeposer, UINT(-1), nil, 0);
  if compomemo<>nil then
    for i := 0 to pred(countFiles) do
    begin
    //Déterminer le nom du ième fichier déposé
      DragQueryFile(hDeposer, i,(FileName), length(filename));
        if Filename<>'' then begin
             //Ajouter le nom du fichier
             CompoMemo.Lines.Add(Filename);
        end;
    end;
  DragFinish(hDeposer);
end;
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

25 mai 2007 10:20:49 :
Ajout du code
  • signaler à un administrateur
    Commentaire de jeromefer le 13/10/2007 20:45:45

    Bonjour a tous.

    Merci beaucoup pour cette exellente source.
    Tres bien commentee. Bravo.

    Jerome

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS