This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
SCC = This is a Source Code Control file
[STATBAR.MAK]
SCC_Project_Name = "$/statbar", DJAAAAAA

62
statbar/HOLD/POPUP.CPP Normal file
View File

@@ -0,0 +1,62 @@
#include <statbar/popup.hpp>
PopUpMenu::PopUpMenu(void)
: mSize(0), mlpMenuItem(0)
{
}
PopUpMenu::PopUpMenu(const PureMenu &topLevelMenu)
: PureMenu((HMENU)topLevelMenu), mlpMenuItem(0)
{
size(::GetMenuItemCount((PureMenu&)*this));
}
void PopUpMenu::size(long newSize)
{
if(mlpMenuItem)
{
#ifdef __FLAT__
while(::GlobalUnlock((HGLOBAL)::GlobalHandle((LPCVOID)mlpMenuItem)));
::GlobalFree((HGLOBAL)::GlobalHandle((LPCVOID)mlpMenuItem));
#else
while(::GlobalUnlock((HGLOBAL)(FP_SEG(mlpMenuItem)-1)));
::GlobalFree((HGLOBAL)(FP_SEG(mlpMenuItem)-1));
#endif
mlpMenuItem=0;
}
if(0==(mSize=newSize)){mlpMenuItem=0;return;}
mlpMenuItem=(MenuItem FAR*)::GlobalLock(::GlobalAlloc(GMEM_FIXED|GMEM_ZEROINIT,sizeof(MenuItem)*newSize));
}
PopUpMenu::~PopUpMenu()
{
size(0);
}
//PopUpMenu &PopUpMenu::operator=(const PureMenu &somePureMenu)
//{
// (PureMenu&)*this=somePureMenu;
// return *this;
//}
PopUpMenu &PopUpMenu::operator=(const PureMenu &somePureMenu)
{
(PureMenu&)*this=(HMENU)somePureMenu;
return *this;
}
WORD PopUpMenu::operator==(const PopUpMenu &somePopUpMenu)const
{
return (PureMenu&)*this==(PureMenu&)somePopUpMenu;
}
String PopUpMenu::menuLabel(void)const
{
return mMenuLabel;
}
void PopUpMenu::menuLabel(String menuLabel)
{
mMenuLabel=menuLabel;
}

46
statbar/HOLD/POPUP.HPP Normal file
View File

@@ -0,0 +1,46 @@
#ifndef _STATBAR_POPUPMENU_HPP_
#define _STATBAR_POPUPMENU_HPP_
#ifndef _COMMON_PUREMENU_HPP_
#include <common/puremenu.hpp>
#endif
#ifndef _COMMON_MENUITEM_HPP_
#include <common/menuitem.hpp>
#endif
#ifndef _COMMON_PUREVECTOR_HPP_
#include <common/pvector.hpp>
#endif
class PopUpMenu : public PureMenu
{
public:
PopUpMenu(void);
PopUpMenu(const PureMenu &topLevelMenu);
~PopUpMenu();
String menuLabel(void)const;
void menuLabel(String menuLabel);
PopUpMenu &operator=(const PureMenu &somePureMenu);
PopUpMenu &operator=(HMENU hMenu);
WORD operator==(const PopUpMenu &somePopUpMenu)const;
MenuItem &operator[](long itemIndex);
long size(void)const;
void size(long newSize);
private:
String mMenuLabel;
MenuItem *mlpMenuItem;
WORD mSize;
};
inline
MenuItem &PopUpMenu::operator[](long itemIndex)
{
assert(0!=mlpMenuItem);
return mlpMenuItem[itemIndex];
}
inline
long PopUpMenu::size(void)const
{
return mSize;
}
#endif

120
statbar/HOLD/SMK.LST Normal file
View File

