This field controls the interpretation of the following flag fields (TXC.FLAGS1, TXC.FLAGS2, etc.) These fields provide access to a large number of individual (mostly obscure) options in the text edit control. Each of the bits in both the low byte and high byte of TXC.FLAGMASK correspond to one of the TXC.FLAGS? fields. (The low bits in each byte, &h01 and &h0100, correspond to TXC.FLAGS1, etc.)
If both bits (from the upper byte and lower byte) corresponding to a particular flag field are zero, then the bits in that corresponding TXC.FLAGS? field are OR'd into the current flag settings. In other words, if TXC.FLAGMASK = &H0000 and TXC.FLAGS1 = &H0201, then the flags represented by the bits &h0201 would be activated, in addition to whatever flags are set internally be default. Since it is difficult to understand all of the reasons for the internal defaults, but it may be possible to recognize a particular flag that you'd like to set, this is by far the most likely way to use these fields.
However, the TXC.FLAGMASK provides two other ways to interpret the TXC.FLAGS? fields. If the bit corresponding to a TXC.FLAGS? field in the upper word of TXC.FLAGMASK is set, then any bits which are set in that corresponding to TXC.FLAGS? field will clear the associated internal flag. This would only be useful in a situation you were able to identify a particular default flag that you wanted to turn off.
The final possibility is where the bit in the upper byte of TXC.FLAGMASK is clear, but the bit in the lower byte is set. In that case, the corresponding TXC.FLAGS? field is used to set or reset ALL of the associated flags. For example, if txc.flagmask = &h0001 and TXC.FLAGS1 = &H0400, then all of the flags represented by TXC.FLAGS1 would be cleared, except for the one represented by the eleventh bit (&h0400) would be set. As with the previous case, this mode requires that you understand all of the flags for that flags word, since you will be setting or clearing all of them at once.
Flags |
Description |
&h0000 |
(Additive mode) Enable flags specified by 1's in the TXC.flags? fields |
Flags (high byte) |
Description |
&h0001 |
Set/clear all flags in the TXC.flags1 field |
&h0002 |
Set/clear all flags in the TXC.flags2 field |
&h0003 |
Set/clear all flags in the TXC.flags3 field |
&h0004 |
Set/clear all flags in the TXC.flags4 field |
&h0005 |
Set/clear all flags in the TXC.flags5 field |
&h0006 |
Set/clear all flags in the TXC.flags6 field |
Flags (high byte) |
Description |
&h0100 |
Disable flags specified in the TXC.flags1 field |
&h0200 |
Disable flags specified in the TXC.flags2 field |
&h0300 |
Disable flags specified in the TXC.flags3 field |
&h0400 |
Disable flags specified in the TXC.flags4 field |
&h0500 |
Disable flags specified in the TXC.flags5 field |
&h0600 |
Disable flags specified in the TXC.flags6 field |