
What is it?
===========

TabCtrl v1.0 is a custom control implementing the Word 6 style
tabs.  You  can  use  it  in  your  application  to  give it a
fashionable look-and-feel.


Who made it?
============

TabCtrl was derived by Freeman-Teresa  Software  from  TabDlg3
that  was  made  by  Mr.  Edward  McCreary.  As  a result, Mr.
McCreary  and  Freeman-Teresa  Software   together   own   the
copyright  to  the  software. As required by Mr. McCreary, the
original copyright notice is included below:

      TabDlg Version 3.0
      Copyright (c) 1994 Edward McCreary.
      All rights reserved.


Permissions & Terms of agreement
================================

The use of TabCtrl is based on the following conditions:

1. This software is provided "as is" without representation or
   warranty  of  any  kind,  either   expressed   or  implied,
   including   without   limitation,  any  representations  or
   endorsements  regarding  the  use  of,  the  results of, or
   performance of the software, its appropriateness, accuracy,
   reliability,  or correctness. The entire risk as to the use
   of  this  software is assumed by the user. In no event will
   Freeman-Teresa Software be liable for any damages, direct,
   indirect,  incidental  or  consequential resulting from any
   defect  in the software, even if Freeman-Teresa Software or
   Mr.  Edward McCreary has been advised of the possibility of
   such damages. This disclaimer shall supersede any verbal or
   written  statement to the contrary. If you  do  not  accept
   these terms you must cease and desist using  this  software
   immediately.

2. If  you are not distributing tabc.dll or tabc32.dll with an
   application,  you  must  use the original archive file with
   the original contents and copyright notices.

3. If  you  are  using  tabc.dll  and/or  tabc32.dll  with  an
   application,  you  may  use  it free of charge, but you are
   required  to  include   the   following   copyright  notice
   somewhere in the documentation:

     TabCtrl v1.0

     Copyright (c) 1995 Freeman-Teresa Software

     TabDlg3.DLL is Copyright (c) 1994 Edward McCreary

4. You  cannot  sell TabCtrl. It means that when you sell your
   own application that is using TabCtrl, you must be  selling
   your own work, not ours.


How much is it?
===============

It is FREE!!!


What are included in this package?
==================================

tabc.dll     --- TabCtrl 16bit DLL
tabc32.dll   --- TabCtrl 32bit DLL
tabctrl.h    --- Header file to be #include'd your program
tabctrl.cpp  --- C++ wrapper implementation
test.exe     --- Pre-built test program 16bit EXE
test32.exe   --- Pre-built test program 32bit EXE
test.cpp     --- Test/sample program source demonstrating how to use
                 TabCtrl in a C program
src\*.*      --- Source to tabc.dll and tabc32.dll


How to use TabCtrl?
===================

1. Design the master dialog. Put a custom control of class "FTTabCtrl" at
   wherever  you want the body of the tab to appear. That is, this is the
   size and position for the tab control with no tabs. When you add  tabs
   to  it  at runtime, it will extend itself upward. So, you should leave
   some room above the control when you create the dialog template.

2. Design  a  dialog  box  for  each tab. The size of the template really
   doesnt matter but it should be as large as the master dialog box.  You
   should  place  a  group box there with the same ID as the tab control,
   which is in the master dialog. This group box is used as  a  reference
   frame.  Then you can put the controls for that tab into the group box.
   Don't forget to give each control a unique ID, even  across  tabs.  If
   you dont care what the ID of the controls is, as in the case of static
   text,  give  the control -1 for an ID.  The custom control will assign
   is a unique ID when it is created. The caption of the dialog  template
   will  be  used  as  the caption of the tab. The WS_VISIBLE flag of the
   dialog  MUST  be  turned  off,  otherwise  when  it is loaded you will 
   experience flickering.

3. If you use C, Delphi, Visual Basic:

   3.0 #include "tabctrl.h"

   3.1 At WM_CREATE of your main window:

           hlib = LoadLibrary("tabc.dll");   -or-

           hlib = LoadLibrary("tabc32.dll");


   3.2 At WM_INITDIALOG of your master dialog, add tab pages to it:

           SendDlgItemMessage(hDlg,
                              IDC_TABCTRL,
                              TAB_ADDTAB,
                              WPARAM(hInst),
                              LPARAM(LPSTR(MAKEINTRESOURCE(IDD_TABPAGE1))));

           SendDlgItemMessage(hDlg,
                              IDC_TABCTRL,
                              TAB_ADDTAB,
                              WPARAM(hInst),
                              LPARAM(LPSTR(MAKEINTRESOURCE(IDD_TABPAGE2))));

           SendDlgItemMessage(hDlg,
                              IDC_TABCTRL,
                              TAB_ADDTAB,
                              WPARAM(hInst),
                              LPARAM(LPSTR(MAKEINTRESOURCE(IDD_TABPAGE3))));


   3.3 At WM_DESTROY of your main window:

           FreeLibrary(hlib);

4. If you use C++, OWL or MFC:

   4.0 #include "tabctrl.h"

   4.1 Add tabctrl.cpp to your project.

   4.2 At WM_CREATE of your main window:

           TabCtrl::CLInit();

   4.3 Declare a TabCtrl object in your dialog box object:

           TabCtrl tc;

   4.4 At WM_INITDIALOG of your master dialog:

           tc.Init(hDlg, IDC_TABCTRL);
           tc.AddTab(hInst, MAKEINTRESOURCE(IDD_TABPAGE1));
           tc.AddTab(hInst, MAKEINTRESOURCE(IDD_TABPAGE2));
           tc.AddTab(hInst, MAKEINTRESOURCE(IDD_TABPAGE3));
           tc.AddTab(hInst, MAKEINTRESOURCE(IDD_TABPAGE4));

   4.5 At WM_DESTROY of your main window:

           TabCtrl::CLFree();


How to get more info on the use of TabCtrl?
===========================================

1. Check out tabctrl.h where both the message-based interface and
   the C++ interface are documented.

2. Check out test.cpp for a working example.


How to contact the authors?
===========================

Freeman-Teresa Software ==>  freemant@wr.com.au (Internet) -or-

                             100351,3364 (CompuServe)

Mr. Eddie McCreary      ==>  edm@twisto.compaq.com


When to contact us?
===================

1. You have found a bug.
2. You have enhanced the code and would like to share with us.
3. You have an excellent suggestion.


When to NOT to contact us?
==========================

1. You don't know how to use it.
2. You have a common suggestion like Common Control compatibility.


Impressed by the installer?
===========================

It is called Freeman Installer. You can get a copy from:

    ftp.netnet.net  /pub/users/freeman/finst22.zip

or

    WinSDK forum on CompuServe
