[R] ListView, désactiver le Drag and Drop

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
Strofe
Niveau 5
Niveau 5
Messages : 182
Enregistré le : ven. 26 sept. 2008 23:16
Localisation : Picardie, Oise, Beauvais
Status : Hors ligne

[R] ListView, désactiver le Drag and Drop

#1

Message par Strofe »

Bonjour

Après pas mal de recherche, je me permets de solliciter votre aide.

Je veux supprimer l'effet Drag and Drop d'un ListView.

Si je clique sur une ligne et que je déplace la souris, le mode drag and drop est présent.
► Afficher le texte
Par avance merci

Christophe
Modifié en dernier par Strofe le dim. 27 mars 2011 18:56, modifié 1 fois.
Y a pas de problème, y a que des solutions. Reste à les trouver.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] ListView --> Drag and Drop

#2

Message par Tlem »

Voici un exemple plus complet que le simple traitement du Drag&Drop (au cas ou ...) :
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Strofe
Niveau 5
Niveau 5
Messages : 182
Enregistré le : ven. 26 sept. 2008 23:16
Localisation : Picardie, Oise, Beauvais
Status : Hors ligne

Re: [..] ListView, désactiver le Drag and Drop

#3

Message par Strofe »

Bonsoir

Encore mieux que sur le plan. :D

Merci le prototype est opérationnel.

Je fais un test à l'échelle 1 dès demain matin.

Encore merci

Christohpe
Y a pas de problème, y a que des solutions. Reste à les trouver.
Avatar du membre
Strofe
Niveau 5
Niveau 5
Messages : 182
Enregistré le : ven. 26 sept. 2008 23:16
Localisation : Picardie, Oise, Beauvais
Status : Hors ligne

Re: [R] ListView, désactiver le Drag and Drop

#4

Message par Strofe »

Bonjour

Impeccable

Pour info voici le code complet. (sans les paramètres pour la base de données SQL)
► Afficher le texte
Encore merci :D

Christophe
Y a pas de problème, y a que des solutions. Reste à les trouver.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] ListView, désactiver le Drag and Drop

#5

Message par jchd »

En AutoIt avec une GUI standard, les ListViewItems ne sont pas "dropables" sauf code additionnel spécifique (avec WM_NOTIFY et $LVN_BEGINDRAG). Le curseur souris peut faire croire que le drag and drop est utilisable, mais ce n'est qu'un effet visuel.

Par contre, il y a deux choses qui me chiffoneraient assez dans la partie SQL. La première est que les littéraux ne sont pas correctement quotés :

Code : Tout sélectionner

    $sql &= "SELECT CodeArticle, CodeFamille, MotDirecteur, Designation1, Localisation FROM ARTICLE WHERE "
    $sql &= "CodeArticle Like '%" & $CdeArt & "%' AND "
    $sql &= "CodeFamille Like '%" & $CdeFam & "%' AND "
    $sql &= "MotDirecteur Like '%" & $MotDir & "%' AND "
    $sql &= "Designation1 Like '%" & $Des & "%' AND "
    $sql &= "Designation1 Like '%" & $Des1 & "%' AND "
    $sql &= "Localisation Like '%" & $Loc & "%' "
Outre le fait qu'il y a deux critères LIKE (reliés par AND) sur la même colonne Designation1 (fort étrange), outre le fait que tous les critères soient LIKE (ce qui perso me semble peu probable et peu efficace), on doit s'imposer de quoter les littéraux texte avec une fonction du genre :

Code : Tout sélectionner

Func X($s)
    Return ("'" & StringReplace($s, "'", "''", 0, 1) & "'")
EndFunc   ;==>X
qui double toute apostrophe [simple quote] à l'intérieur du littéral texte.
Si par exemple on a une désignation contenant une simple quote (apostrophe pour nous) :

Code : Tout sélectionner

$Des = "Coude 45° de guide d'onde série UGA56"
on doit soumettre cette partie comme ceci :

Code : Tout sélectionner

    $sql &= "Designation1 Like " & X("%" & $Des & "%") & " AND "
sinon la quote de d'onde termine le littéral prématurément.

Par ailleurs, en contexte professionnel, attention à l'injection de code SQL (cf. Google).

Ces deux écueils sont normalement contournés en utilisant des paramètres (?) dans le SQL et en faisant des BIND des valeurs littérales. Ces fonctions ne sont pas toujours disponibles (sans bugs) en ODBC et pour info je n'ai pas implémenté ces possibilités dans l'UDF SQLite (car l'interface avec AutoIt devient lourde et moins efficace en utilisation moyenne).
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Strofe
Niveau 5
Niveau 5
Messages : 182
Enregistré le : ven. 26 sept. 2008 23:16
Localisation : Picardie, Oise, Beauvais
Status : Hors ligne

Re: [R] ListView, désactiver le Drag and Drop

#6

Message par Strofe »

Bonsoir

Pour la simple quote ('), je n'y avais pas pensé.... Je regarde dès demain pour intégrer cela. Merci.

Par contre pour les like et and, je suis formel, c'est excellent. (Base de données Sql Server 2K)

Le but et d'avoir une interrogation avec un seul filtre, leus utilisateurs donnent les critères qui les interessent.

Donc s'il n'y a pas de désignation le critère vaut %% qui renvoit tout... Simple astuce....
De plus 2 fois designation à cause du manque de rigueur..

Ex : Vis Inox de 3x20 ----- ou ------ Vis 3x20 Inox ----- grrrrrrr

A+
Y a pas de problème, y a que des solutions. Reste à les trouver.
Répondre