Comment puis-je obtenir et définir la propriété en lecture seule d'une zone d'édition?
Comment puis-je obtenir et définir la propriété en lecture seule d'une zone d'édition?
OriginalL'auteur | 2009-01-20
Vous devez vous connecter pour publier un commentaire.
Le CEdit classe a un SetReadOnly méthode qui peut être appelée au moment de l'exécution. Les détails sur la MSDN: http://msdn.microsoft.com/en-gb/library/aa279328(SV.60).aspx
Comment allez-vous l'appeler? Si vous êtes en train de faire quelque chose comme GetDlgItem(bla)->SetReadOnly, alors vous aurez probablement un message d'erreur comme ça, parce que GetDlgItem ne retourne pas une CEdit.
Oui, c'est ce que je fais. N'est-ce pas la façon habituelle de faire cela? Ce qui est une autre façon? TIA
Probablement la meilleure façon est d'utiliser l'assistant de classe pour définir une variable de membre pour la ou les contrôles que vous souhaitez modifier et manipuler le contrôle d'édition. Vous pourriez probablement cast le CWnd* pour un CEdit*, mais je ne voudrais pas sauf si vous êtes juste de sortir d'autres options.
En fait casting de CWnd* C* est idiomatiques MFC. Juste l'une des nombreuses raisons pour lesquelles il ne reçoit pas le respect.
OriginalL'auteur Steve Beedie
Cela va le mettre en lecture seule.
C'est 2 WinApi des appels, utiliser SendDlgItemMessage avec cet indicateur 🙂
A travaillé comme un charme dans delphi.
OriginalL'auteur kobkob
À partir de la fenêtre de conception:
cliquez-droit sur la zone d'édition, puis sélectionnez propriétés.
Sa dernière option sur l'onglet Styles.
OriginalL'auteur yhw42