Register message "TaskbarButtonCreated" when wxTopLevelWindowMSW is created.

This message is used to make sure the taskbar button is in place, so
wxTaskbarButton object can initialize correctly.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Introduce skeleton of taskbar button feature.

- Add classes: wxTaskBarButton and wxTaskBarButtonImpl.
- New interface in wxTopLevelWindowMSW to get its wxTaskBarButton:
    MSWGetTaskBarButton.
- A simple sample and build files under msvc.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
API for change the visibility of button in the taskbar.

- ShowInTaskbar and HideInTaskbar
- Sample of usage.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
APIs to support setting overlay icon, tooltip, thumbnail clip, progress state.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
APIs for adding a thumbnail toolbar with a specified set of buttons.

- AddThumbBarButton(wxThumbBarButton *button), ShowThumbnailToolbar().
- Add THBN_CLICKED message handler to top level window and generate a
  wxCommandEvent event.
- Sample.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move taskbar button from wxTopLevelWindowMSW to wxFrame.

Since there are two sub-classes of wxTopLevelWindowMSW: one is wxFrame, the
other is wxDialog. However, wxDialog have no button shown in taskbar on
windows, so the taskbar button feature should be only avaiable in wxFrame.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only register window message "TaskbarButtonCreated" when the first frame is created.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Expose setting description of overlay icon for accessibility.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
API: SetThumbnailContents, for setting thumbnail contents with child window.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revise Show/Hide, for consistency with the other classes.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revise progress releted API to be more usual.

- Add PulseProgress
- Add SetProgressRange, instead of hard coding 100.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Nit: fix code style.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Work around the limitation of windows API when setting thumbnail toolbar buttons.

- New API: InsertThumbBarButton, AppendThumbBarButton, RemoveThumbBarButton.
- Though MSDN said that "Buttons cannot be added or deleted later, so this must
  be the full defined set. Buttons also cannot be reordered.", we can work
  around it by: when first time adding button, initialize all of the possible
  seven buttons and hide them, except the button adding. In the next time adding
  button, just show it, which can make it looks like it is added on the fly.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix mingw build error of ITaskbarList3.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move wxTaskBarButton into core library.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Coding style fix.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add doxygen docs of wxTaskBarButton.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow 2-phase creation of wxThumbBarButton.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Expose APIs that can update the behavior of wxThumbBarButton.

- void Enable(bool enable = true);
  void Disable();
- void EnableDismissOnClick(bool enable = true);
  void DisableDimissOnClick();
- void SetHasBackground(bool has = true);
- void Show(bool shown = true);
  void Hide();
- void EnableInteractive(bool interactive = true);
  void DisableInteractive();

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add docs for several interfaces of wxThumbBarButton.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775