Home End User
New Blog Posts: Merging Reports - Part 1 and Part 2

BDS2006, RB10 Hiding pages in the TdaQueryDesignerForm

edited March 2006 in End User
Hi,

We would like to be able to hide pages in the TdaQueryDesignerForm,
for example the Calc and Group tab.

What would be the best way of doing this in code??

regards
Paul

Comments

  • edited March 2006

    See article below. I would create a custom query designer class and register
    it. You can use the existing query designer - probably descend from it or if
    that does not work, then copy it.


    ----------------------------------------------------------------------------------
    Tech Tip: Implementing a Custom Data Designer
    ----------------------------------------------------------------------------------

    Data Designers descend from TdaCustomDataWizard which is defined in
    daDataWizard.pas.

    The TdaCustomDataWizard class defines a class function called DataViewClass
    that should be overriden by descendants classes to specify the DataView
    class for which the data designer is implemented.

    The daRegisterWizard and daUnRegisterWizard procedures defined in
    daDataWizard.pas are used to register and unregister Data Designers with
    DADE.

    For an example of a data designer, see daQueryDesigner.pas which contains
    the default QueryDesigner. The TdaQueryDesigner class overrides the
    DataViewClass method to return TdaQueryDataView. Therefore, the
    QueryDesigner is used with any descendant of TdaQueryDataView
    (TdaADOQueryDataView, TdaBDEQueryDataView, etc.).

    For an example of registering a Data Designer, see the initialization and
    finalization sections of daIDE.pas.

    Note: To replace an existing Data Designer, unregister the default designer
    first:

    initialization

    daUnRegisterWizard(TdaQueryWizard);
    daUnRegisterWizard(TdaQueryDesigner);

    daRegisterWizard(TmyCustomQueryWizard);
    daRegisterWizard(TmyCustomQueryDesigner);

    finalization

    daUnRegisterWizard(TmyCustomQueryWizard);
    daUnRegisterWizard(TmyCustomQueryDesigner);





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited March 2006
    Hi Nard,

    we have done something comparable. I now try to change the visiblity
    of the pages by setting eg
    Notebook.Pages[2].Visible := false;
    Notebook.Pages[3].Visible := false;

    but his doesn't seem to work
    Should I use another way to change the visiblity of the pages??



    regards
    Paul

    On Fri, 17 Mar 2006 09:08:20 -0600, "Nard Moseley \(Digital
  • edited March 2006
    Hi Nard,

    Found our problem:
    I was using
    Notebook.Pages[2].Visible := False;
    Notebook.Pages[3].Visible := False;
    which didn't work


    but using the following
    const
    CPageCalcIndex = 2;
    CPageGroutpIndex = 3;
    ...

    Notebook.SetTabVisible(CPageCalcIndex, False);
    Notebook.SetTabVisible(CPageGroupIndex, False);

    works fine

    Thanks
    Paul

    On Fri, 17 Mar 2006 09:08:20 -0600, "Nard Moseley \(Digital
  • edited March 2006
    > Notebook.Pages[2].Visible := false;

    I could be wrong, but shouldn't the property TabVisible be used in this
    case?
    Notebook.Pages[2].TabVisible := false;
    Notebook.Pages[3].TabVisible := false;

    /Johan
This discussion has been closed.