ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

desktopbar.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2003, 2004 Martin Fuchs
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00017  */
00018 
00019 
00020  //
00021  // Explorer and Desktop clone
00022  //
00023  // desktopbar.h
00024  //
00025  // Martin Fuchs, 22.08.2003
00026  //
00027 
00028 
00029 #define CLASSNAME_EXPLORERBAR   TEXT("Shell_TrayWnd")
00030 #define TITLE_EXPLORERBAR       TEXT("")    // use an empty window title, so windows taskmanager does not show the window in its application list
00031 
00032 
00033 #define DESKTOPBARBAR_HEIGHT    (GetSystemMetrics(SM_CYSIZE) + 5 * GetSystemMetrics(SM_CYEDGE))
00034 #define REBARBAND_HEIGHT        (GetSystemMetrics(SM_CYSIZE) + 2 * GetSystemMetrics(SM_CYEDGE))
00035 
00036 
00037 #define IDC_START               0x1000
00038 #define IDC_LOGOFF              0x1001
00039 #define IDC_SHUTDOWN            0x1002
00040 #define IDC_LAUNCH              0x1003
00041 #define IDC_START_HELP          0x1004
00042 #define IDC_SEARCH_FILES        0x1005
00043 #define IDC_SEARCH_COMPUTER     0x1006
00044 #define IDC_SETTINGS            0x1007
00045 #define IDC_ADMIN               0x1008
00046 #define IDC_DOCUMENTS           0x1009
00047 #define IDC_RECENT              0x100A
00048 #define IDC_FAVORITES           0x100B
00049 #define IDC_PROGRAMS            0x100C
00050 #define IDC_EXPLORE             0x100D
00051 #define IDC_NETWORK             0x100E
00052 #define IDC_CONNECTIONS         0x100F
00053 #define IDC_DRIVES              0x1010
00054 #define IDC_CONTROL_PANEL       0x1011
00055 #define IDC_SETTINGS_MENU       0x1012
00056 #define IDC_PRINTERS            0x1013
00057 #define IDC_PRINTERS_MENU       0x1014
00058 #define IDC_BROWSE              0x1015
00059 #define IDC_SEARCH_PROGRAM      0x1016
00060 #define IDC_SEARCH              0x1017
00061 #define IDC_TERMINATE           0x1018
00062 #define IDC_RESTART             0x1019
00063 
00064 #define IDC_FIRST_MENU          0x3000
00065 
00066 // hotkeys
00067 #define IDHK_EXPLORER 0
00068 #define IDHK_RUN 1
00069 #define IDHK_DESKTOP 2
00070 #define IDHK_LOGOFF 3
00071 #define IDHK_STARTMENU 4
00072 
00074 struct DesktopBar : public
00075 #ifdef __REACTOS__
00076     TrayIconControllerTemplate<
00077                 OwnerDrawParent<Window> >
00078 #else
00079     OwnerDrawParent<Window>
00080 #endif
00081 {
00082 #ifdef __REACTOS__
00083     typedef TrayIconControllerTemplate<
00084                 OwnerDrawParent<Window> > super;
00085 #else
00086     typedef OwnerDrawParent<Window> super;
00087 #endif
00088 
00089     DesktopBar(HWND hwnd);
00090     ~DesktopBar();
00091 
00092     static HWND Create();
00093 
00094 protected:
00095     RECT    _work_area_org;
00096     int     _taskbar_pos;
00097 
00098     LRESULT Init(LPCREATESTRUCT pcs);
00099     LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam);
00100     int     Notify(int id, NMHDR* pnmh);
00101     int     Command(int id, int code);
00102 
00103     void    Resize(int cx, int cy);
00104     void    ControlResize(WPARAM wparam, LPARAM lparam);
00105     void    RegisterHotkeys();
00106     void    ProcessHotKey(int id_hotkey);
00107     void    ShowOrHideStartMenu();
00108     LRESULT ProcessCopyData(COPYDATASTRUCT* pcd);
00109 
00110     WindowHandle _hwndTaskBar;
00111     WindowHandle _hwndNotify;
00112     WindowHandle _hwndQuickLaunch;
00113     WindowHandle _hwndrebar;
00114     /* Needed to make the StartButton pushed, if it's called by windowskey: SC_TASKLIST command */
00115     WindowHandle _hwndStartButton;
00116 
00117     struct StartMenuRoot* _startMenuRoot;
00118 
00119 #ifdef __REACTOS__
00120     TrayIcon    _trayIcon;
00121 
00122     void    AddTrayIcons();
00123     virtual void TrayClick(UINT id, int btn);
00124     virtual void TrayDblClick(UINT id, int btn);
00125 #else
00126     const UINT WM_TASKBARCREATED;
00127 #endif
00128 };
00129 
00130 
00132 struct StartButton : public PictureButton
00133 {
00134     typedef PictureButton super;
00135 
00136     StartButton(HWND hwnd);
00137 
00138 protected:
00139     LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam);
00140 };

Generated on Sat May 26 2012 04:17:33 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.