home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C Programming Starter Kit 2.0
/
SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso
/
bc45
/
peeper.pak
/
PEEPER.H
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-23
|
3KB
|
120 lines
//----------------------------------------------------------------------------
// ObjectWindows - (C) Copyright 1991, 1993 by Borland International
//
// Peeper is a program that allows the user to select some windows and
// perform one or more actions on those windows. Actions include:
// . Changing the window text (caption).
// . Sending messages.
//
// The windows that are selected are put into a list which can be cleared
// at any time to start over.
//
// To choose a window click on the 'Peep!' button and when the mouse if over
// a window that you want to choose, click the left mouse button. To stop
// 'peeping' click the right mouse button. You can't peep Peeper.
//----------------------------------------------------------------------------
#if !defined(__PEEPER_H)
#define __PEEPER_H
#include <owl\applicat.h>
#include <owl\dialog.h>
#include <classlib\vectimp.h>
#include "peeper.rh"
//
// global functions used with ForEach():
//
void SendWMSetText(HWND& hWnd, void* p);
void SendSysMessage(HWND& hWnd, void* p);
void SendWMMessage(HWND& hWnd, void* p);
//////////////////////////////////////////////////////////////////////
//
// Handles the 'peeping' process by capturing, tracking and releasing
// the mouse.
//
class TClientWindow : public TWindow {
public:
TClientWindow() : TWindow(0, "") {}
protected:
void DisplayWinInfo();
void EvLButtonDown(UINT mod_keys, TPoint& point);
void EvRButtonDown(UINT mod_keys, TPoint& point);
DECLARE_RESPONSE_TABLE(TClientWindow);
};
//////////////////////////////////////////////////////////////////////
// Transfer buffer for the messages dialog.
struct MessagesTB {
MessagesTB()
{
MaxCB = MinCB = PaintCB = RestoreCB = PasteCB = CloseCB = FALSE;
}
BOOL MaxCB, MinCB, PaintCB, RestoreCB, PasteCB, CloseCB;
};
//
// Dialog that contains checkboxs that reprsent the messages the user wants
// to send to the selected windows.
//
class TMessagesDialog : public TDialog {
public:
TMessagesDialog(TWindow* parent, MessagesTB* mtb)
: TDialog(parent, IDD_MESSAGES)
{
MaximizeCB = new TCheckBox(this, IDC_MAXIMIZE);
MinimizeCB = new TCheckBox(this, IDC_MINIMIZE);
PaintCB = new TCheckBox(this, IDC_PAINT);
RestoreCB = new TCheckBox(this, IDC_RESTORE);
PasteCB = new TCheckBox(this, IDC_PASTE);
CloseCB = new TCheckBox(this, IDC_CLOSE);
SetTransferBuffer(mtb);
}
private:
TCheckBox* MaximizeCB;
TCheckBox* MinimizeCB;
TCheckBox* PaintCB;
TCheckBox* RestoreCB;
TCheckBox* PasteCB;
TCheckBox* CloseCB;
};
//////////////////////////////////////////////////////////////////////
//
// Peeper application. Handles most of the messages.
//
class TPeeper : public TApplication {
public:
TPeeper() : TApplication("Peeper") {}
~TPeeper() { delete WindowList; }
void InitMainWindow();
private:
TWindow* Client;
TStatic* SelWinText;
TListBox* SelectedWindows;
TControlBar* Actions;
TMessageBar* StatusLine;
TCVectorImp<HWND>* WindowList;
void CmPeeping();
void CmChangeCaption();
void CmClearWindowList();
void CmSendMessage();
void CmHelp();
friend class TClientWindow;
DECLARE_RESPONSE_TABLE(TPeeper);
};
#endif