i just want to know how can i start to code my private GUI in c++
what libraries can i use?
and is there any book or bdf can help me ?

What operating system? What compiler? I would't do that -- it would take years to duplicate what other teams of programmers have already done, especially if you want cross platform. QT is probably one of the best free cross-platform GUI compilers, actually I think it's just an IDE and works with other compilers such as GCC, MinGW, and CL (M$ compiler).

But if you really insist on doing your own thing them be my guest. For MS-Windows you need to lear win32 api GUI -- it's all C language, not C++ but can be called from C++ as well. Here is a tutorial to get you started.

*nix isn't so easy as win32 api, if you want to start at the bottom you will have to learn X11R6. There are dozens of manuals that you can buy from amazon.com.

I highly recommend Qt. It's a library with a few additional tools. There is also a plug-in for Visual Studio, or you can use its native IDE (Qt Creator, which uses MinGW/GCC). There are plenty of tutorials online to show you how to do it step by step. It's pretty much as easy as it gets when it comes to GUI programming in C++.

If you want to do Windows programming at the API level, I'd pick up Petzold's "Programming Windows". It's a bit dated now, but it digs into the innards like nothing else.

win32 api itself is a bit dated, most windows programs are written using .NET languages today.

I agree with AD and Mike2k about using Qt. It is a cross-platform C++ API that lets you really write once and deploy on multiple system types from Windoze, to Linux, to Unix (BSD et al), to some mobile operating systems, etc. Of course, once you use Windows API's in your code directly, that compatibility goes right out the window (so to speak)!

you have several options WxWidgets, Gtk, Qt etc but i highly recommend Qt since it is available across all major platforms and it is heavily documented