@@ -0,0 +1,120 @@
Comparing files STATINFO.CPP and ..\STATINFO.Cpp
FC: no differences encountered
Comparing files STATBAR.CPP and ..\STATBAR.Cpp
FC: no differences encountered
Comparing files STATMENU.HPP and ..\STATMENU.Hpp
FC: no differences encountered
Comparing files STATMENU.CPP and ..\STATMENU.Cpp
FC: no differences encountered
Comparing files POPUP.HPP and ..\POPUP.Hpp
FC: no differences encountered
Comparing files POPUP.CPP and ..\POPUP.Cpp
FC: no differences encountered
Comparing files STATBAR.HPP and ..\STATBAR.Hpp
FC: no differences encountered
Comparing files STATLOGO.HPP and ..\STATLOGO.Hpp
****** STATLOGO.HPP
void setBitmap(GUIWindow &guiWindow,const String &nameBitmap);
void centerxy(BOOL centerx,BOOL centery);
void stretchBlt(BOOL stretchBlt);
protected:
****** ..\STATLOGO.Hpp
void setBitmap(GUIWindow &guiWindow,const String &nameBitmap);
protected:
******
****** STATLOGO.HPP
BOOL mStretchBlt;
BOOL mCentery;
BOOL mCenterx;
};
****** ..\STATLOGO.Hpp
BOOL mStretchBlt;
};
******
****** STATLOGO.HPP
StatusBarLogo::StatusBarLogo(GUIWindow &guiWindow,const String &nameBitmap,BOOL stretchBlt)
: StatusBar(guiWindow), mPureBitmap(nameBitmap,guiWindow.processInstance()), mStretchBlt(stretchBlt),
mCenterx(FALSE), mCentery(FALSE)
{
****** ..\STATLOGO.Hpp
StatusBarLogo::StatusBarLogo(GUIWindow &guiWindow,const String &nameBitmap,BOOL stretchBlt)
: StatusBar(guiWindow), mPureBitmap(nameBitmap,guiWindow.processInstance()), mStretchBlt(stretchBlt)
{
******
****** STATLOGO.HPP
inline
void StatusBarLogo::centerxy(BOOL centerx,BOOL centery)
{
mCenterx=centerx;
mCentery=centery;
}
****** ..\STATLOGO.Hpp
inline
void StatusBarLogo::setBitmap(GUIWindow &guiWindow,const String &nameBitmap)
{
mPureBitmap=PureBitmap(nameBitmap,guiWindow.processInstance());
PureDevice screenDevice(guiWindow);
postPaint(screenDevice,postPaintRect());
}
******
****** STATLOGO.HPP
inline
void StatusBarLogo::stretchBlt(BOOL stretchBlt)
{
mStretchBlt=stretchBlt;
}
inline
void StatusBarLogo::setBitmap(GUIWindow &guiWindow,const String &nameBitmap)
{
mPureBitmap=PureBitmap(nameBitmap,guiWindow.processInstance());
PureDevice screenDevice(guiWindow);
postPaint(screenDevice,postPaintRect());
}
inline
void StatusBarLogo::postPaint(PureDevice &screenDevice,const Rect &paintRect)
{
PureDevice memDevice(screenDevice);
****** ..\STATLOGO.Hpp
inline
void StatusBarLogo::postPaint(PureDevice &screenDevice,const Rect &paintRect)
{
PureDevice memDevice(screenDevice);
******
****** STATLOGO.HPP
if(mStretchBlt)screenDevice.stretchBlt(paintRect,memDevice,Rect(0,0,mPureBitmap.width(),mPureBitmap.height()));
else
{
if(!mCenterx&&!mCentery)screenDevice.bitBlt(paintRect,memDevice,Point(0,0));
else
{
Rect bltRect(paintRect);
if(mCentery)bltRect.top(bltRect.top()+((paintRect.bottom()-mPureBitmap.height())/2));
if(mCenterx)bltRect.left(bltRect.left()+((paintRect.right()-mPureBitmap.width())/2));
screenDevice.bitBlt(bltRect,memDevice,Point(0,0));
}
}
}
****** ..\STATLOGO.Hpp
if(mStretchBlt)screenDevice.stretchBlt(paintRect,memDevice,Rect(0,0,mPureBitmap.width(),mPureBitmap.height()));
else screenDevice.bitBlt(paintRect,memDevice,Point(0,0));
}
******
Comparing files STATINFO.HPP and ..\STATINFO.Hpp
FC: no differences encountered

809
statbar/HOLD/STATBAR.BAK Normal file
View File

@@ -0,0 +1,809 @@
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
!IF "$(CFG)" == ""
CFG=statbar - Win32 Debug
!MESSAGE No configuration specified. Defaulting to statbar - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "statbar - Win32 Release" && "$(CFG)" !=\
"statbar - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "statbar.mak" CFG="statbar - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "statbar - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "statbar - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
# PROP Target_Last_Scanned "statbar - Win32 Debug"
CPP=cl.exe
!IF "$(CFG)" == "statbar - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\statbar.lib"
CLEAN :
-@erase "$(INTDIR)\Popup.obj"
-@erase "$(INTDIR)\Statbar.obj"
-@erase "$(INTDIR)\Statinfo.obj"
-@erase "$(INTDIR)\Statmenu.obj"
-@erase "$(OUTDIR)\statbar.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
/Fp"$(INTDIR)/statbar.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/statbar.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/statbar.lib"
LIB32_OBJS= \
"$(INTDIR)\Popup.obj" \
"$(INTDIR)\Statbar.obj" \
"$(INTDIR)\Statinfo.obj" \
"$(INTDIR)\Statmenu.obj"
"$(OUTDIR)\statbar.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "msvcobj"
# PROP Intermediate_Dir "msvcobj"
# PROP Target_Dir ""
OUTDIR=.\msvcobj
INTDIR=.\msvcobj
ALL : "..\exe\statbar.lib"
CLEAN :
-@erase "$(INTDIR)\Popup.obj"
-@erase "$(INTDIR)\Statbar.obj"
-@erase "$(INTDIR)\Statinfo.obj"
-@erase "$(INTDIR)\Statmenu.obj"
-@erase "..\exe\statbar.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /c
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\msvcobj/
CPP_SBRS=.\.
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/statbar.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\exe\statbar.lib"
LIB32_FLAGS=/nologo /out:"..\exe\statbar.lib"
LIB32_OBJS= \
"$(INTDIR)\Popup.obj" \
"$(INTDIR)\Statbar.obj" \
"$(INTDIR)\Statinfo.obj" \
"$(INTDIR)\Statmenu.obj"
"..\exe\statbar.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Target
# Name "statbar - Win32 Release"
# Name "statbar - Win32 Debug"
!IF "$(CFG)" == "statbar - Win32 Release"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=.\Statmenu.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATM=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statmenu.obj" : $(SOURCE) $(DEP_CPP_STATM) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATM=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statmenu.obj" : $(SOURCE) $(DEP_CPP_STATM) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Statinfo.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATI=\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Stdio.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdio.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statinfo.obj" : $(SOURCE) $(DEP_CPP_STATI) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATI=\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Stdio.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdio.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statinfo.obj" : $(SOURCE) $(DEP_CPP_STATI) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Statbar.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATB=\
{$(INCLUDE)}"\.\Statbar.hpp"\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Gdiobj.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Pen.hpp"\
{$(INCLUDE)}"\Common\Point.hpp"\
{$(INCLUDE)}"\Common\Purehdc.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Rect.hpp"\
{$(INCLUDE)}"\Common\Rgbcolor.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statbar.obj" : $(SOURCE) $(DEP_CPP_STATB) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATB=\
{$(INCLUDE)}"\.\Statbar.hpp"\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdiobj.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Pen.hpp"\
{$(INCLUDE)}"\Common\Point.hpp"\
{$(INCLUDE)}"\Common\Purehdc.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Rect.hpp"\
{$(INCLUDE)}"\Common\Rgbcolor.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statbar.obj" : $(SOURCE) $(DEP_CPP_STATB) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Popup.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_POPUP=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Popup.obj" : $(SOURCE) $(DEP_CPP_POPUP) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_POPUP=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Popup.obj" : $(SOURCE) $(DEP_CPP_POPUP) "$(INTDIR)"
!ENDIF
# End Source File
# End Target
# End Project
################################################################################

460
statbar/HOLD/STATBAR.CPP Normal file
View File

@@ -0,0 +1,460 @@
#include <statbar/statbar.hpp>
#include <common/purehdc.hpp>
StatusBar::StatusBar(Window &mainWindow)
: mDisplayWindow(mainWindow), mLastCapLockState(FALSE), mLastNumLockState(FALSE), mLastItemID(-1),
mCapLockString("CAPS"), mNumLockString("NUM"), mBlankString(" "), mKeyDownState(FALSE),
StatusBarMenu(mainWindow), mLastDisplayString(mBlankString)
{
mPaintCallback.setCallback(this,&StatusBar::paintHandler);
mSetFocusCallback.setCallback(this,&StatusBar::setFocusHandler);
mKeyUpCallback.setCallback(this,&StatusBar::keyUpHandler);
mKeyDownCallback.setCallback(this,&StatusBar::keyDownHandler);
mSizeCallback.setCallback(this,&StatusBar::sizeHandler);
mMinMaxCallback.setCallback(this,&StatusBar::minMaxHandler);
mMenuSelectCallback.setCallback(this,&StatusBar::menuSelectHandler);
mDestroyCallback.setCallback(this,&StatusBar::destroyHandler);
mDisplayWindow.insertHandler(VectorHandler::PaintHandler,&mPaintCallback,VectorHandler::FirstHandler);
mDisplayWindow.insertHandler(VectorHandler::SetFocusHandler,&mSetFocusCallback);
mDisplayWindow.insertHandler(VectorHandler::KeyUpHandler,&mKeyUpCallback);
mDisplayWindow.insertHandler(VectorHandler::KeyDownHandler,&mKeyDownCallback);
mDisplayWindow.insertHandler(VectorHandler::SizeHandler,&mSizeCallback);
mDisplayWindow.insertHandler(VectorHandler::MinMaxHandler,&mMinMaxCallback);
mDisplayWindow.insertHandler(VectorHandler::MenuSelectHandler,&mMenuSelectCallback);
mDisplayWindow.insertHandler(VectorHandler::DestroyHandler,&mDestroyCallback);
::InvalidateRect(mainWindow,0,TRUE);
}
StatusBar::StatusBar(GUIWindow &guiWindow)
: mDisplayWindow(guiWindow), mLastCapLockState(FALSE), mLastNumLockState(FALSE), mLastItemID(-1),
mCapLockString("CAPS"), mNumLockString("NUM"), mBlankString(" "), mKeyDownState(FALSE),
mLastDisplayString(mBlankString)
{
mSetFocusCallback.setCallback(this,&StatusBar::setFocusHandler);
mKeyUpCallback.setCallback(this,&StatusBar::keyUpHandler);
mKeyDownCallback.setCallback(this,&StatusBar::keyDownHandler);
mSizeCallback.setCallback(this,&StatusBar::sizeHandler);
mMinMaxCallback.setCallback(this,&StatusBar::minMaxHandler);
mMenuSelectCallback.setCallback(this,&StatusBar::menuSelectHandler);
mDestroyCallback.setCallback(this,&StatusBar::destroyHandler);
mPaintCallback.setCallback(this,&StatusBar::paintHandler);
mDisplayWindow.insertHandler(VectorHandler::PaintHandler,&mPaintCallback,VectorHandler::FirstHandler);
mDisplayWindow.insertHandler(VectorHandler::SetFocusHandler,&mSetFocusCallback);
mDisplayWindow.insertHandler(VectorHandler::KeyUpHandler,&mKeyUpCallback);
mDisplayWindow.insertHandler(VectorHandler::KeyDownHandler,&mKeyDownCallback);
mDisplayWindow.insertHandler(VectorHandler::SizeHandler,&mSizeCallback);
mDisplayWindow.insertHandler(VectorHandler::MinMaxHandler,&mMinMaxCallback);
mDisplayWindow.insertHandler(VectorHandler::MenuSelectHandler,&mMenuSelectCallback);
mDisplayWindow.insertHandler(VectorHandler::DestroyHandler,&mDestroyCallback);
::InvalidateRect(guiWindow,0,TRUE);
}
StatusBar::~StatusBar()
{
removeHandlers();
}
CallbackData::ReturnType StatusBar::keyUpHandler(CallbackData &/*someCallbackData*/)
{
mKeyDownState=FALSE;
return (CallbackData::ReturnType)0;
}
CallbackData::ReturnType StatusBar::keyDownHandler(CallbackData &someCallbackData)
{
if(!mKeyDownState)
{
if(VK_CAPITAL==someCallbackData.wParam())setCapLockText();
else if(VK_NUMLOCK==someCallbackData.wParam())setNumLockText();
mKeyDownState=TRUE;
}
return (CallbackData::ReturnType)0;
}
CallbackData::ReturnType StatusBar::setFocusHandler(CallbackData &/*someCallbackData*/)
{
setCapLockText();
setNumLockText();
return (CallbackData::ReturnType)0;
}
CallbackData::ReturnType StatusBar::destroyHandler(CallbackData &/*someCallbackData*/)
{
removeHandlers();
return (CallbackData::ReturnType)0;
}
void StatusBar::removeHandlers(void)
{
mDisplayWindow.removeHandler(VectorHandler::PaintHandler,&mPaintCallback);
mDisplayWindow.removeHandler(VectorHandler::SetFocusHandler,&mSetFocusCallback);
mDisplayWindow.removeHandler(VectorHandler::KeyUpHandler,&mKeyUpCallback);
mDisplayWindow.removeHandler(VectorHandler::KeyDownHandler,&mKeyDownCallback);
mDisplayWindow.removeHandler(VectorHandler::SizeHandler,&mSizeCallback);
mDisplayWindow.removeHandler(VectorHandler::MinMaxHandler,&mMinMaxCallback);
mDisplayWindow.removeHandler(VectorHandler::MenuSelectHandler,&mMenuSelectCallback);
mDisplayWindow.removeHandler(VectorHandler::DestroyHandler,&mDestroyCallback);
}
void StatusBar::setCapLockText(void)
{
RECT clientRect;
RECT tempRectOne;
RECT tempRectTwo;
HFONT hOldFont;
String tempString;
PureDevice windowDevice;
WORD capLockLeft;
if(::GetKeyState(VK_CAPITAL)&0x0001)
{
if(TRUE==mLastCapLockState)return;
mLastCapLockState=TRUE;
tempString=mCapLockString;
}
else
{
if(FALSE==mLastCapLockState)return;
mLastCapLockState=FALSE;
tempString=mBlankString;
}
windowDevice=mDisplayWindow;
::GetClientRect(mDisplayWindow,(RECT FAR*)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
capLockLeft=clientRect.left+systemBorderDeltaTimesNine()+statusInfoWidth();
hOldFont=(HFONT)::SelectObject((HDC)windowDevice,statusFont());
::SetTextColor((HDC)windowDevice,::GetSysColor(COLOR_BTNTEXT));
::SetBkColor((HDC)windowDevice,::GetSysColor(COLOR_BTNFACE));
tempRectOne.top=clientRect.top+systemBorderDelta()*4;
tempRectOne.bottom=clientRect.bottom-systemBorderDeltaTimesThree();
tempRectOne.left=capLockLeft+systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+stateInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),tempRectOne.top,
ETO_OPAQUE|ETO_CLIPPED,&tempRectTwo,(LPSTR)tempString,tempString.length(),0);
::SelectObject((HDC)windowDevice,hOldFont);
}
void StatusBar::setNumLockText(void)
{
RECT clientRect;
RECT tempRectOne;
RECT tempRectTwo;
HFONT hOldFont;
WORD numLockLeft;
WORD capLockLeft;
PureDevice windowDevice;
String tempString;
if(::GetKeyState(VK_NUMLOCK)&0x0001)
{
if(TRUE==mLastNumLockState)return;
mLastNumLockState=TRUE;
tempString=mNumLockString;
}
else
{
if(FALSE==mLastNumLockState)return;
mLastNumLockState=FALSE;
tempString=mBlankString;
}
windowDevice=mDisplayWindow;
::GetClientRect(mDisplayWindow,(RECT FAR*)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
capLockLeft=clientRect.left+systemBorderDeltaTimesNine()+statusInfoWidth();
numLockLeft=capLockLeft+systemBorderDeltaTimesNine()+stateInfoWidth();
hOldFont=(HFONT)::SelectObject((HDC)windowDevice,statusFont());
::SetTextColor((HDC)windowDevice,::GetSysColor(COLOR_BTNTEXT));
::SetBkColor((HDC)windowDevice,::GetSysColor(COLOR_BTNFACE));
tempRectOne.top=clientRect.top+systemBorderDelta()*4;
tempRectOne.bottom=clientRect.bottom-systemBorderDeltaTimesThree();
tempRectOne.left=numLockLeft+systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+stateInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),
tempRectOne.top,ETO_OPAQUE | ETO_CLIPPED,&tempRectTwo,(LPSTR)tempString,tempString.length(),0);
::SelectObject(windowDevice,hOldFont);
}
CallbackData::ReturnType StatusBar::sizeHandler(CallbackData &/*someCallbackData*/)
{
RECT clientRect;
::GetClientRect(mDisplayWindow,(RECT FAR*)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
if(clientRect.top<mStatRectSizeAdv.top)
::InvalidateRect(mDisplayWindow,(RECT FAR *)&clientRect,FALSE);
else
::InvalidateRect(mDisplayWindow,(RECT FAR*)&mStatRectSizeAdv,TRUE);
return (CallbackData::ReturnType)0;
}
CallbackData::ReturnType StatusBar::minMaxHandler(CallbackData &/*someCallbackData*/)
{
::GetClientRect(mDisplayWindow,(RECT FAR*)&mStatRectSizeAdv);
mStatRectSizeAdv.top=mStatRectSizeAdv.bottom-statusBarHeight();
return (CallbackData::ReturnType)0;
}
CallbackData::ReturnType StatusBar::paintHandler(CallbackData &/*someCallbackData*/)
{
paintBar();
return (CallbackData::ReturnType)0;
}
void StatusBar::paintBar(void)
{
RECT tempRectOne;
RECT tempRectTwo;
RECT clientRect;
HFONT hOldFont;
HBRUSH hTempBrush;
PureDevice windowDevice;
WORD capLockLeft;
WORD numLockLeft;
String tempString;
windowDevice=mDisplayWindow;
::GetClientRect(mDisplayWindow,(RECT FAR *)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
capLockLeft=clientRect.left+systemBorderDeltaTimesNine()+statusInfoWidth();
numLockLeft=capLockLeft+systemBorderDeltaTimesNine()+stateInfoWidth();
hTempBrush=::CreateSolidBrush(::GetSysColor(COLOR_BTNFACE));
tempRectOne=clientRect;
tempRectOne.bottom=tempRectOne.top+systemBorderDeltaTimesThree();
tempRectOne.top+=systemBorderDeltaTimesTwo();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne=clientRect;
tempRectOne.top=tempRectOne.bottom-systemBorderDeltaTimesTwo();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne=clientRect;
tempRectOne.right=systemBorderDeltaTimesEight();
tempRectOne.top+=systemBorderDeltaTimesTwo();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=capLockLeft;
tempRectOne.right=tempRectOne.left+systemBorderDeltaTimesEight();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft;
tempRectOne.right=tempRectOne.left+systemBorderDeltaTimesEight();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft+systemBorderDeltaTimesNine()+stateInfoWidth();
tempRectOne.right=clientRect.right;
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
::DeleteObject(hTempBrush);
hTempBrush=::CreateSolidBrush(::GetSysColor(COLOR_BTNSHADOW));
tempRectOne=clientRect;
tempRectOne.top=clientRect.top+systemBorderDeltaTimesThree();
tempRectOne.bottom=tempRectOne.top+systemBorderDelta();
tempRectOne.left=systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+statusInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=capLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+stateInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+stateInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne=clientRect;
tempRectOne.top+=systemBorderDeltaTimesThree();
tempRectOne.bottom-=systemBorderDeltaTimesTwo();
tempRectOne.left=systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=capLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
::DeleteObject(hTempBrush);
if(WIN30==windowsVersion()){hTempBrush=(HBRUSH)::GetStockObject(WHITE_BRUSH);::MessageBeep(0);}
else hTempBrush=::CreateSolidBrush(::GetSysColor(COLOR_BTNHIGHLIGHT));
tempRectOne=clientRect;
tempRectOne.top=clientRect.bottom-systemBorderDeltaTimesThree();
tempRectOne.bottom=tempRectOne.top+systemBorderDelta();
tempRectOne.left=systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+statusInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=capLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+stateInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft+systemBorderDeltaTimesEight();
tempRectOne.right=tempRectOne.left+stateInfoWidth();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne=clientRect;
tempRectOne.top+=systemBorderDeltaTimesThree();
tempRectOne.bottom-=systemBorderDeltaTimesTwo();
tempRectOne.left=capLockLeft-systemBorderDelta();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft-systemBorderDelta();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne.left=numLockLeft+systemBorderDeltaTimesEight()+stateInfoWidth();
tempRectOne.right=tempRectOne.left+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
tempRectOne=clientRect;
tempRectOne.top+=systemBorderDelta();
tempRectOne.bottom=tempRectOne.top+systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
::DeleteObject(hTempBrush);
hTempBrush=::CreateSolidBrush(::GetSysColor(COLOR_WINDOWTEXT));
tempRectOne=clientRect;
tempRectOne.bottom=tempRectOne.top;
tempRectOne.bottom+=systemBorderDelta();
::FillRect((HDC)windowDevice,(RECT FAR*)&tempRectOne,hTempBrush);
::DeleteObject(hTempBrush);
hOldFont=(HFONT)::SelectObject((HDC)windowDevice,statusFont());
::SetTextColor((HDC)windowDevice,::GetSysColor(COLOR_BTNTEXT));
::SetBkColor((HDC)windowDevice,::GetSysColor(COLOR_BTNFACE));
tempRectOne.top=clientRect.top+(systemBorderDelta()*4);
tempRectOne.bottom=clientRect.bottom-systemBorderDeltaTimesThree();
tempRectOne.left=systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+statusInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),tempRectOne.top,
ETO_OPAQUE|ETO_CLIPPED,&tempRectTwo,(LPSTR)mLastDisplayString,mLastDisplayString.length(),0);
if(::GetKeyState(VK_CAPITAL)&0x0001)tempString=mCapLockString;
else tempString=mBlankString;
tempRectOne.left=capLockLeft+systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+stateInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),tempRectOne.top,
ETO_OPAQUE|ETO_CLIPPED,&tempRectTwo,(LPSTR)tempString,tempString.length(),0);
if(::GetKeyState(VK_NUMLOCK)&0x0001)tempString=mNumLockString;
else tempString=mBlankString;
tempRectOne.left=numLockLeft+systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+stateInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),tempRectOne.top,
ETO_OPAQUE|ETO_CLIPPED,&tempRectTwo,(LPSTR)tempString,tempString.length(),0);
::SelectObject(windowDevice,hOldFont);
Rect paintRect(postPaintRect());
postPaint(windowDevice,paintRect);
}
Rect StatusBar::postPaintRect(void)const
{
WORD numLockLeft;
WORD capLockLeft;
RECT clientRect;
Rect postPaintRect;
::GetClientRect(mDisplayWindow,(RECT FAR *)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
capLockLeft=clientRect.left+systemBorderDeltaTimesNine()+statusInfoWidth();
numLockLeft=capLockLeft+systemBorderDeltaTimesNine()+stateInfoWidth();
postPaintRect.left(numLockLeft+systemBorderDeltaTimesNine()+stateInfoWidth()+1);
postPaintRect.top(clientRect.top+systemBorderDeltaTimesThree());
postPaintRect.right(clientRect.right-systemBorderDeltaTimesNine());
postPaintRect.bottom(clientRect.bottom-systemBorderDeltaTimesTwo());
postPaintRect.right(postPaintRect.right()-postPaintRect.left());
postPaintRect.bottom(postPaintRect.bottom()-postPaintRect.top());
return postPaintRect;
}
WORD StatusBar::setSequentialResourceDescriptors(UINT menuID,UINT stringID,WORD itemCount)
{
for(int i=0;i<itemCount;i++)
setMenuItemDescriptor(MenuItem(String((int)(stringID+i)),menuID+i));
return TRUE;
}
WORD StatusBar::setSequentialResourceLabels(UINT stringID,WORD itemCount)
{
Block<String> menuLabels;
for(int itemIndex=0;itemIndex<itemCount;itemIndex++)
menuLabels.insert(&String((int)stringID+itemIndex));
setMenuLabelDescriptors(menuLabels);
return TRUE;
}
void StatusBar::setStatBarText(PureMenu &somePureMenu,WORD redrawFlag)
{
MenuItem menuItem;
if(!getMenuItemDescriptor(somePureMenu,menuItem))return;
if(!redrawFlag)return;
setText(menuItem.itemString());
}
void StatusBar::setStatBarText(int itemID,WORD redrawFlag)
{
MenuItem menuItem;
menuItem.itemID(itemID);
if(mLastItemID!=itemID)if(!getMenuItemDescriptor(menuItem))return;
if(!redrawFlag)return;
setText(menuItem.itemString());
}
void StatusBar::setText(const String &itemText)
{
RECT clientRect;
RECT tempRectOne;
RECT tempRectTwo;
HFONT hOldFont;
PureDevice windowDevice;
if(!itemText.length())return;
mLastDisplayString=itemText;
windowDevice=mDisplayWindow;
::GetClientRect(mDisplayWindow,(RECT FAR*)&clientRect);
clientRect.top=clientRect.bottom-statusBarHeight();
tempRectOne.top=clientRect.top+systemBorderDelta()*4;
tempRectOne.bottom=clientRect.bottom-systemBorderDeltaTimesThree();
tempRectOne.left=systemBorderDeltaTimesNine();
tempRectOne.right=tempRectOne.left+statusInfoWidth()-systemBorderDelta();
tempRectTwo=tempRectOne;
hOldFont=(HFONT)::SelectObject((HDC)windowDevice,statusFont());
::SetTextColor((HDC)windowDevice,::GetSysColor(COLOR_BTNTEXT));
::SetBkColor((HDC)windowDevice,::GetSysColor(COLOR_BTNFACE));
::ExtTextOut((HDC)windowDevice,tempRectOne.left+systemBorderDeltaTimesTwo(),
tempRectOne.top,ETO_OPAQUE|ETO_CLIPPED,&tempRectTwo,(LPSTR)itemText,itemText.length(),0);
::SelectObject(windowDevice,hOldFont);
}
CallbackData::ReturnType StatusBar::menuSelectHandler(CallbackData &someCallbackData)
{
UINT itemID(someCallbackData.menuSelectID());
WORD menuFlags(someCallbackData.menuSelectFlags());
HMENU hMenu(someCallbackData.menuSelectMenu());
if(0==hMenu&&0xFFFF==menuFlags){setText(mBlankString);return (CallbackData::ReturnType)0;}
if(menuFlags&MF_POPUP)setStatBarText(PureMenu(someCallbackData.menuSelectIDPopup()),TRUE);
else setStatBarText(itemID,TRUE);
return (CallbackData::ReturnType)0;
}
// ** virtuals
void StatusBar::postPaint(PureDevice &/*screnDevice*/,const Rect &/*paintRect*/)
{
}

122
statbar/HOLD/STATBAR.DSP Normal file
View File

@@ -0,0 +1,122 @@
# Microsoft Developer Studio Project File - Name="statbar" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=statbar - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Statbar.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Statbar.mak" CFG="statbar - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "statbar - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "statbar - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
!IF "$(CFG)" == "statbar - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir ".\Release"
# PROP BASE Intermediate_Dir ".\Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir ".\Release"
# PROP Intermediate_Dir ".\Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir ".\Debug"
# PROP BASE Intermediate_Dir ".\Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir ".\msvcobj"
# PROP Intermediate_Dir ".\msvcobj"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /FD /c
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\exe\statbar.lib"
!ENDIF
# Begin Target
# Name "statbar - Win32 Release"
# Name "statbar - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
# Begin Source File
SOURCE=.\Popup.cpp
# End Source File
# Begin Source File
SOURCE=.\Statbar.cpp
# End Source File
# Begin Source File
SOURCE=.\Statinfo.cpp
# End Source File
# Begin Source File
SOURCE=.\Statmenu.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
# Begin Source File
SOURCE=.\Popup.hpp
# End Source File
# Begin Source File
SOURCE=.\Statbar.hpp
# End Source File
# Begin Source File
SOURCE=.\Statinfo.hpp
# End Source File
# Begin Source File
SOURCE=.\Statmenu.hpp
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

29
statbar/HOLD/STATBAR.DSW Normal file
View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 5.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "statbar"=.\Statbar.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

63
statbar/HOLD/STATBAR.HPP Normal file
View File

@@ -0,0 +1,63 @@
#ifndef _STATBAR_STATBAR_HPP_
#define _STATBAR_STATBAR_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _STATBAR_STATUSINFO_HPP_
#include <statbar/statinfo.hpp>
#endif
#ifndef _STATBAR_STATBARMENU_HPP_
#include <statbar/statmenu.hpp>
#endif
class StatusBar : public StatusBarMenu, public StatusInfo
{
public:
StatusBar(Window &mainWindow);
StatusBar(GUIWindow &guiWindow);
virtual ~StatusBar();
WORD setSequentialResourceDescriptors(UINT menuId,UINT stringID,WORD itemCount);
WORD setSequentialResourceLabels(UINT stringID,WORD itemCount);
void setText(const String &displayString);
protected:
virtual void postPaint(PureDevice &screenDevice,const Rect &paintRect);
Rect postPaintRect(void)const;
private:
CallbackData::ReturnType paintHandler(CallbackData &someCallbackData);
CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData);
CallbackData::ReturnType keyUpHandler(CallbackData &someCallbackData);
CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData);
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
CallbackData::ReturnType minMaxHandler(CallbackData &someCallbackData);
CallbackData::ReturnType menuSelectHandler(CallbackData &someCallbackData);
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
void removeHandlers(void);
void setStatBarText(int itemID,WORD redrawFlag);
void setStatBarText(PureMenu &somePureMenu,WORD redrawFlag);
void setCapLockText(void);
void setNumLockText(void);
void paintBar(void);
Callback<StatusBar> mPaintCallback;
Callback<StatusBar> mSetFocusCallback;
Callback<StatusBar> mKeyUpCallback;
Callback<StatusBar> mKeyDownCallback;
Callback<StatusBar> mSizeCallback;
Callback<StatusBar> mMinMaxCallback;
Callback<StatusBar> mMenuSelectCallback;
Callback<StatusBar> mDestroyCallback;
GUIWindow &mDisplayWindow;
String mCapLockString;
String mNumLockString;
String mBlankString;
String mLastDisplayString;
WORD mLastCapLockState;
WORD mLastNumLockState;
int mLastItemID;
WORD mKeyDownState;
RECT mStatRectSizeAdv;
};
#endif

