TImsMaskEdit = class(TCustomMaskEdit)
  ...stuff...
  published
    property TabOrder;
    property TabStop;
  end;

  TImsDBMaskEdit = class(TDBEdit)
  ...stuff...
  end;

  // My new controls that contain edit controls
  TImsEFinder = class(TWinControl)
  private
    FEdit: TImsMaskEdit;
  end;

  TImsDBEFinder = class(TWinControl)
  private
    FEdit: TImsDBMaskEdit;
  end;


TimsEFinder and TImsDBEFinder are the same controls, one is data-aware.
The Finder control contains a button and an edit box. Like a combobox.

I am not making sense of the TabStop and TabOrder properties.

TImsEFinder works as expected. It has a tab stop, works normally.
Yet to get it, I had to invent a wrapper class for TMaskEdit (TImsMaskEdit),
and then publish the tab properties. Otherwise I got TWO tabb stops in the
one control.

I cannot use the same solution to have have a data-aware version of the
control containing TDBEdit instead of TEdit.

I have fiddled with CreateParams (removing WS_TABSTOP style), and tried
various other guesses (ie setting TabStop=False in TImsDBEFinder).

But the fact is I don't really understand why one control gets two tab
stops. Or more important, how to disable/get rid of one.

Any ideas? Please and thank you.


Reply via email to