Image (ou petite icone) dans champ de saisie
Developpeur WDF
Inscrit:
18/06/2006 13:54
Post(s): 106
Bonjour tout le monde =)

Après une petite recherche dans le forum, je n'ai malheureusement pas trouvé la réponse à ma question.

Tout comme mentionner dans le titre, je cherche à intégrer une petite image dans un champ de saisie (16x16).
Je ne veux pas superposer bêtement un champ image sur une zone de saisie, je veux bien intégrer cette image à ma zone de saise (interface que l'on voit couramment dans les softs, expl firefox et sa barre de recherche intégré).
Je suppose qu'il faut que je m'oriente du côté des APIs mais je n'ai aucunes pistes pour l'instant.

Si quelqu'un à des pistes ou une réponse à mon problème...

Bien cordialement
Kaer

Contribution le : 09/03/2007 13:51
Créer un fichier PDF de la contribution Imprimer


Re: Image (ou petite icone) dans champ de saisie
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Nullement besoin d'API pour faire cela.
il vous faut simplement modifier le style d'un champ de saisie de la manière suivante:
- Supprimer le cadre de la zone de saisie
- Appliquer au cadre exterieur du champ les styles de la zone de saisie
De façon à avoir l'impression que le champ de saisie englobe la partie libellé
Diminuer alors la partie libellé à la taille de l'image voulue

il vous suffit alors de charger l'image dans la partie libellé du champs de la manière suivante :

txt..Libellé = gCoord(1,1) + gImage("SXP18042.ico")

la fonction gCoord(x,y) permet de positionner l'image dans le champs
la fonction gImage(<Image>) permet de charger et d'afficher l'image

Attacher un fichier:



gif  ChampSaisie.GIF (1.97 KB)
98_45f171d5eadff.gif 220X45 px

Contribution le : 09/03/2007 15:38
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Image (ou petite icone) dans champ de saisie
Developpeur WDF
Inscrit:
18/06/2006 13:54
Post(s): 106
Thank you, c'est bon à savoir et ce truc va m'être utile néanmoins je suis un peu borné et après quelques heures de recherche j'ai reussit à trouver mon bonheur en VB et à convertir le code en Wlangage.

Mon but premier était d'insérer une image dans un champ de saisie sans pour autant que le texte se superpose à mon image dans le champ.

Après donc quelques recherches j'ai réussit à trouver comment insérer une "marge" dans un champ de saisie (cela fonctionne aussi avec les combos)

Voici le petit bout de code :

// CONSTANTES WINDEV, voir dans WDAPI dans l'onglet "constantes" pour avoir les valeurs WINDEV de ces constantes
//
// EC_LEFTMARGIN = &H1 -- marge gauche
// EC_RIGHTMARGIN = &H2 -- marge droite
// EC_USEFONTINFO = &HFFFF& -- Contient les valeurs par defaut des marges (pour les restaurer)
// EM_SETMARGINS = &HD3& -- A passer en param pour modifier les valeurs
// EM_GETMARGINS = &HD4& -- A passer en param pour reprendre les valeurs


// SendMessageA (lhWnd, EM_SETMARGINS, EC_LEFTMARGIN, lMargin)

// lhWnd , Handle du champ.
// EM_SETMARGINS, constante de message windows qui indique que l'on veut modifier la marge du champ.
// EC_LEFTMARGIN, constante windows, marge gauche, on indique que l'on veut modifier la marge gauche.
// lMargin, on passe une valeur de margage en pixel (expl 15)

RetourFonction est un entier // Type C :LRESULT
hWnd est un entier // Type C :HWND
Msg est un entier sans signe // Type C :UINT
wParam est un entier // Type C :WPARAM
lParam est un entier // Type C :LPARAM


// Handle du champ
hWnd = Handle(SAI_MONCHAMP)
// Type du message à envoyer
Msg = 211 // valeur windev de la constante windows
// wparam
wParam = 1 // valeur windev de la constante windows
// lparam
lParam = 20

// c'est parti...
RetourFonction=API("USER32","SendMessageA",hWnd,Msg,wParam,lParam)

Beaucoup de commentaires pour 3 lignes de codes mais c'est pas grave :D.

Voilà j'ai ma marge sur mon champ de texte, je place maintenant mon image tout simplement avec un champ image, ca suffira, j'ajoute quand même un petit :

// a chaque modification de mon champ de saisie (SAI_MONCHAMP)
IMG_MONIMAGE..visible = faux
IMG_MONIMAGE..visible = vrai


... car il ya quelques petits problèmes de rafraichissement quand on entre en saisie dans le champ.

Voilà ce que je voulais vraiment finalement.

Bien cordialement.

Attacher un fichier:



gif  LEFT_MARGE_API.gif (3.41 KB)
2005_45f1e44fa548d.gif 272X89 px

Contribution le : 09/03/2007 23:36
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2