809
statbar/HOLD/STATBAR.MAK Normal file
View File

@@ -0,0 +1,809 @@
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
!IF "$(CFG)" == ""
CFG=statbar - Win32 Debug
!MESSAGE No configuration specified. Defaulting to statbar - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "statbar - Win32 Release" && "$(CFG)" !=\
"statbar - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "statbar.mak" CFG="statbar - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "statbar - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "statbar - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
################################################################################
# Begin Project
# PROP Target_Last_Scanned "statbar - Win32 Debug"
CPP=cl.exe
!IF "$(CFG)" == "statbar - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
OUTDIR=.\Release
INTDIR=.\Release
ALL : "$(OUTDIR)\statbar.lib"
CLEAN :
-@erase "$(INTDIR)\Popup.obj"
-@erase "$(INTDIR)\Statbar.obj"
-@erase "$(INTDIR)\Statinfo.obj"
-@erase "$(INTDIR)\Statmenu.obj"
-@erase "$(OUTDIR)\statbar.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
/Fp"$(INTDIR)/statbar.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/statbar.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LIB32_FLAGS=/nologo /out:"$(OUTDIR)/statbar.lib"
LIB32_OBJS= \
"$(INTDIR)\Popup.obj" \
"$(INTDIR)\Statbar.obj" \
"$(INTDIR)\Statinfo.obj" \
"$(INTDIR)\Statmenu.obj"
"$(OUTDIR)\statbar.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "msvcobj"
# PROP Intermediate_Dir "msvcobj"
# PROP Target_Dir ""
OUTDIR=.\msvcobj
INTDIR=.\msvcobj
ALL : "..\exe\statbar.lib"
CLEAN :
-@erase "$(INTDIR)\Popup.obj"
-@erase "$(INTDIR)\Statbar.obj"
-@erase "$(INTDIR)\Statinfo.obj"
-@erase "$(INTDIR)\Statmenu.obj"
-@erase "..\exe\statbar.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
# ADD CPP /nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /c
CPP_PROJ=/nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D\
"__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\msvcobj/
CPP_SBRS=.\.
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/statbar.bsc"
BSC32_SBRS= \
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\exe\statbar.lib"
LIB32_FLAGS=/nologo /out:"..\exe\statbar.lib"
LIB32_OBJS= \
"$(INTDIR)\Popup.obj" \
"$(INTDIR)\Statbar.obj" \
"$(INTDIR)\Statinfo.obj" \
"$(INTDIR)\Statmenu.obj"
"..\exe\statbar.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
<<
!ENDIF
.c{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_OBJS)}.obj:
$(CPP) $(CPP_PROJ) $<
.c{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cpp{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
.cxx{$(CPP_SBRS)}.sbr:
$(CPP) $(CPP_PROJ) $<
################################################################################
# Begin Target
# Name "statbar - Win32 Release"
# Name "statbar - Win32 Debug"
!IF "$(CFG)" == "statbar - Win32 Release"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
!ENDIF
################################################################################
# Begin Source File
SOURCE=.\Statmenu.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATM=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statmenu.obj" : $(SOURCE) $(DEP_CPP_STATM) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATM=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statmenu.obj" : $(SOURCE) $(DEP_CPP_STATM) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Statinfo.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATI=\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Stdio.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdio.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statinfo.obj" : $(SOURCE) $(DEP_CPP_STATI) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATI=\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Stdio.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdio.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statinfo.obj" : $(SOURCE) $(DEP_CPP_STATI) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Statbar.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_STATB=\
{$(INCLUDE)}"\.\Statbar.hpp"\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Gdiobj.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Pen.hpp"\
{$(INCLUDE)}"\Common\Point.hpp"\
{$(INCLUDE)}"\Common\Purehdc.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Rect.hpp"\
{$(INCLUDE)}"\Common\Rgbcolor.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Statbar.obj" : $(SOURCE) $(DEP_CPP_STATB) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_STATB=\
{$(INCLUDE)}"\.\Statbar.hpp"\
{$(INCLUDE)}"\.\Statinfo.hpp"\
{$(INCLUDE)}"\.\Statmenu.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdiobj.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Pen.hpp"\
{$(INCLUDE)}"\Common\Point.hpp"\
{$(INCLUDE)}"\Common\Purehdc.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Rect.hpp"\
{$(INCLUDE)}"\Common\Rgbcolor.hpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Statbar.obj" : $(SOURCE) $(DEP_CPP_STATB) "$(INTDIR)"
!ENDIF
# End Source File
################################################################################
# Begin Source File
SOURCE=.\Popup.cpp
!IF "$(CFG)" == "statbar - Win32 Release"
DEP_CPP_POPUP=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Cguid.h"\
{$(INCLUDE)}"\Commdlg.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Imm.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Mcx.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Mswsock.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Oaidl.h"\
{$(INCLUDE)}"\Objbase.h"\
{$(INCLUDE)}"\Objidl.h"\
{$(INCLUDE)}"\Ole.h"\
{$(INCLUDE)}"\Ole2.h"\
{$(INCLUDE)}"\Oleauto.h"\
{$(INCLUDE)}"\Oleidl.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Prsht.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Pshpack8.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcndr.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnsip.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Shellapi.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Unknwn.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Wincrypt.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winperf.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winsock.h"\
{$(INCLUDE)}"\Winsock2.h"\
{$(INCLUDE)}"\Winspool.h"\
{$(INCLUDE)}"\Winsvc.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
{$(INCLUDE)}"\Wtypes.h"\
"$(INTDIR)\Popup.obj" : $(SOURCE) $(DEP_CPP_POPUP) "$(INTDIR)"
!ELSEIF "$(CFG)" == "statbar - Win32 Debug"
DEP_CPP_POPUP=\
{$(INCLUDE)}"\.\Popup.hpp"\
{$(INCLUDE)}"\Assert.h"\
{$(INCLUDE)}"\Cderr.h"\
{$(INCLUDE)}"\Common\Assert.hpp"\
{$(INCLUDE)}"\Common\Block.hpp"\
{$(INCLUDE)}"\Common\Block.tpp"\
{$(INCLUDE)}"\Common\Callback.hpp"\
{$(INCLUDE)}"\Common\Callback.tpp"\
{$(INCLUDE)}"\Common\Cbdata.hpp"\
{$(INCLUDE)}"\Common\Cbptr.hpp"\
{$(INCLUDE)}"\Common\Dwindow.hpp"\
{$(INCLUDE)}"\Common\Fixup.hpp"\
{$(INCLUDE)}"\Common\Gdipoint.hpp"\
{$(INCLUDE)}"\Common\guiwnd.hpp"\
{$(INCLUDE)}"\Common\Menuitem.hpp"\
{$(INCLUDE)}"\Common\Pcallbck.hpp"\
{$(INCLUDE)}"\Common\Puremenu.hpp"\
{$(INCLUDE)}"\Common\Pvector.hpp"\
{$(INCLUDE)}"\Common\Pvector.tpp"\
{$(INCLUDE)}"\Common\Stdlib.hpp"\
{$(INCLUDE)}"\Common\String.hpp"\
{$(INCLUDE)}"\Common\Types.hpp"\
{$(INCLUDE)}"\Common\Vhandler.hpp"\
{$(INCLUDE)}"\Common\Window.hpp"\
{$(INCLUDE)}"\Common\Windows.hpp"\
{$(INCLUDE)}"\Common\Windowsx.hpp"\
{$(INCLUDE)}"\Ctype.h"\
{$(INCLUDE)}"\Dde.h"\
{$(INCLUDE)}"\Ddeml.h"\
{$(INCLUDE)}"\Dlgs.h"\
{$(INCLUDE)}"\Excpt.h"\
{$(INCLUDE)}"\Lzexpand.h"\
{$(INCLUDE)}"\Memory.h"\
{$(INCLUDE)}"\Mmsystem.h"\
{$(INCLUDE)}"\Nb30.h"\
{$(INCLUDE)}"\Poppack.h"\
{$(INCLUDE)}"\Pshpack1.h"\
{$(INCLUDE)}"\Pshpack2.h"\
{$(INCLUDE)}"\Pshpack4.h"\
{$(INCLUDE)}"\Rpc.h"\
{$(INCLUDE)}"\Rpcdce.h"\
{$(INCLUDE)}"\Rpcdcep.h"\
{$(INCLUDE)}"\Rpcnsi.h"\
{$(INCLUDE)}"\Rpcnterr.h"\
{$(INCLUDE)}"\Stdarg.h"\
{$(INCLUDE)}"\Stdlib.h"\
{$(INCLUDE)}"\String.h"\
{$(INCLUDE)}"\Winbase.h"\
{$(INCLUDE)}"\Wincon.h"\
{$(INCLUDE)}"\Windef.h"\
{$(INCLUDE)}"\Windows.h"\
{$(INCLUDE)}"\Windowsx.h"\
{$(INCLUDE)}"\Winerror.h"\
{$(INCLUDE)}"\Wingdi.h"\
{$(INCLUDE)}"\Winnetwk.h"\
{$(INCLUDE)}"\Winnls.h"\
{$(INCLUDE)}"\Winnt.h"\
{$(INCLUDE)}"\Winreg.h"\
{$(INCLUDE)}"\Winuser.h"\
{$(INCLUDE)}"\Winver.h"\
"$(INTDIR)\Popup.obj" : $(SOURCE) $(DEP_CPP_POPUP) "$(INTDIR)"
!ENDIF
# End Source File
# End Target
# End Project
################################################################################

BIN
statbar/HOLD/STATBAR.MDP Normal file

Binary file not shown.

15
statbar/HOLD/STATBAR.PLG Normal file
View File

@@ -0,0 +1,15 @@
--------------------Configuration: statbar - Win32 Debug--------------------
Begining build with project "C:\work\statbar\Statbar.dsp", at root.
Active configuration is Win32 (x86) Static Library (based on Win32 (x86) Static Library)
Project's tools are:
"32-bit C/C++ Compiler for 80x86" with flags "/nologo /Zp1 /MTd /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__FLAT__" /D "STRICT" /Fp"c:\work\exe\msvc42.pch" /YX /Fo".\msvcobj/" /Fd".\msvcobj/" /FD /c "
"Browser Database Maker" with flags "/nologo /o".\msvcobj/Statbar.bsc" "
"Library Manager" with flags "/nologo /out:"..\exe\statbar.lib" "
"Custom Build" with flags ""
"<Component 0xa>" with flags ""
statbar.lib - 0 error(s), 0 warning(s)

36
statbar/HOLD/STATINFO.CPP Normal file
View File

@@ -0,0 +1,36 @@
#include <statbar/statinfo.hpp>
#include <common/stdio.hpp>
#include <common/string.hpp>
StatusInfo::StatusInfo(void)
: mSystemBorderDelta(0), mSystemBorderDeltaTimesTwo(0),
mSystemBorderDeltaTimesThree(0), mSystemBorderDeltaTimesEight(0),
mSystemBorderDeltaTimesNine(0), mStatusBarHeight(0), mStatusInfoWidth(),
mStateInfoWidth(0), mhStatusBarFont(0), mWindowsVersion(WIN30)
{
TEXTMETRIC tm;
WORD fontHeight;
HFONT hOldFont;
HDC hDC(::GetDC(0));
DWORD windowsVersion;
mSystemBorderDelta=::GetSystemMetrics(SM_CYBORDER);
mSystemBorderDeltaTimesTwo=mSystemBorderDelta*2;
mSystemBorderDeltaTimesThree=mSystemBorderDelta*3;
mSystemBorderDeltaTimesEight=mSystemBorderDelta*8;
mSystemBorderDeltaTimesNine=mSystemBorderDelta*9;
fontHeight=::MulDiv(12,::GetDeviceCaps(hDC,LOGPIXELSY),72);
mhStatusBarFont=::CreateFont(fontHeight,0,0,0,400,0,0,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,VARIABLE_PITCH|FF_SWISS,"Helv");
hOldFont=(HFONT)::SelectObject(hDC,mhStatusBarFont);
::GetTextMetrics(hDC,&tm);
::SelectObject(hDC,hOldFont);
::ReleaseDC(NULL, hDC);
mStatusBarHeight=tm.tmHeight+tm.tmExternalLeading+(7*mSystemBorderDelta);
mStatusInfoWidth=tm.tmMaxCharWidth*21;
mStateInfoWidth=tm.tmMaxCharWidth*3;
windowsVersion=::GetVersion();
if(LOWORD(windowsVersion)>=3&&HIWORD(windowsVersion)<10)mWindowsVersion=WIN30;
else mWindowsVersion=WIN3X;
}

102
statbar/HOLD/STATINFO.HPP Normal file
View File

@@ -0,0 +1,102 @@
#ifndef _STATBAR_STATUSINFO_HPP_
#define _STATBAR_STATUSINFO_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
class StatusInfo
{
public:
enum WinVer{WIN30,WIN3X};
StatusInfo(void);
virtual ~StatusInfo();
WORD systemBorderDelta(void)const;
WORD systemBorderDeltaTimesTwo(void)const;
WORD systemBorderDeltaTimesThree(void)const;
WORD systemBorderDeltaTimesEight(void)const;
WORD systemBorderDeltaTimesNine(void)const;
WORD statusBarHeight(void)const;
WORD statusInfoWidth(void)const;
WORD stateInfoWidth(void)const;
HFONT statusFont(void)const;
WinVer windowsVersion(void)const;
private:
WORD mSystemBorderDelta; // System border width/height
WORD mSystemBorderDeltaTimesTwo; // System border width/height*2
WORD mSystemBorderDeltaTimesThree; // System border width/height*3
WORD mSystemBorderDeltaTimesEight; // System border width/height*8
WORD mSystemBorderDeltaTimesNine; // System border width/height*9
WORD mStatusBarHeight; // Status bar height
WORD mStatusInfoWidth; // Width reserved for Status Info
WORD mStateInfoWidth; // Width reserved for State Info
HFONT mhStatusBarFont; // Font used in status bar
WinVer mWindowsVersion; // windows version number
};
inline
StatusInfo::~StatusInfo()
{
if(mhStatusBarFont)::DeleteObject(mhStatusBarFont);
}
inline
WORD StatusInfo:: systemBorderDelta(void)const
{
return mSystemBorderDelta;
}
inline
WORD StatusInfo::systemBorderDeltaTimesTwo(void)const
{
return mSystemBorderDeltaTimesTwo;
}
inline
WORD StatusInfo::systemBorderDeltaTimesThree(void)const
{
return mSystemBorderDeltaTimesThree;
}
inline
WORD StatusInfo::systemBorderDeltaTimesEight(void)const
{
return mSystemBorderDeltaTimesEight;
}
inline
WORD StatusInfo::systemBorderDeltaTimesNine(void)const
{
return mSystemBorderDeltaTimesNine;
}
inline
WORD StatusInfo::statusBarHeight(void)const
{
return mStatusBarHeight;
}
inline
WORD StatusInfo::statusInfoWidth(void)const
{
return mStatusInfoWidth;
}
inline
WORD StatusInfo::stateInfoWidth(void)const
{
return mStateInfoWidth;
}
inline
StatusInfo::WinVer StatusInfo::windowsVersion(void)const
{
return mWindowsVersion;
}
inline
HFONT StatusInfo::statusFont(void)const
{
return mhStatusBarFont;
}
#endif

78
statbar/HOLD/STATLOGO.HPP Normal file
View File

@@ -0,0 +1,78 @@
#ifndef _STATBAR_STATUSBARLOGO_HPP_
#define _STATBAR_STATUSBARLOGO_HPP_
#ifndef _STATBAR_STATBAR_HPP_
#include <statbar/statbar.hpp>
#endif
#ifndef _COMMON_PUREBITMAP_HPP_
#include <common/purebmp.hpp>
#endif
class StatusBarLogo : public StatusBar
{
public:
StatusBarLogo(GUIWindow &guiWindow,const String &nameBitmap,BOOL stretchBlt=TRUE);
virtual ~StatusBarLogo();
void setBitmap(GUIWindow &guiWindow,const String &nameBitmap);
void centerxy(BOOL centerx,BOOL centery);
void stretchBlt(BOOL stretchBlt);
protected:
virtual void postPaint(PureDevice &screenDevice,const Rect &paintRect);
private:
PureBitmap mPureBitmap;
BOOL mStretchBlt;
BOOL mCentery;
BOOL mCenterx;
};
inline
StatusBarLogo::StatusBarLogo(GUIWindow &guiWindow,const String &nameBitmap,BOOL stretchBlt)
: StatusBar(guiWindow), mPureBitmap(nameBitmap,guiWindow.processInstance()), mStretchBlt(stretchBlt),
mCenterx(FALSE), mCentery(FALSE)
{
}
inline
StatusBarLogo::~StatusBarLogo()
{
}
inline
void StatusBarLogo::centerxy(BOOL centerx,BOOL centery)
{
mCenterx=centerx;
mCentery=centery;
}
inline
void StatusBarLogo::stretchBlt(BOOL stretchBlt)
{
mStretchBlt=stretchBlt;
}
inline
void StatusBarLogo::setBitmap(GUIWindow &guiWindow,const String &nameBitmap)
{
mPureBitmap=PureBitmap(nameBitmap,guiWindow.processInstance());
PureDevice screenDevice(guiWindow);
postPaint(screenDevice,postPaintRect());
}
inline
void StatusBarLogo::postPaint(PureDevice &screenDevice,const Rect &paintRect)
{
PureDevice memDevice(screenDevice);
memDevice.select((GDIObj)mPureBitmap);
if(mStretchBlt)screenDevice.stretchBlt(paintRect,memDevice,Rect(0,0,mPureBitmap.width(),mPureBitmap.height()));
else
{
if(!mCenterx&&!mCentery)screenDevice.bitBlt(paintRect,memDevice,Point(0,0));
else
{
Rect bltRect(paintRect);
if(mCentery)bltRect.top(bltRect.top()+((paintRect.bottom()-mPureBitmap.height())/2));
if(mCenterx)bltRect.left(bltRect.left()+((paintRect.right()-mPureBitmap.width())/2));
screenDevice.bitBlt(bltRect,memDevice,Point(0,0));
}
}
}
#endif

120
statbar/HOLD/STATMENU.CPP Normal file
View File

@@ -0,0 +1,120 @@
#include <statbar/statmenu.hpp>
#include <common/window.hpp>
#include <common/block.hpp>
StatusBarMenu::StatusBarMenu(void)
{
}
StatusBarMenu::StatusBarMenu(const Window &someWindow)
: mTopLevelMenu((HMENU)someWindow)
{
sizeMenuItems(mTopLevelMenu);
}
StatusBarMenu::~StatusBarMenu()
{
}
void StatusBarMenu::sizeMenuItems(HMENU hTopLevelMenu)
{
WORD menuItems(::GetMenuItemCount(mTopLevelMenu=hTopLevelMenu));
if(0xFFFF==menuItems||!menuItems)return;
mPopUpMenu.size(menuItems);
for(int i=0;i<menuItems;i++)
{
PureMenu subMenu(::GetSubMenu(hTopLevelMenu,i));
WORD subItemCount(::GetMenuItemCount(subMenu));
mPopUpMenu[i]=subMenu;
mPopUpMenu[i].size(subItemCount);
for(int j=0;j<subItemCount;j++)
{
UINT menuItemID(::GetMenuItemID(subMenu,j));
String menuItemString;
::GetMenuString(subMenu,menuItemID,menuItemString,String::MaxString,MF_BYCOMMAND);
if(menuItemString.isNull())menuItemString=" ";
MenuItem menuItem(menuItemString,menuItemID);
mPopUpMenu[i].operator[](j)=menuItem;
}
}
}
WORD StatusBarMenu::setMenuLabelDescriptors(Block<String> &menuLabels)
{
size_t labelItems((WORD)menuLabels.size());
size_t menuItems((WORD)mPopUpMenu.size());
for(int itemIndex=0;itemIndex<menuItems;itemIndex++)
{
if(itemIndex>=labelItems)return FALSE;
if(itemIndex>=menuItems)return FALSE;
String menuLabelString=menuLabels[itemIndex];
mPopUpMenu[itemIndex].menuLabel(menuLabelString);
}
return TRUE;
}
WORD StatusBarMenu::setMenuItemDescriptors(Block<MenuItem> &menuItems)
{
size_t size((WORD)menuItems.size());
WORD returnCode(0);
for(int i=0;i<size;i++)
returnCode+=setMenuItemDescriptor(menuItems[i]);
return returnCode;
}
WORD StatusBarMenu::setMenuItemDescriptor(const MenuItem &someMenuItem)
{
size_t menuItems((WORD)mPopUpMenu.size());
for(int i=0;i<menuItems;i++)
{
size_t subMenuItems((WORD)mPopUpMenu[i].size());
for(int j=0;j<subMenuItems;j++)
{
if(someMenuItem.itemID()==mPopUpMenu[i].operator[](j).itemID())
{
String menuItemString=someMenuItem.itemString();
mPopUpMenu[i].operator[](j).itemString(menuItemString);
return TRUE;
}
}
}
return FALSE;
}
WORD StatusBarMenu::getMenuItemDescriptor(MenuItem &menuItem)
{
size_t menuItems((WORD)mPopUpMenu.size());
for(int i=0;i<menuItems;i++)
{
size_t subMenuItems((WORD)mPopUpMenu[i].size());
for(int j=0;j<subMenuItems;j++)
{
if(menuItem.itemID()==mPopUpMenu[i].operator[](j).itemID())
{
menuItem.itemString(mPopUpMenu[i].operator[](j).itemString());
return TRUE;
}
}
}
return FALSE;
}
WORD StatusBarMenu::getMenuItemDescriptor(PureMenu &somePureMenu,MenuItem &menuItem)
{
size_t menuItems((WORD)mPopUpMenu.size());
for(int itemIndex=0;itemIndex<menuItems;itemIndex++)
{
if((HMENU)mPopUpMenu[itemIndex]==(HMENU)somePureMenu)
{
menuItem.itemString(mPopUpMenu[itemIndex].menuLabel());
return TRUE;
}
}
return FALSE;
}

33
statbar/HOLD/STATMENU.HPP Normal file
View File

@@ -0,0 +1,33 @@
#ifndef _STATBAR_STATBARMENU_HPP_
#define _STATBAR_STATBARMENU_HPP_
#ifndef _COMMON_PUREVECTOR_HPP_
#include <common/pvector.hpp>
#endif
#ifndef _COMMON_PUREMENU_HPP_
#include <common/puremenu.hpp>
#endif
#ifndef _STATBAR_POPUPMENU_HPP_
#include <statbar/popup.hpp>
#endif
class Window;
template <class T>
class Block;
class StatusBarMenu
{
public:
StatusBarMenu(void);
StatusBarMenu(const Window &someWindow);
virtual ~StatusBarMenu();
void sizeMenuItems(HMENU hTopLevelMenu);
WORD setMenuItemDescriptors(Block<MenuItem> &menuItems);
WORD setMenuItemDescriptor(const MenuItem &someMenuItem);
WORD setMenuLabelDescriptors(Block<String> &menuLabels);
WORD getMenuItemDescriptor(MenuItem &menuItem);
WORD getMenuItemDescriptor(PureMenu &somePureMenu,MenuItem &menuItem);
private:
PureMenu mTopLevelMenu;
PureVector<PopUpMenu> mPopUpMenu;
};
#endif