Mydock

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. :P

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.

#528035

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.

#528041

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. :(

#528049

These are linker errors. You'll need to link with user32.dll, too.

#528052

Nevermind, I forgot to add C:/Dev-Cpp/lib/libgdi32.a to parameters

#528053

If someone decides to create a new dock keep this in mind...

DockFun!

I would do any graphics needed.

#528072

DockFun! is really nice... but, Sticky Windows... wow!!!

I saw something similar to Sticky Windows for PC, but not with all those features!

Amazing!!!

#528076

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!

#528108

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!

#528326