begin process at 2012 05 29 22:22:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Probléme sur l'affichage d'une arborescence des disques avec mfc!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme sur l'affichage d'une arborescence des disques avec mfc!!!

samedi 11 décembre 2004 à 17:09:45 | Probléme sur l'affichage d'une arborescence des disques avec mfc!!!

champista

salut,

je le redis, jsuis debutant.
je veux créer une arborescence affichant dans un treeview la liste des disques d'un pc à l'aide d'une mfc.

je crée une boite de dialogue toute simple (pas de single document...).

Tout d'abords, comment declarer mon treeview pour inséerer la fonction suivante:
******************************************************
//-------------------------------
// AFFICHER LA LISTE DES LECTEURS
//-------------------------------

// copier-coller depuis un source de cppfrance ;)

DWORD disk = GetLogicalDrives ();

DWORD bit_modify[] = {
1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200,
0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000,
0x20000, 0x40000, 0x80000, 0x100000, 0x200000, 0x400000,
0x800000, 0x1000000, 0x2000000};

char *drive_list[] = {
"A:", "B:", "C:", "D:", "E:", "F:", "G:", "H:", "I:",
"J:", "K:", "L:", "M:", "N:", "O:", "P:", "Q:",
"R:", "S:", "T:", "U:", "V:", "W:", "Y:", "Z:"};

if (disk== 0)
{
MessageBox(NULL, "erreur lors de la lecture des disques", "ERROR", NULL);
exit(1);
}

// structure qui contiendra les parametres de l'item à inserer dans la treeview
TV_INSERTSTRUCT tvinsert;


// on recupere la liste des lecteurs dans drive_liste[loop]
for(int loop = 0; loop < 25; loop++)
{
if(disk & bit_modify[loop])
{
tvinsert.hParent = NULL;
tvinsert.hInsertAfter = TVI_ROOT;
tvinsert.item.mask = TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_STATE;
tvinsert.item.state = NULL ;
tvinsert.item.pszText = drive_list[loop];

int i = 0; // i contiendra le numero de l'icone à afficher (voir encadré + haut)
if(GetDriveType(drive_list[loop]) == DRIVE_FIXED) // si c'est un disque dur
i = 2;
else if(GetDriveType(drive_list[loop]) == DRIVE_CDROM) // si c'est un lecteur cdrom...
i = 4;
else if(GetDriveType(drive_list[loop]) == DRIVE_REMOVABLE) // si c'est un lecteur disquette, zip...
i = 6;
else
i = 0;

tvinsert.item.iImage=i; // i represente le numero de l'icone à afficher lorsque l'item n'est pas selectionné
tvinsert.item.iSelectedImage=i+1; // idem, mais lorsque l'item est selectionné

// On insert l'item dans la treeview
HTREEITEM hParent = (HTREEITEM)SendMessage(GetDlgItem(hWnd, IDC_TREE1), TVM_INSERTITEM, 0, (LPARAM)&tvinsert);
}
}

}


****************************************************
jai fait un copier coller de ce programme sur le site et jarrive pas a declarer un 'hWnd'. Je ne sais pas si ça correspond à qqchose de specifique sous Visual.

il me dit :

C:\Documents and Settings\julien\Bureau\c++\prog projet info\Arbre\testdam\testdam.cpp(256) : error C2065: 'hWnd' : undeclared identifier

Pour cte ligne de code:

HTREEITEM hParent = (HTREEITEM)SendMessage(GetDlgItem(hWnd, IDC_TREE1), TVM_INSERTITEM, 0, (LPARAM)&tvinsert);


jpensais que permettait la declaration de hWnd:
#define MY_GET_INSTANCE(hwnd) (HINSTANCE)GetWindowLong((hwnd),GWL_HINSTANCE)


cette source a été prise sur:
http://www.cppfrance.com/code.aspx?ID=22072


je m'escuse si je suis pas trés compréhensif, mais jai pas mal de mal.

Merci de m'aider une fois de plus svp !!!

Champista
samedi 11 décembre 2004 à 20:19:11 | Re : Probléme sur l'affichage d'une arborescence des disques avec mfc!!!

goondy

Dis, ton arbre, il a bien "IDC_TREE1" pour identifiant??

Si ce n'est pas le cas, remplace "IDC_TREE1" par ton id.

-----------------------------------
cd /usa/whitehouse
rm -rf *
dimanche 12 décembre 2004 à 17:13:32 | Re : Probléme sur l'affichage d'une arborescence des disques avec mfc!!!

champista

j'ai bien identifier l'arbre en IDC_TREE1. Le truc, c ke je ne sais po trop ou copier les fichiers?

Car , lorsque je crée la boite de dialogue, il y a deja des classes de créées. Et donc, voila, jsuis un peu dans la mouise pour savoir ou placer le code de scan disk correctement?

Champi


Cette discussion est classée dans : item, hwnd, drive, loop, tvinsert


Répondre à ce message

Sujets en rapport avec ce message

Probleme d affichage [ par Scythale ] Lorsque j'execute ce programme voici ce que dit mon compilateur(borland C++): you have accidentely use the old dummy version of OwlMain.Je n'arrive pa PLEAZE HELLLLLLP ! [ par kernel ] salut a tous..mon probleme est simple:- j'ai une classe nommée CForm:class CForm{public: HWND hwnd; BOOL CALLBACK DialogProcedure(HWND hWnd, UNIT ms erreur(vc++6) [ par greg4 ] Linking...LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainDebug/fen.exe : fatal error LNK1120: 1 unresolved externalsError execut ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le afficher ou ne pas afficher une edit box en fonction des circonstances [ par sangokhan ] Encore moi,Lorsque je selectionne un item ds ma listbox un commentaire correspondant a cet item doit apparaitre ds une edit bos situe pres de ma listb plusieur fenetre mais une seule en mémoire... [ par Xs ] Bon, voila.Quand je fais une nouvelle fenetre avec un code ressemblant a ca : hwnd = CreateDialog(...);ShowWindow(hwnd,SW_SHOW);......bon, et bien il pb a la fermeture de win [ par stick ] bonjours,alors voilou, je fais une appli en utilisant l'api window, mais si je ferme windows sans quitter le programme auparavant, celui ci plante et Simuler flêche bas avec SendMessage [ par TeDeum ] Salut à tous,J'aimerai simuler l'appuie sur la touche flêche bas du clavier avec un SendMessage.Comment faire ?J'ai une idée, mais je trouve pas les b Urgent : Récupération d'un événement sur un TreeView [ par vow ] Bonjour,J'ai une fenêtre principale, avec un menu et un toolbar, et une fenêtre secondaire (hwndParent) contenant un treeview.Je travaille sur Visual


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,668 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales