I'm developing a simple Window application which tries to use Tree-View Control (http://msdn.microsoft.com/library/de...w/treeview.asp).
The main routines are (I don't write the full code because it would make the post a little bit unreadable):
I'm using Dev-C++ 5.0 beta 9 (4.9.9.0) with Mingw/GCC 3.3.1.Code:hwndDialog = CreateDialog(GetModuleHandle(NULL), "DIALOG_0", hwnd, dialogProc); CreateATreeView(hwndDialog, ""); ... ... HWND CreateATreeView(HWND hwndParent, LPSTR lpszFileName) { RECT rcClient; HWND hwndTreeView; InitCommonControls(); GetClientRect(hwndParent, &rcClient); hwndTreeView = CreateWindowEx( 0, WC_TREEVIEW, "Tree View", WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES, 0, 0, rcClient.right, rcClient.bottom, hwndParent, (HMENU)ID_TREEVIEW, hInstance, NULL); return hwndTreeView; } BOOL InitTreeViewImageLists(HWND hwndTreeView) { HIMAGELIST himl; HICON hIcon; if ((himl = ImageList_Create(32, 32, FALSE, 2, 0)) == NULL) return FALSE; hIcon = LoadIcon(NULL, "folder.ico"); if (hIcon==NULL) return FALSE; ImageList_AddIcon(himl, hIcon); hIcon = LoadIcon(NULL, "folder_closed.ico"); if (hIcon==NULL) return FALSE; ImageList_AddIcon(himl, hIcon); TreeView_SetImageList(hwndTreeView, himl, TVSIL_NORMAL); return TRUE; }
After including commctrl.h I tried to build de proyect and I got the following error:
Somehow I concluded (I don't remember why, because I spent a lot of time trying and trying different things and reading tutorials and articles) that I had to add the comctl32.lib to the proyect. Was I right? I don't know. The first problem was that I had no idea about where I could find comctl32.lib. I searched my PC, just for trying, and since I got installed Microsoft Platform SDK (http://www.microsoft.com/msdownload/...sdk/sdkupdate/), I found out that comctl32.lib was in the "\Microsoft SDK\Lib" folder.Code:Compilador: Default compiler Building Makefile: "C:\Mis C\treeviewcontrol01\Makefile.win" Ejecutando make clean rm -f treeviewcontrol01.o wutil.o treeviewcontrol01_private.res treeviewcontrol01.exe gcc.exe -c treeviewcontrol01.c -o treeviewcontrol01.o -I"C:/Dev-Cpp/include" -fexceptions -O3 gcc.exe -c wutil.c -o wutil.o -I"C:/Dev-Cpp/include" -fexceptions -O3 windres.exe -i treeviewcontrol01_private.rc -I rc -o treeviewcontrol01_private.res -O coff gcc.exe treeviewcontrol01.o wutil.o treeviewcontrol01_private.res -o "treeviewcontrol01.exe" -L"C:/Dev-Cpp/lib" -mwindows treeviewcontrol01.o(.text+0x261):treeviewcontrol01.c: undefined reference to `InitCommonControls@0' treeviewcontrol01.o(.text+0x30d):treeviewcontrol01.c: undefined reference to `InitCommonControls@0' treeviewcontrol01.o(.text+0x3e1):treeviewcontrol01.c: undefined reference to `ImageList_Create@20' treeviewcontrol01.o(.text+0x421):treeviewcontrol01.c: undefined reference to `ImageList_ReplaceIcon@12' treeviewcontrol01.o(.text+0x455):treeviewcontrol01.c: undefined reference to `ImageList_ReplaceIcon@12' make.exe: *** [treeviewcontrol01.exe] Error 1 Ejecución Terminada
After including comctl32.lib to my proyect I got the following errors:
Then I said to myself that maybe I had to use the CommCtrl.h within the Platform SDK so I changed:Code:Compilador: Default compiler Building Makefile: "C:\Mis C\treeviewcontrol01\Makefile.win" Ejecutando make clean rm -f treeviewcontrol01.o wutil.o treeviewcontrol01_private.res treeviewcontrol01.exe gcc.exe -c treeviewcontrol01.c -o treeviewcontrol01.o -I"C:/Dev-Cpp/include" -fexceptions -O3 gcc.exe -c wutil.c -o wutil.o -I"C:/Dev-Cpp/include" -fexceptions -O3 windres.exe -i treeviewcontrol01_private.rc -I rc -o treeviewcontrol01_private.res -O coff gcc.exe treeviewcontrol01.o wutil.o treeviewcontrol01_private.res -o "treeviewcontrol01.exe" -L"C:/Dev-Cpp/lib" -mwindows "../../Archivos de programa/Microsoft SDK/Lib/ComCtl32.Lib" treeviewcontrol01.o(.text+0x3e1):treeviewcontrol01.c: undefined reference to `ImageList_Create@20' treeviewcontrol01.o(.text+0x421):treeviewcontrol01.c: undefined reference to `ImageList_ReplaceIcon@12' treeviewcontrol01.o(.text+0x455):treeviewcontrol01.c: undefined reference to `ImageList_ReplaceIcon@12' make.exe: *** [treeviewcontrol01.exe] Error 1 Ejecución Terminada
and I wrote:Code:#include <commctrl.h>
[code]#include "..\..\Archivos de programa\Microsoft SDK\include\CommCtrl.h"[code]
...and I got more and more errors:
What am I missing? Can't Tree-View control be used?Code:Compilador: Default compiler Building Makefile: "C:\Mis C\treeviewcontrol01\Makefile.win" Ejecutando make clean rm -f treeviewcontrol01.o wutil.o treeviewcontrol01_private.res treeviewcontrol01.exe gcc.exe -c treeviewcontrol01.c -o treeviewcontrol01.o -I"C:/Dev-Cpp/include" -I"C:/Archivos de programa/Microsoft SDK/include" -fexceptions -O3 In file included from treeviewcontrol01.h:6, from treeviewcontrol01.c:1: ../../Archivos de programa/Microsoft SDK/include/CommCtrl.h:352:1: warning: "CDN_FIRST" redefined In file included from C:/Dev-Cpp/include/windows.h:86, from treeviewcontrol01.h:4, from treeviewcontrol01.c:1: C:/Dev-Cpp/include/commdlg.h:27:1: warning: this is the location of the previous definition In file included from treeviewcontrol01.h:6, from treeviewcontrol01.c:1: ../../Archivos de programa/Microsoft SDK/include/CommCtrl.h:353:1: warning: "CDN_LAST" redefined In file included from C:/Dev-Cpp/include/windows.h:86, from treeviewcontrol01.h:4, from treeviewcontrol01.c:1: C:/Dev-Cpp/include/commdlg.h:28:1: warning: this is the location of the previous definition In file included from treeviewcontrol01.h:6, from treeviewcontrol01.c:1: ../../Archivos de programa/Microsoft SDK/include/CommCtrl.h:477:1: warning: "CLR_NONE" redefined In file included from C:/Dev-Cpp/include/windows.h:52, from treeviewcontrol01.h:4, from treeviewcontrol01.c:1: C:/Dev-Cpp/include/wingdi.h:772:1: warning: this is the location of the previous definition In file included from treeviewcontrol01.h:6, from treeviewcontrol01.c:1: ../../Archivos de programa/Microsoft SDK/include/CommCtrl.h:478:1: warning: "CLR_DEFAULT" redefined In file included from C:/Dev-Cpp/include/windows.h:52, from treeviewcontrol01.h:4, from treeviewcontrol01.c:1: C:/Dev-Cpp/include/wingdi.h:774:1: warning: this is the location of the previous definition gcc.exe -c wutil.c -o wutil.o -I"C:/Dev-Cpp/include" -I"C:/Archivos de programa/Microsoft SDK/include" -fexceptions -O3 windres.exe -i treeviewcontrol01_private.rc -I rc -o treeviewcontrol01_private.res -O coff gcc.exe treeviewcontrol01.o wutil.o treeviewcontrol01_private.res -o "treeviewcontrol01.exe" -L"C:/Dev-Cpp/lib" -mwindows "../../Archivos de programa/Microsoft SDK/Lib/ComCtl32.Lib" treeviewcontrol01.o(.text+0x3e2):treeviewcontrol01.c: undefined reference to `_imp__ImageList_Create@20' treeviewcontrol01.o(.text+0x427):treeviewcontrol01.c: undefined reference to `_imp__ImageList_ReplaceIcon@12' treeviewcontrol01.o(.text+0x45c):treeviewcontrol01.c: undefined reference to `_imp__ImageList_ReplaceIcon@12' make.exe: *** [treeviewcontrol01.exe] Error 1 Ejecución Terminada
As you can see by the length of my post, I'm going a little bit crazy. Any help would be wellcomed. Thanks in advance.



LinkBack URL
About LinkBacks


