Message de rapport:
 

Re: Image (ou petite icone) dans champ de saisie

Sujet: Re: Image (ou petite icone) dans champ de saisie
par Kaer sur 9/3/2007 23:36:45

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.
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