Comment modifier un style de controle

Signaler
Messages postés
196
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
1 mai 2009
-
Messages postés
196
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
1 mai 2009
-
Bonjour, je osuhaite en utilisant uniquement les API en C++ modifier l'apparence d'un controle Edit en cours d'éxécution de mon programme. Je souhaite que lorsque l'utilisateur clique sur un bouton de commande de mon programme, le contre Edit dans lequel on peut écrire passe en mode lecture seule (grisé).
Mon petit programme contient uniquement une feuille avec une zone d'édition (edit) et un bouton (button). Je ne me veux pas me servir des MFC. Merci de votre aide.
LaPatoshe

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
SetWindowLong

ciao...
BruNews, MVP VC++
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Pour griser un Edit, il suffit de faire:
EnableWindow (hedit, 0);
Pour le dégriser on fait:
EnableWindow (hedit,1);
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
void ModifStyle(HWND hWnd, long lStyle, BOOL bAdd)
{
// exemple : ModifStyle(hWnd, WS_TABSTOP, 0); // enleve
if(bAdd) SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) | lStyle);
else SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~lStyle);
}

ciao...
BruNews, MVP VC++
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
C'est vrai que SetWindowLong() permet de modifier beaucoup de styles. S'il veut juste griser/degriser un controle, EnableWindow() est plus facile.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
en readonly, on conserve le clic droit et le 'copier' etc...

ciao...
BruNews, MVP VC++
Messages postés
196
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
1 mai 2009
2
Et bien merci à tous, je vais tester tout ça.
LaPatoshe