Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendesktopbar.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
1.7.6.1
|