home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 July / IMM0795.ISO / share / tools / freeman / disk1 / awndobj.h_ / awndobj
Text File  |  1995-02-07  |  6KB  |  250 lines

  1. #define __AWNDOBJ_H
  2.  
  3. #ifndef __STDARG_H
  4. #include "stdarg.h"
  5. #endif
  6.  
  7. class abswndobj
  8. {
  9.    public:
  10.  
  11.    virtual HWND getwnd() = 0;
  12.  
  13.    int gettxtlen()
  14.    {
  15.       return GetWindowTextLength(getwnd());
  16.    }
  17.    int begtimer(int id, int timeout)
  18.    {
  19.       return SetTimer(getwnd(), id, timeout, 0);
  20.    } 
  21.    int endtimer(int id)
  22.    {
  23.       return KillTimer(getwnd(), id);
  24.    }
  25.    int totop()
  26.    {
  27.       return BringWindowToTop(getwnd());
  28.    }
  29.    int chknull()
  30.    {
  31.       return getwnd() == 0;
  32.    }
  33.    int chkpopup()
  34.    {
  35.       return (getstyle() & WS_POPUP) != 0L;
  36.    }
  37.    int chkvisible()
  38.    {
  39.       return IsWindowVisible(getwnd());
  40.    }
  41.    void gettxt(char s[], int size = 255)
  42.    {
  43.       GetWindowText(getwnd(), s, size);
  44.    }
  45.    void clrtxt()
  46.    {
  47.       settxt("");
  48.    }
  49.    void settxt(char s[])
  50.    {
  51.       SetWindowText(getwnd(), s);
  52.    }
  53.    void setint(int i)
  54.    {
  55.       settxtfmt("%d", i);
  56.    }
  57.    void setlng(LONG l)
  58.    {
  59.       settxtfmt("%ld", l);
  60.    }
  61.    void setdbl(double d)
  62.    {
  63.       settxtfmt("%lg", d);
  64.    }
  65.    void setuint(UINT i)
  66.    {
  67.       settxtfmt("%u", i);
  68.    }
  69.    void show(int cmd)
  70.    {    
  71.       ShowWindow(getwnd(), cmd);
  72.    }
  73.    void update()
  74.    {
  75.       UpdateWindow(getwnd());
  76.    }
  77.    void begpaint(PAINTSTRUCT *ps)
  78.    {
  79.       BeginPaint(getwnd(), (PAINTSTRUCT FAR*)ps);
  80.    }
  81.    void endpaint(PAINTSTRUCT *ps)
  82.    {
  83.       EndPaint(getwnd(), ps);
  84.    }
  85.    void setfont(HFONT f, int isredraw)
  86.    {
  87.       SendMessage(getwnd(), WM_SETFONT, (WPARAM)f, (LPARAM)MAKELONG(isredraw, 0));
  88.    }
  89.    void scr2clt(POINT *p)
  90.    {
  91.       ScreenToClient(getwnd(), p);
  92.    }
  93.    void clt2scr(POINT *p)
  94.    {
  95.       ClientToScreen(getwnd(), p);
  96.    }
  97.    void getclientrect(RECT *clt)
  98.    {
  99.       GetClientRect(getwnd(), clt);
  100.    }
  101.    void getrect(RECT *r)
  102.    {
  103.       GetWindowRect(getwnd(), r);
  104.    }
  105.    void redraw(int iserase = 1)
  106.    {
  107.       invalidate(iserase);
  108.  
  109.       update();
  110.    }
  111.    void invalidate(int iserase = 1)
  112.    {
  113.       InvalidateRect(getwnd(), NULL, iserase);
  114.    }
  115.    void invalidate(RECT &r, int iserase = 1)
  116.    {
  117.       InvalidateRect(getwnd(), &r, iserase);
  118.    }
  119.    void enable(int isenable = 1)
  120.    {
  121.       EnableWindow(getwnd(), isenable);
  122.    }
  123.    void move(int l, int t, int w, int h, int isrepaint = 0)
  124.    {
  125.       MoveWindow(getwnd(), l, t, w, h, isrepaint);
  126.    }
  127.    void setredraw(int isredraw = 0)
  128.    {
  129.       sendmsg(WM_SETREDRAW, isredraw, 0L);
  130.    }
  131.    void setpos(HWND insertafter, int x, int y, int w, int h, UINT flags)
  132.    {
  133.       SetWindowPos(getwnd(), insertafter, x, y, w, h, flags);
  134.    }
  135.    void endcapture()
  136.    {
  137.       ReleaseCapture();
  138.    }
  139.    void notifydad(int code)
  140.    {
  141.       senddadmsg(WM_COMMAND, getword(GWW_ID), MAKELPARAM(getwnd(), code));
  142.    }
  143.    void setscrollpos(int bar, int pos, int isredraw = 1)
  144.    {
  145.       SetScrollPos(getwnd(), bar, pos, isredraw);
  146.    }
  147.    void setscrollrange(int bar, int min, int max, int isredraw = 1)
  148.    {
  149.       SetScrollRange(getwnd(), bar, min, max, isredraw);
  150.    }
  151.    void scroll(int dx, int dy, RECT *scrollr = 0, RECT *clipr = 0)
  152.    {
  153.       ScrollWindow(getwnd(), dx, dy, scrollr, clipr);
  154.    }
  155.    void showownedpopups(int isshow)
  156.    {
  157.       ShowOwnedPopups(getwnd(), isshow);
  158.    }
  159.    operator HWND ()
  160.    {
  161.       return getwnd();
  162.    }
  163.    HWND setfocus()
  164.    {
  165.       return SetFocus(getwnd());
  166.    }
  167.    HWND begcapture()
  168.    {
  169.       return SetCapture(getwnd());
  170.    }
  171.    HWND getdad()
  172.    {
  173.       return GetParent(getwnd());
  174.    }
  175.    HWND setdad(HWND dad)
  176.    {
  177.       return SetParent(getwnd(), dad);
  178.    }
  179.    HWND getkid(int id)
  180.    {
  181.       return GetDlgItem(getwnd(), id);
  182.    }
  183.    HWND getotherwnd(UINT rel)
  184.    {
  185.       return GetWindow(getwnd(), rel);
  186.    }
  187.    WORD getword(int off)
  188.    {
  189.       return GetWindowWord(getwnd(), off);
  190.    }
  191.    LONG getstyle()
  192.    {
  193.       return GetWindowLong(getwnd(), GWL_STYLE);
  194.    }
  195.    HICON seticon(HICON icon)
  196.    {
  197.       return (HICON)sendmsg(STM_SETICON, (WPARAM)icon, 0L);
  198.    }
  199.    LRESULT sendmsg(UINT msg, WPARAM wp, LPARAM lp)
  200.    {
  201.       return SendMessage(getwnd(), msg, wp, lp);
  202.    }
  203.    LRESULT postmsg(UINT msg, WPARAM wp, LPARAM lp)
  204.    {
  205.       return PostMessage(getwnd(), msg, wp, lp);
  206.    }
  207.    LRESULT senddadmsg(UINT msg, WPARAM wp, LPARAM lp)
  208.    {
  209.       return SendMessage(getdad(), msg, wp, lp);
  210.    }
  211.    LRESULT postdadmsg(UINT msg, WPARAM wp, LPARAM lp)
  212.    {
  213.       return PostMessage(getdad(), msg, wp, lp);
  214.    }
  215.    LRESULT defwndproc(UINT msg, WPARAM wp, LPARAM lp)
  216.    {
  217.       return DefWindowProc(getwnd(), msg, wp, lp);
  218.    }
  219.    LRESULT defdlgproc(UINT msg, WPARAM wp, LPARAM lp)
  220.    {
  221.       return DefDlgProc(getwnd(), msg, wp, lp);
  222.    }
  223.    HINSTANCE getinst()
  224.    {
  225.       return (HINSTANCE)getword(GWW_HINSTANCE);
  226.    }
  227.  
  228.    int getint(int *i);
  229.    int getlng(LONG *l);
  230.    int getuint(UINT *i);
  231.    int scanf(char fmt[], ...);
  232.    void settxtfmt(char fmt[], ...);
  233.    void settxtvar(va_list args, char fmt[]);
  234.    void setzorder(HWND insafter, UINT flags);
  235.    void movecenter(HWND bkwnd = 0);
  236.    void movecenter(int x, int y);
  237.    void resizekeepc(int w, int h, int isredraw);
  238.    void getrectindad(RECT *dr);
  239.    void errormsg(char msg[], ...);
  240.    void errorvar(va_list args, char msg[]);
  241.    void outofmem();
  242.    void badctrldata(int id, char msg[], ...);
  243.    void transferkids(int toframe, int n, int frframe, int isshow, int tolast = 0, int frthis = 1);
  244.    HWND getsibwnd(int i);
  245.  
  246.    static int peekdiscardmsg(int ismore = 0);
  247.  
  248.    static int peekdispatchmsg(int ismore = 0);
  249. };
  250.