2 * Copyright 2003, 2004, 2005 Martin Fuchs
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 // Explorer and Desktop clone
25 // Martin Fuchs, 22.08.2003
29 #define QUICKLAUNCH_WIDTH_DEF 70
30 #define QUICKLAUNCH_WIDTH_DEF 70
32 #define IDW_QUICKLAUNCHBAR 101
34 #define PM_UPDATE_DESKTOP (WM_APP+0x23)
36 #define IDC_FIRST_QUICK_ID 0x4000
39 #define QUICKLAUNCH_FOLDER TEXT("Microsoft\\Internet Explorer\\Quick Launch")
42 /// quick launch bar shortcut
43 struct QuickLaunchEntry
52 /// map for managing the task bar buttons
53 struct QuickLaunchMap
: public map
<int, QuickLaunchEntry
>
59 /// quick launch bar window
60 struct QuickLaunchBar
: public ExtContextMenuHandlerT
<SubclassedWindow
>
62 typedef ExtContextMenuHandlerT
<SubclassedWindow
> super
;
64 QuickLaunchBar(HWND hwnd
);
67 static HWND
Create(HWND hwndParent
);
70 LRESULT
WndProc(UINT nmsg
, WPARAM wparam
, LPARAM lparam
);
71 int Command(int id
, int code
);
72 int Notify(int id
, NMHDR
* pnmh
);
77 QuickLaunchMap _entries
;
82 void AddButton(int id
, HBITMAP hbmp
, LPCTSTR name
, Entry
* entry
, int flags
=TBSTATE_ENABLED
);
83 void UpdateDesktopButtons(int desktop_idx
);