matonga Posted May 23, 2009 Report Share Posted May 23, 2009 For developers only (no binaries included) Hi, this is my first attempt trying to write a dock under C++: http://www.matiasmoreno.com.ar/box/MyDock-2009-05-23.rar It uses Gdiplus (where possible) for graphics. The dock is horrible, but it works. It's distributed in source code form and is destinated to anyone who wants to write docks or similar programs and in need of a point of reference or working example. Please don't ask me with feature requests, I may or may not continue adding stuff from time to time. I needed this as a reference too, for porting Stacks Library, Stacks Docklet 2 and maybe WinExposé to C++. Final note: it has been written to compile with MinGW. This doesn't mean it will or won't compile with Visual Studio C++, just I haven't tested. To compile Gdiplus apps under MinGW, you'll need the include files and lib file, I can post them at request. Link to comment
Smaky Posted May 24, 2009 Report Share Posted May 24, 2009 I'll try to compile it under Visutal Studio C++ 2008 (maybe under 2010 when I have it downloaded)... I'll post my findings.Thanks. Link to comment
vhanla Posted May 24, 2009 Report Share Posted May 24, 2009 I followed this http://wiki.bb4win.org/wiki/Using_GDIPlus_With_MinGW to compile it. However, linker fails: g++.exe MyDock.o -o "uDock.exe" -L"C:/Dev-Cpp/lib" -L"C:/Dev-Cpp/mingw32/GnuWin32/lib" -llibSDL -lSDL_mixer libgdiplus.a MyDock.o(.text+0x226):MyDock.cpp: undefined reference to `CreateCompatibleDC@4'MyDock.o(.text+0x2e0):MyDock.cpp: undefined reference to `GetDIBits@28'MyDock.o(.text+0x303):MyDock.cpp: undefined reference to `DeleteObject@4'MyDock.o(.text+0x311):MyDock.cpp: undefined reference to `DeleteObject@4'MyDock.o(.text+0x31f):MyDock.cpp: undefined reference to `DeleteObject@4'MyDock.o(.text+0xcfc):MyDock.cpp: undefined reference to `CreateCompatibleDC@4'MyDock.o(.text+0xd50):MyDock.cpp: undefined reference to `CreateDIBSection@24'MyDock.o(.text+0x102a):MyDock.cpp: undefined reference to `SelectObject@8'MyDock.o(.text+0x10a3):MyDock.cpp: undefined reference to `DeleteObject@4'MyDock.o(.text+0x10b1):MyDock.cpp: undefined reference to `DeleteObject@4' That was with DevCPP. The same happens with CodeBlocks. Link to comment
herd Posted May 24, 2009 Report Share Posted May 24, 2009 These are linker errors. You'll need to link with user32.dll, too. Link to comment
vhanla Posted May 24, 2009 Report Share Posted May 24, 2009 Nevermind, I forgot to add C:/Dev-Cpp/lib/libgdi32.a to parameters Link to comment
Ghostwalker Posted May 24, 2009 Report Share Posted May 24, 2009 (edited) If someone decides to create a new dock keep this in mind...DockFun!I would do any graphics needed. Edited May 25, 2009 by Ghostwalker Link to comment
prcmelo-rj Posted May 24, 2009 Report Share Posted May 24, 2009 DockFun! is really nice... but, Sticky Windows... wow!!!I saw something similar to Sticky Windows for PC, but not with all those features!Amazing!!! Link to comment
bluebyt Posted May 25, 2009 Report Share Posted May 25, 2009 I think this is a very good idea to have open source Dock, if you look at all other Docks right now, ultimately the development has ceased.If you can have a group of developers that maintain the dock, if one the developer give up, the others can continue the project! Link to comment
bolero Posted May 31, 2009 Report Share Posted May 31, 2009 (edited) Cool. Thanks a lot for this. I started messing around development of a dock in C#.I managed to get this to compile under VS 2008. It wasn't difficult. In the projects settings just be sure to include gdiplus.lib, and to change the project settings Character set to Multi-Byte as the quickest fix, otherwise you may need to supply a "L" at the beginning of each string through out the code if you'd rather keep it unicode. Oh and also to be sure to include the stdafx.h header file before any others.Otherwise thanks a lot for sharing. Hardest part for me is to code the damn Parabolic zoom! Edited May 31, 2009 by bolero Link to comment
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now