Accéder à GetDlgItemText depuis du code écrit en c [Résolu]

Signaler
Messages postés
5
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
2 août 2007
-
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Rebonjour à tous.


Je souhaiterais accéder à la fonction API "SetDlgItemText" depuis une fonction C.

L'idée c'est que TC5747_Init() affiche un texte dans edit box ( ex: essai) via SetDlgItemText.


J'ai une classe (C++) CCAM de type CFormView dans CAM.cpp:
void CCAM::OnInitCamI2c()

{
    TC5747_Init(); //fonction écrite en C

}


et TC5747_Init() qui se trouve dans CAM_init_template.c:
void TC5747_Init( void )

{
    CCAM_TC5747 cam;
    cam.SetDlgItemText(IDC_UPLOAD_ FIRMWARE,"essai");

}

faisant  #include "CAM.h" dans CAM_init_template.h, j'ai "error C2065: 'CCAM_TC5747' : undeclared identifier" comme erreur.


Quelqu'un saurait-il comment faire ?

Merci par avance pour vos réponses.

3 réponses

Messages postés
5
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
2 août 2007

Salut Nico,

Merci pour ta réponse. Ca à le mérite d'être clair. Je suis justement en train d'utiliser l'api SetDlgItemText
directement sans passer par la classe. Je but sur le handle de ma fenêtre.
Je vais y arriver un jour.
A++.b
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
3
Bonjour,

Comme je viens de le demander dans une de mes questions :
http://www.cppfrance.com/infomsg_EST-POSSIBLE-CREER-CLASS_922228.aspx#2

Il n'existe pas de class en C donc le fait que ton programme ne se compile pas est normal.

Enfin je pense.

Nico</gras>
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Lorsque tu as créé ton controle edit, tu as du mettre au 8eme argument de la fonction CreateWindowEx() (ou 7eme pr CreateWindow() ) le handle (qui permet de controler un "composant" windows) de la fenetre parente à ton controle (fenetre qui contient ton controle :])
Le 1er parametre de SetDlgItemText() est le handle de cette fenetre parente.

Au passage, pk voulais tu utiliser SetDlgItemText dans une classe ? Il n'appartient à aucune classe (sauf si tu implémentes une méthode du meme nom dans une classe), il fait parti des API windows qui sont toutes écrites en C (no class comme l'a dit ton coupain :D)