Onglets

victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 22 déc. 2005 à 18:53
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 24 déc. 2005 à 00:07
Bonjour,


Je veux récupérer le texte d'un onglet. Quand je met le code ci-dessous le programme plante pourquoi ?



HWND returned = FindWindowEx(parent,NULL,"SysTabControl32","");

if (returned==NULL) return;



TCITEM tie;

ZeroMemory(&tie, sizeof(tie));

char Text[250];

int count, idx;



tie.mask=TCIF_TEXT;

tie.pszText=Text;

tie.cchTextMax=250;

idx=TabCtrl_GetCurSel(returned);

if (idx != -1)

{

TabCtrl_GetItem(returned,idx,&tie);

MessageBox(hwnd,Text,0,0);

}

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com

16 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
22 déc. 2005 à 21:28
Salut,

Il faut afficher tie.pszText plutot que Text, car le message TCM_GETITEM ne rempli pas forcement ton buffer mais il change la valeur de pszText.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
22 déc. 2005 à 21:40
C'est pas ce que semble dire MSDN, puisqu'il faut spécifier ce champ avant l'appel.
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
22 déc. 2005 à 21:50
Salut,

Dans remarques: "If the TCIF_TEXT flag is set in the
mask member of the TCITEM structure, the control may change the pszText member of the structure to point to the new text instead of filling the buffer with the requested text."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
22 déc. 2005 à 21:59
Effectivement, au temps pour moi
Pour tester, j'essaie de faire ca sur un Onglet qui est dans un autre processus. (Je fais avec l'onglet de "Affichage de Propriétés).
Dans ce cas on n'a pas le droit d'appeler TabCtrl_GetItem?
Mon appel à TabCtrl_GetCurSel marche bien, mais l'appel à TabCtrl_GetItem fait planter mon application, et la fenêtre contenant l'onglet est détruit)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
22 déc. 2005 à 22:07
Salut,

Ah oui j'avais pas pensé a ca...

Si le tab se trouve dans un autre processus, on ne peut pas utiliser
directement ces messages puisque les pointeurs &tie, Text et
compagnies ne seront pas valide dans le processus cible. Il faut alors
passer par VirtualAllocEx, ReadProcessMemory..
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
22 déc. 2005 à 22:11
Ca c'est pour moi, j'imagine que victorcoasne utilise un tab qui est dans son processus. Je trouve ca quand même un peu bizarre ce que dit MDSN: peut être qu'il va remplir le buffer, ou pas...
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
23 déc. 2005 à 15:24
Bonjour,


Non, en effet, le tab n'est pas dans le même processus et je voudrais savoir alors comment utiliser l'allocation virtuelle.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 15:33
C'est très bien fait dans ce code:
http://www.cppfrance.com/code.aspx?ID=22940
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
23 déc. 2005 à 15:36
Au temps pour moi ou autant pour moi ?

Les 2 se disent, mais j'ai jamais su faire la différence :)

if(!Meilleur("Joky")) return ERREUR;<
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 15:39
Les deux se disent car ca se prononce pareil, mais le deuxième ne s'écrit pas, la est la différence
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
23 déc. 2005 à 15:48
http://www.langue-fr.net/index/A/au_temps-autant.htm

Il s'écrit mais on privilégie le au temps pour moi
if(!Meilleur("Joky")) return ERREUR;<
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
23 déc. 2005 à 15:48
Bonjour,


On peut pas m'adapter mon code avec une allocation virtuelle SVP ?

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 15:50
C'est qui "on"?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 15:52
Joky, tu as raison mais je ne vais pas te dire la formule ici, car tu n'est pas mon supérieur hiérarchique :)
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
23 déc. 2005 à 16:02
Bonjour,


"On" désigne l'aimable et serviable personne qui voudrait bien le faire.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
24 déc. 2005 à 00:07
Bonjour,


Personne pour m'adapter le code en version alouage virtuel ou pour me montrer comment on fait ?

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
0
Rejoignez-nous