From 89a26e33f9a4d6dd8c78a2393369bae572158122 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:10:15 +0200 Subject: [PATCH 01/11] Document the AsyncProperty module. --- .../Modules/AsyncProperty/AsyncType.md | 26 +++++++++++ .../Modules/AsyncProperty/BytesMax.md | 22 +++++++++ .../Modules/AsyncProperty/BytesRead.md | 22 +++++++++ .../Modules/AsyncProperty/PropertyName.md | 22 +++++++++ .../Reference/Modules/AsyncProperty/Status.md | 22 +++++++++ .../Modules/AsyncProperty/StatusCode.md | 22 +++++++++ .../Reference/Modules/AsyncProperty/Target.md | 22 +++++++++ docs/Reference/Modules/AsyncProperty/Value.md | 26 +++++++++++ docs/Reference/Modules/AsyncProperty/index.md | 46 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 10 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/AsyncProperty/AsyncType.md create mode 100644 docs/Reference/Modules/AsyncProperty/BytesMax.md create mode 100644 docs/Reference/Modules/AsyncProperty/BytesRead.md create mode 100644 docs/Reference/Modules/AsyncProperty/PropertyName.md create mode 100644 docs/Reference/Modules/AsyncProperty/Status.md create mode 100644 docs/Reference/Modules/AsyncProperty/StatusCode.md create mode 100644 docs/Reference/Modules/AsyncProperty/Target.md create mode 100644 docs/Reference/Modules/AsyncProperty/Value.md create mode 100644 docs/Reference/Modules/AsyncProperty/index.md diff --git a/docs/Reference/Modules/AsyncProperty/AsyncType.md b/docs/Reference/Modules/AsyncProperty/AsyncType.md new file mode 100644 index 0000000..90e5023 --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/AsyncType.md @@ -0,0 +1,26 @@ +--- +title: AsyncType +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/AsyncType +--- +# AsyncType +{: .no_toc } + +Returns the kind of data being read, as an **AsyncTypeConstants** value. Read-only. + +Syntax: *object*.**AsyncType** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value mirrors the *AsyncType* argument passed to **UserControl.AsyncRead** when the read was started. It also determines the subtype of [**Value**](Value) once the read completes: + +- `vbAsyncTypePicture` (0) — the data is being delivered as an **stdole.IPictureDisp**. +- `vbAsyncTypeFile` (1) — the data is being saved to a temporary file; **Value** holds its path as a **String**. +- `vbAsyncTypeByteArray` (2) — the data is being delivered as a **Byte** array. + +### See Also + +- [Value](Value) property +- [PropertyName](PropertyName) property +- [Target](Target) property diff --git a/docs/Reference/Modules/AsyncProperty/BytesMax.md b/docs/Reference/Modules/AsyncProperty/BytesMax.md new file mode 100644 index 0000000..2233dd7 --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/BytesMax.md @@ -0,0 +1,22 @@ +--- +title: BytesMax +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/BytesMax +--- +# BytesMax +{: .no_toc } + +Returns the total number of bytes expected for the read, as a **Long**. Read-only. + +Syntax: *object*.**BytesMax** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +Used together with [**BytesRead**](BytesRead) to drive a progress indicator during an **AsyncReadProgress** event. **BytesMax** can be zero when the server has not advertised a content length — for example with an HTTP chunked transfer — in which case the total size is not known until the read completes and a determinate progress bar cannot be shown. + +### See Also + +- [BytesRead](BytesRead) property +- [Status](Status) property +- [StatusCode](StatusCode) property diff --git a/docs/Reference/Modules/AsyncProperty/BytesRead.md b/docs/Reference/Modules/AsyncProperty/BytesRead.md new file mode 100644 index 0000000..cab91cf --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/BytesRead.md @@ -0,0 +1,22 @@ +--- +title: BytesRead +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/BytesRead +--- +# BytesRead +{: .no_toc } + +Returns the number of bytes that have been read so far, as a **Long**. Read-only. + +Syntax: *object*.**BytesRead** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value accumulates across successive **AsyncReadProgress** notifications and reaches its final total by the time **AsyncReadComplete** fires. When [**BytesMax**](BytesMax) is non-zero, the ratio `BytesRead / BytesMax` gives the fraction of the read that has completed. + +### See Also + +- [BytesMax](BytesMax) property +- [Status](Status) property +- [StatusCode](StatusCode) property diff --git a/docs/Reference/Modules/AsyncProperty/PropertyName.md b/docs/Reference/Modules/AsyncProperty/PropertyName.md new file mode 100644 index 0000000..178164d --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/PropertyName.md @@ -0,0 +1,22 @@ +--- +title: PropertyName +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/PropertyName +--- +# PropertyName +{: .no_toc } + +Returns the name of the property the read is being performed for, as a **String**. Read-only. + +Syntax: *object*.**PropertyName** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value is the *PropertyName* argument that was passed to **UserControl.AsyncRead** when the read was started. A user control can have several reads in flight at once, so an event handler typically uses **PropertyName** in a **Select Case** to decide what to do with [**Value**](Value) when the read completes — for example, which property of the control to assign the result to. + +### See Also + +- [Target](Target) property +- [Value](Value) property +- [AsyncType](AsyncType) property diff --git a/docs/Reference/Modules/AsyncProperty/Status.md b/docs/Reference/Modules/AsyncProperty/Status.md new file mode 100644 index 0000000..a51b5ba --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/Status.md @@ -0,0 +1,22 @@ +--- +title: Status +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/Status +--- +# Status +{: .no_toc } + +Returns a human-readable description of the current state of the read, as a **String**. Read-only. + +Syntax: *object*.**Status** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value is a short message such as `"Finding resource"`, `"Connecting"`, or `"Receiving response"`, suitable for display in a status bar or tooltip while the read is in progress. For programmatic logic, examine [**StatusCode**](StatusCode) instead — its values are stable, whereas **Status** is intended for human consumption and may be localised. + +### See Also + +- [StatusCode](StatusCode) property +- [BytesRead](BytesRead) property +- [BytesMax](BytesMax) property diff --git a/docs/Reference/Modules/AsyncProperty/StatusCode.md b/docs/Reference/Modules/AsyncProperty/StatusCode.md new file mode 100644 index 0000000..423bc0c --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/StatusCode.md @@ -0,0 +1,22 @@ +--- +title: StatusCode +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/StatusCode +--- +# StatusCode +{: .no_toc } + +Returns the current state of the read, as an **AsyncStatusCodeConstants** value. Read-only. + +Syntax: *object*.**StatusCode** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value identifies the step the read is currently on — `vbAsyncStatusCodeFindingResource`, `vbAsyncStatusCodeConnecting`, `vbAsyncStatusCodeBeginDownloadData`, `vbAsyncStatusCodeEndDownloadData`, and so on. `vbAsyncStatusCodeError` (0) indicates that the read failed; the [**Status**](Status) property carries the matching human-readable description. + +### See Also + +- [Status](Status) property +- [BytesRead](BytesRead) property +- [BytesMax](BytesMax) property diff --git a/docs/Reference/Modules/AsyncProperty/Target.md b/docs/Reference/Modules/AsyncProperty/Target.md new file mode 100644 index 0000000..993338d --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/Target.md @@ -0,0 +1,22 @@ +--- +title: Target +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/Target +--- +# Target +{: .no_toc } + +Returns the URL or file path being read, as a **String**. Read-only. + +Syntax: *object*.**Target** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +The value is the *Target* argument that was passed to **UserControl.AsyncRead** when the read was started — typically an absolute or relative URL, but local file paths are also accepted. It is the location the data is being fetched from, and remains the same across every **AsyncReadProgress** notification and the final **AsyncReadComplete** event for that read. + +### See Also + +- [PropertyName](PropertyName) property +- [Value](Value) property +- [AsyncType](AsyncType) property diff --git a/docs/Reference/Modules/AsyncProperty/Value.md b/docs/Reference/Modules/AsyncProperty/Value.md new file mode 100644 index 0000000..eb5fa55 --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/Value.md @@ -0,0 +1,26 @@ +--- +title: Value +parent: AsyncProperty Module +permalink: /tB/Packages/VBRUN/AsyncProperty/Value +--- +# Value +{: .no_toc } + +Returns the result of the asynchronous read, as a **Variant**. Read-only. + +Syntax: *object*.**Value** + +*object* +: *required* An object expression that evaluates to an **AsyncProperty** object. + +**Value** is only meaningful in the **AsyncReadComplete** event — during a progress notification the read has not yet finished. The concrete subtype of **Value** is determined by [**AsyncType**](AsyncType): + +- `vbAsyncTypePicture` — an **stdole.IPictureDisp**, which can be assigned to a **Picture** property. +- `vbAsyncTypeFile` — a **String** holding the path of a temporary file containing the downloaded data. +- `vbAsyncTypeByteArray` — a **Byte** array (`Byte()`) holding the raw bytes. + +### See Also + +- [AsyncType](AsyncType) property +- [PropertyName](PropertyName) property +- [Target](Target) property diff --git a/docs/Reference/Modules/AsyncProperty/index.md b/docs/Reference/Modules/AsyncProperty/index.md new file mode 100644 index 0000000..40bff45 --- /dev/null +++ b/docs/Reference/Modules/AsyncProperty/index.md @@ -0,0 +1,46 @@ +--- +title: AsyncProperty Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/AsyncProperty/ +redirect_from: + - /tB/Modules/AsyncProperty +has_toc: false +--- + +# AsyncProperty module + +The **AsyncProperty** object carries the results of an asynchronous read started with **UserControl.AsyncRead**. It is passed to the **AsyncReadComplete** and **AsyncReadProgress** events, where it identifies which read this notification refers to, reports how far the download has got, and — once complete — supplies the downloaded value. Every property is read-only: the runtime fills the object in before raising the event. + +## Identifying the read + +A user control may have several outstanding asynchronous reads at once, so the **AsyncProperty** passed to each event has to identify the one the event is for. [**PropertyName**](PropertyName) returns the name supplied to **AsyncRead** when the request was started — typically the name of the property the control is going to assign the value to. [**Target**](Target) returns the URL or file path that was being downloaded. [**AsyncType**](AsyncType) returns an **AsyncTypeConstants** value identifying how the data is being delivered — as a picture, a file, or a byte array. + +```tb +Private Sub UserControl_AsyncReadComplete(ByVal Prop As AsyncProperty) + Select Case Prop.PropertyName + Case "Picture" + Set Picture = Prop.Value + Case "DataFile" + ' Prop.Value is the path to the downloaded temporary file. + End Select +End Sub +``` + +## The downloaded value + +Once the read finishes, [**Value**](Value) holds the result. Its concrete subtype is determined by **AsyncType**: an **stdole.IPictureDisp** when the data was requested as a picture, a **String** containing the path of a downloaded temporary file when it was requested as a file, or a **Byte** array when the raw bytes were requested. **Value** is only meaningful in the **AsyncReadComplete** event — during a progress notification the read has not yet finished. + +## Tracking progress + +While a read is in flight, the runtime raises **AsyncReadProgress** periodically so the control can update a progress indicator. [**BytesRead**](BytesRead) reports how many bytes have arrived so far, and [**BytesMax**](BytesMax) the total number expected — though **BytesMax** may be zero when the server has not advertised a content length. [**Status**](Status) returns a human-readable description of the current step ("Connecting", "Receiving response", and so on), and [**StatusCode**](StatusCode) returns the corresponding **AsyncStatusCodeConstants** value for programmatic inspection. + +## Members + +- [AsyncType](AsyncType) -- returns the kind of data being read (picture, file, or byte array) +- [BytesMax](BytesMax) -- returns the total number of bytes expected for the read +- [BytesRead](BytesRead) -- returns the number of bytes that have been read so far +- [PropertyName](PropertyName) -- returns the name of the property the read is being performed for +- [Status](Status) -- returns a human-readable description of the current read state +- [StatusCode](StatusCode) -- returns the **AsyncStatusCodeConstants** value for the current read state +- [Target](Target) -- returns the URL or path being read +- [Value](Value) -- returns the downloaded value once the read has completed diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index 439b691..5dfc025 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/AsyncProperty - /tB/Modules/ContainedControls - /tB/Modules/DataMembers - /tB/Modules/DataObject From 6b560605511a077d19a8209577a7e36aeffa913f Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:09:50 +0200 Subject: [PATCH 02/11] Document the ContainedControls module. --- .../Modules/ContainedControls/index.md | 69 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/ContainedControls/index.md diff --git a/docs/Reference/Modules/ContainedControls/index.md b/docs/Reference/Modules/ContainedControls/index.md new file mode 100644 index 0000000..8ab12df --- /dev/null +++ b/docs/Reference/Modules/ContainedControls/index.md @@ -0,0 +1,69 @@ +--- +title: ContainedControls Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/ContainedControls/ +redirect_from: + - /tB/Modules/ContainedControls +has_toc: false +--- + +# ContainedControls module + +The **ContainedControls** object is a collection that exposes the controls placed inside an instance of a **UserControl** that has been set up as a control container. The author of the **UserControl** uses this collection to enumerate or inspect those constituent controls at run time. The author of the **UserControl** sees only what the consumer added — controls placed on the **UserControl** at design time by the author themselves are not part of this collection. + +The collection is read-only: items cannot be added or removed through it, and the indexer returns existing controls only. To use it, the **UserControl**'s **ControlContainer** property must have been set to **True** at design time. + +```tb +' Inside the UserControl that hosts other controls. +Private Sub UserControl_Resize() + Dim ctl As Object + For Each ctl In UserControl.ContainedControls + ' Lay each consumer-placed control out within the UserControl. + Next ctl +End Sub +``` + +## Members + +### Count + +Returns the number of controls in the collection. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to a **ContainedControls** object. + +The value is a **Long**. Valid indexes for [**Item**](#item) run from `1` to **Count**. + +### Item + +Returns a single control from the collection by its one-based position. + +Syntax: *object*.**Item(** *index* **)** + +*object* +: *required* An object expression that evaluates to a **ContainedControls** object. + +*index* +: *required* A **Long** giving the one-based position of the control to return. Must be between `1` and [**Count**](#count); otherwise an error occurs. + +**Item** is the default member of **ContainedControls**, so the following lines are equivalent: + +```tb +Set ctl = UserControl.ContainedControls.Item(1) +Set ctl = UserControl.ContainedControls(1) +``` + +The result is typed as **Object** because the consumer may have placed any kind of control inside the **UserControl**. Use [**TypeName**](../../../Modules/Information/TypeName) or **TypeOf** to discover the concrete type before binding to a specific control's properties. + +### For Each iteration + +A **ContainedControls** object can be iterated with the [**For Each...Next**](../../../Core/For-Each-Next) statement, which yields each control in turn, in the order the consumer added them. The hidden `_NewEnum` member supplies the enumerator and is not called directly from user code. + +```tb +Dim ctl As Object +For Each ctl In UserControl.ContainedControls + Debug.Print TypeName(ctl) +Next ctl +``` diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index 5dfc025..b2227f7 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/ContainedControls - /tB/Modules/DataMembers - /tB/Modules/DataObject - /tB/Modules/ErrorCallstack From 530fbc582fa562e68db1811f57a29a069bbf7eea Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:16:41 +0200 Subject: [PATCH 03/11] Document the DataMembers module. --- docs/Reference/Modules/DataMembers/index.md | 101 ++++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/DataMembers/index.md diff --git a/docs/Reference/Modules/DataMembers/index.md b/docs/Reference/Modules/DataMembers/index.md new file mode 100644 index 0000000..5c11614 --- /dev/null +++ b/docs/Reference/Modules/DataMembers/index.md @@ -0,0 +1,101 @@ +--- +title: DataMembers Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/DataMembers/ +redirect_from: + - /tB/Modules/DataMembers +has_toc: false +--- + +# DataMembers module + +The **DataMembers** object is a collection of names that a data source class advertises at design time, so that a consumer binding to the data source can choose which member to bind to. Each entry is a **String** — the name of a data member the source can supply on request. The data source manages the list directly with [**Add**](#add), [**Remove**](#remove), and [**Clear**](#clear); the design-time environment reads it back through [**Count**](#count), [**Item**](#item), and **For Each** iteration to populate the data member picker. + +```tb +' Inside a class whose DataSourceBehavior is set to make it a data source. +Private Sub Class_Initialize() + UserControl.DataMembers.Add "Customers" + UserControl.DataMembers.Add "Orders" + UserControl.DataMembers.Add "Invoices" +End Sub +``` + +## Members + +### Add + +Adds a data member name to the collection. + +Syntax: *object*.**Add** *DataMember* + +*object* +: *required* An object expression that evaluates to a **DataMembers** object. + +*DataMember* +: *required* A **String** giving the name of the data member to add. Names are usually presented to the consumer verbatim, so they should be readable identifiers. + +### Clear + +Removes every entry from the collection. + +Syntax: *object*.**Clear** + +*object* +: *required* An object expression that evaluates to a **DataMembers** object. + +After **Clear**, [**Count**](#count) is `0`. Use this when the set of data members the source can supply changes wholesale — for example, after the source is reconfigured. + +### Count + +Returns the number of names in the collection. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to a **DataMembers** object. + +The value is a **Long**. Valid indexes for [**Item**](#item) run from `1` to **Count**. + +### Item + +Returns a single data member name from the collection. + +Syntax: *object*.**Item(** *index* **)** + +*object* +: *required* An object expression that evaluates to a **DataMembers** object. + +*index* +: *required* A **Long** giving the one-based position of the name to return. Must be between `1` and [**Count**](#count); otherwise an error occurs. + +**Item** is the default member of **DataMembers**, so the following lines are equivalent: + +```tb +name = MyDataMembers.Item(1) +name = MyDataMembers(1) +``` + +The result is a **String**. + +### Remove + +Removes a single entry from the collection, identified either by position or by name. + +Syntax: *object*.**Remove** *index* + +*object* +: *required* An object expression that evaluates to a **DataMembers** object. + +*index* +: *required* A **Variant** identifying the entry to remove. If numeric, it is treated as a one-based position between `1` and [**Count**](#count). If a **String**, it is matched against the names previously passed to [**Add**](#add). If no entry matches, an error occurs. + +### For Each iteration + +A **DataMembers** object can be iterated with the [**For Each...Next**](../../../Core/For-Each-Next) statement, which yields each name in turn, in the order it was added. The hidden `_NewEnum` member supplies the enumerator and is not called directly from user code. + +```tb +Dim Name As Variant +For Each Name In MyDataMembers + Debug.Print Name +Next Name +``` diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index b2227f7..d59de69 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/DataMembers - /tB/Modules/DataObject - /tB/Modules/ErrorCallstack - /tB/Modules/ErrorContext From 8b054debde153406bc88ebf1d1538840ba83f3f8 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:20:00 +0200 Subject: [PATCH 04/11] Document the DataObject module. --- .../Modules/DataObject/AvailableFormats.md | 35 +++++++ docs/Reference/Modules/DataObject/Clear.md | 32 ++++++ .../Modules/DataObject/DataObjectFiles.md | 97 +++++++++++++++++++ .../Modules/DataObject/DataObjectFormat.md | 57 +++++++++++ .../Modules/DataObject/DataObjectFormats.md | 53 ++++++++++ docs/Reference/Modules/DataObject/Files.md | 38 ++++++++ docs/Reference/Modules/DataObject/GetData.md | 36 +++++++ .../Modules/DataObject/GetDataByName.md | 35 +++++++ .../Reference/Modules/DataObject/GetFormat.md | 37 +++++++ .../Modules/DataObject/GetFormatByName.md | 37 +++++++ docs/Reference/Modules/DataObject/SetData.md | 36 +++++++ docs/Reference/Modules/DataObject/index.md | 64 ++++++++++++ docs/Reference/Modules/todo.md | 1 - 13 files changed, 557 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/DataObject/AvailableFormats.md create mode 100644 docs/Reference/Modules/DataObject/Clear.md create mode 100644 docs/Reference/Modules/DataObject/DataObjectFiles.md create mode 100644 docs/Reference/Modules/DataObject/DataObjectFormat.md create mode 100644 docs/Reference/Modules/DataObject/DataObjectFormats.md create mode 100644 docs/Reference/Modules/DataObject/Files.md create mode 100644 docs/Reference/Modules/DataObject/GetData.md create mode 100644 docs/Reference/Modules/DataObject/GetDataByName.md create mode 100644 docs/Reference/Modules/DataObject/GetFormat.md create mode 100644 docs/Reference/Modules/DataObject/GetFormatByName.md create mode 100644 docs/Reference/Modules/DataObject/SetData.md create mode 100644 docs/Reference/Modules/DataObject/index.md diff --git a/docs/Reference/Modules/DataObject/AvailableFormats.md b/docs/Reference/Modules/DataObject/AvailableFormats.md new file mode 100644 index 0000000..ed0f134 --- /dev/null +++ b/docs/Reference/Modules/DataObject/AvailableFormats.md @@ -0,0 +1,35 @@ +--- +title: AvailableFormats +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/AvailableFormats +--- +# AvailableFormats +{: .no_toc } + +Returns a [**DataObjectFormats**](DataObjectFormats) collection describing every format the **DataObject** currently holds a value in. + +Syntax: *object*.**AvailableFormats** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +Each element of the returned collection is a [**DataObjectFormat**](DataObjectFormat) descriptor with the format's `Name`, its `FormatType` from **ClipboardConstants**, and information about how the format is stored. Use this when the consumer side does not know in advance which formats the source has supplied — typically in OLE drag-and-drop or paste operations from another application. + +> [!NOTE] +> **AvailableFormats** is a twinBASIC addition; VB6 callers had to probe each format of interest with **GetFormat** instead. + +### Example + +```tb +Dim F As DataObjectFormat +For Each F In Data.AvailableFormats + Debug.Print F.Name, F.FormatType +Next F +``` + +### See Also + +- [DataObjectFormats](DataObjectFormats) collection +- [DataObjectFormat](DataObjectFormat) +- [GetFormat](GetFormat) method +- [GetFormatByName](GetFormatByName) method diff --git a/docs/Reference/Modules/DataObject/Clear.md b/docs/Reference/Modules/DataObject/Clear.md new file mode 100644 index 0000000..9c3075b --- /dev/null +++ b/docs/Reference/Modules/DataObject/Clear.md @@ -0,0 +1,32 @@ +--- +title: Clear +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/Clear +--- +# Clear +{: .no_toc } + +Removes every value and format from the **DataObject**, returning it to the empty state it had immediately after **New**. + +Syntax: *object*.**Clear** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +After **Clear** returns, [**GetFormat**](GetFormat) reports **False** for every format and [**AvailableFormats**](AvailableFormats) is empty. Use **Clear** when reusing a single **DataObject** for several operations, so that values from the previous operation cannot leak into the next one. + +### Example + +```tb +Dim Data As New DataObject +Data.SetData "First payload", vbCFText +' ... use Data ... + +Data.Clear +Data.SetData "Second payload", vbCFText +``` + +### See Also + +- [SetData](SetData) method +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/DataObjectFiles.md b/docs/Reference/Modules/DataObject/DataObjectFiles.md new file mode 100644 index 0000000..4362b11 --- /dev/null +++ b/docs/Reference/Modules/DataObject/DataObjectFiles.md @@ -0,0 +1,97 @@ +--- +title: DataObjectFiles +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/DataObjectFiles +--- +# DataObjectFiles +{: .no_toc } + +A **DataObjectFiles** object is the collection of file paths held by a [**DataObject**](.) — typically the payload of a Windows shell drag-and-drop, which arrives under the `vbCFFiles` clipboard format. Each element is a fully qualified path stored as a **String**. The collection is reachable through the [**Files**](Files) property of the parent **DataObject**. + +The collection is mutable: the source side of a drag-and-drop or clipboard operation can build a list with [**Add**](#add), and the destination side reads it back with [**Item**](#item) or **For Each** iteration. + +## Members + +### Add + +Appends a file path to the collection. + +Syntax: *object*.**Add** *Filename* [ **,** *Index* ] + +*object* +: *required* An object expression that evaluates to a **DataObjectFiles** object. + +*Filename* +: *required* A **String** giving the fully qualified path of the file to add. + +*Index* +: *optional* A **Variant** identifying an existing entry. When supplied, the new path is inserted before that entry; if numeric, *Index* is a one-based position between `1` and [**Count**](#count). When omitted, the path is appended to the end. + +### Clear + +Removes every entry from the collection. + +Syntax: *object*.**Clear** + +*object* +: *required* An object expression that evaluates to a **DataObjectFiles** object. + +After **Clear**, [**Count**](#count) is `0`. + +### Count + +Returns the number of paths in the collection. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to a **DataObjectFiles** object. + +The value is a **Long**. Valid indexes for [**Item**](#item) run from `1` to **Count**. + +### Item + +Returns one path from the collection by its one-based position, as a **String**. + +Syntax: *object*.**Item(** *Index* **)** + +*object* +: *required* An object expression that evaluates to a **DataObjectFiles** object. + +*Index* +: *required* A **Long** giving the one-based position of the path to return. Must be between `1` and [**Count**](#count); otherwise an error occurs. + +**Item** is the default member of **DataObjectFiles**, so the following lines are equivalent: + +```tb +path = Data.Files.Item(1) +path = Data.Files(1) +``` + +### Remove + +Removes a single entry from the collection. + +Syntax: *object*.**Remove** *Index* + +*object* +: *required* An object expression that evaluates to a **DataObjectFiles** object. + +*Index* +: *required* A **Variant** identifying the entry to remove. Numeric values are treated as one-based positions between `1` and [**Count**](#count); string values are matched against the stored paths. If no entry matches, an error occurs. + +### For Each iteration + +A **DataObjectFiles** object can be iterated with the [**For Each...Next**](../../../Core/For-Each-Next) statement, which yields each path in turn, in insertion order. The hidden `_NewEnum` member supplies the enumerator and is not called directly from user code. + +```tb +Dim Path As Variant +For Each Path In Data.Files + Debug.Print Path +Next Path +``` + +## See Also + +- [DataObject](.) +- [Files](Files) property diff --git a/docs/Reference/Modules/DataObject/DataObjectFormat.md b/docs/Reference/Modules/DataObject/DataObjectFormat.md new file mode 100644 index 0000000..e184ef2 --- /dev/null +++ b/docs/Reference/Modules/DataObject/DataObjectFormat.md @@ -0,0 +1,57 @@ +--- +title: DataObjectFormat +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/DataObjectFormat +--- +# DataObjectFormat +{: .no_toc } + +A **DataObjectFormat** describes one of the formats a [**DataObject**](.) holds a value in. The descriptor is what you get when iterating a [**DataObjectFormats**](DataObjectFormats) collection, and exposes everything the runtime needs to negotiate a transfer: which clipboard format type the data is in, which aspect (rendering) of it is on offer, and how the bytes are stored. + +## Members + +### AspectIndex + +Returns or sets a one-based index into the chosen [**AspectType**](#aspecttype), as a **Long**. + +Syntax: *object*.**AspectIndex** [ **=** *value* ] + +For aspects that have several pages or frames — for example a multi-page metafile rendered with `dvaspect_Content` — **AspectIndex** picks which one this descriptor refers to. For single-aspect formats, leave at the default. + +### AspectType + +Returns or sets which rendering of the underlying data the descriptor refers to, as an **AspectTypeConstants** value. + +Syntax: *object*.**AspectType** [ **=** *value* ] + +Common values are `dvaspect_Content` (the data itself), `dvaspect_Thumbnail` (a small preview), `dvaspect_Icon`, and `dvaspect_DocPrint` (a print-time rendering). Most formats only ever expose `dvaspect_Content`. + +### FormatType + +Returns or sets the clipboard format type, as a **ClipboardConstants** value. + +Syntax: *object*.**FormatType** [ **=** *value* ] + +Examples: `vbCFText`, `vbCFUnicodeText`, `vbCFBitmap`, `vbCFFiles`. The same numeric identifier can be passed to [**GetData**](GetData) or [**GetFormat**](GetFormat). + +### Name + +Returns the human-readable name of the format, as a **String**. Read-only. + +Syntax: *object*.**Name** + +For built-in clipboard formats this is a stable label such as `"Text"` or `"Bitmap"`; for formats registered with `RegisterClipboardFormat`, this is the name they were registered under, which is also the key accepted by [**GetDataByName**](GetDataByName) and [**GetFormatByName**](GetFormatByName). + +### StorageType + +Returns or sets how the data is stored, as a **StorageTypeConstants** value. + +Syntax: *object*.**StorageType** [ **=** *value* ] + +Identifies the medium used to transfer the bytes — a global memory handle, a file path, an `IStream`, an `IStorage`, a GDI handle, a metafile, or an enhanced metafile. The runtime normally negotiates this automatically; setting it directly is only needed when interoperating with another component that requires a specific medium. + +## See Also + +- [DataObject](.) +- [DataObjectFormats](DataObjectFormats) collection +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/DataObjectFormats.md b/docs/Reference/Modules/DataObject/DataObjectFormats.md new file mode 100644 index 0000000..201910c --- /dev/null +++ b/docs/Reference/Modules/DataObject/DataObjectFormats.md @@ -0,0 +1,53 @@ +--- +title: DataObjectFormats +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/DataObjectFormats +--- +# DataObjectFormats +{: .no_toc } + +A **DataObjectFormats** object is the read-only collection of [**DataObjectFormat**](DataObjectFormat) descriptors a [**DataObject**](.) currently exposes — one element per clipboard format the object holds a value in. The collection is returned by the [**AvailableFormats**](AvailableFormats) method and is the only general way to discover, at run time, which formats a **DataObject** received from another application has on offer. + +## Members + +### Count + +Returns the number of formats in the collection. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to a **DataObjectFormats** object. + +The value is a **Long**. Valid indexes for [**Item**](#item) run from `1` to **Count**. + +### Item + +Returns a single format descriptor from the collection by its one-based position. + +Syntax: *object*.**Item(** *Index* **)** + +*object* +: *required* An object expression that evaluates to a **DataObjectFormats** object. + +*Index* +: *required* A **Long** giving the one-based position of the descriptor to return. Must be between `1` and [**Count**](#count); otherwise an error occurs. + +The result is a [**DataObjectFormat**](DataObjectFormat). + +### For Each iteration + +A **DataObjectFormats** object can be iterated with the [**For Each...Next**](../../../Core/For-Each-Next) statement, which yields each [**DataObjectFormat**](DataObjectFormat) in turn. The hidden `_NewEnum` member supplies the enumerator and is not called directly from user code. + +```tb +Dim F As DataObjectFormat +For Each F In Data.AvailableFormats + Debug.Print F.Name, F.FormatType +Next F +``` + +## See Also + +- [DataObject](.) +- [DataObjectFormat](DataObjectFormat) +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/Files.md b/docs/Reference/Modules/DataObject/Files.md new file mode 100644 index 0000000..152908d --- /dev/null +++ b/docs/Reference/Modules/DataObject/Files.md @@ -0,0 +1,38 @@ +--- +title: Files +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/Files +--- +# Files +{: .no_toc } + +Returns a [**DataObjectFiles**](DataObjectFiles) collection holding the file paths the **DataObject** carries. + +Syntax: *object*.**Files** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +This is the typical way to read the payload of a Windows shell drag-and-drop, which arrives as a list of fully qualified paths under the `vbCFFiles` clipboard format. Each element of the collection is a **String**. + +The source side may also fill the **DataObject** with a list of files by adding paths to this collection — see [**DataObjectFiles.Add**](DataObjectFiles#add). + +### Example + +```tb +Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, _ + Shift As Integer, X As Single, Y As Single) + If Data.GetFormat(vbCFFiles) Then + Dim Path As Variant + For Each Path In Data.Files + Debug.Print Path + Next Path + End If +End Sub +``` + +### See Also + +- [DataObjectFiles](DataObjectFiles) collection +- [GetFormat](GetFormat) method +- [SetData](SetData) method diff --git a/docs/Reference/Modules/DataObject/GetData.md b/docs/Reference/Modules/DataObject/GetData.md new file mode 100644 index 0000000..30181a6 --- /dev/null +++ b/docs/Reference/Modules/DataObject/GetData.md @@ -0,0 +1,36 @@ +--- +title: GetData +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/GetData +--- +# GetData +{: .no_toc } + +Returns the value previously stored in the **DataObject** under the given clipboard format, as a **Variant**. + +Syntax: *object*.**GetData(** *Format* **)** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +*Format* +: *required* A **ClipboardConstants** value identifying the format to read back — for example `vbCFText`, `vbCFUnicodeText`, `vbCFBitmap`. If the **DataObject** does not contain data in *Format*, the result is **Empty**; check first with [**GetFormat**](GetFormat) when the format may not be present. + +The concrete subtype of the returned **Variant** depends on *Format*: text formats yield a **String**, `vbCFBitmap` yields an **stdole.IPictureDisp**, `vbCFFiles` yields a path or a path collection, and so on. To pull data out by a textual format name rather than a numeric clipboard constant, use [**GetDataByName**](GetDataByName). + +### Example + +```tb +If Data.GetFormat(vbCFText) Then + Dim Text As String + Text = Data.GetData(vbCFText) + Debug.Print Text +End If +``` + +### See Also + +- [GetDataByName](GetDataByName) method +- [GetFormat](GetFormat) method +- [SetData](SetData) method +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/GetDataByName.md b/docs/Reference/Modules/DataObject/GetDataByName.md new file mode 100644 index 0000000..cda25e1 --- /dev/null +++ b/docs/Reference/Modules/DataObject/GetDataByName.md @@ -0,0 +1,35 @@ +--- +title: GetDataByName +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/GetDataByName +--- +# GetDataByName +{: .no_toc } + +Returns the value previously stored in the **DataObject** under a format identified by name, as a **Variant**. + +Syntax: *object*.**GetDataByName(** *Format* **)** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +*Format* +: *required* A **String** giving the name of the format to read back — typically the name a custom clipboard format was registered under with `RegisterClipboardFormat`. If the **DataObject** does not contain data in *Format*, the result is **Empty**; check first with [**GetFormatByName**](GetFormatByName) when the format may not be present. + +> [!NOTE] +> **GetDataByName** is a twinBASIC addition; it has no equivalent in VB6. Use it when the consumer side knows the format only by its registered name and does not have the corresponding numeric identifier handy. For the standard built-in formats, [**GetData**](GetData) with a **ClipboardConstants** value is more direct. + +### Example + +```tb +If Data.GetFormatByName("HTML Format") Then + Dim Html As String + Html = Data.GetDataByName("HTML Format") +End If +``` + +### See Also + +- [GetData](GetData) method +- [GetFormatByName](GetFormatByName) method +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/GetFormat.md b/docs/Reference/Modules/DataObject/GetFormat.md new file mode 100644 index 0000000..ae25e78 --- /dev/null +++ b/docs/Reference/Modules/DataObject/GetFormat.md @@ -0,0 +1,37 @@ +--- +title: GetFormat +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/GetFormat +--- +# GetFormat +{: .no_toc } + +Returns whether the **DataObject** holds a value in the given clipboard format, as a **Boolean**. + +Syntax: *object*.**GetFormat(** *Format* **)** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +*Format* +: *required* A **ClipboardConstants** value identifying the format to test for — for example `vbCFText`, `vbCFUnicodeText`, `vbCFBitmap`, `vbCFFiles`. + +The result is **True** if the **DataObject** can produce a value in *Format*, **False** otherwise. Use this before calling [**GetData**](GetData) when the format may not be present, so that an unknown format does not silently return **Empty**. + +### Example + +```tb +If Data.GetFormat(vbCFFiles) Then + Dim Path As Variant + For Each Path In Data.Files + Debug.Print Path + Next Path +End If +``` + +### See Also + +- [GetData](GetData) method +- [GetFormatByName](GetFormatByName) method +- [AvailableFormats](AvailableFormats) method +- [SetData](SetData) method diff --git a/docs/Reference/Modules/DataObject/GetFormatByName.md b/docs/Reference/Modules/DataObject/GetFormatByName.md new file mode 100644 index 0000000..a102cb5 --- /dev/null +++ b/docs/Reference/Modules/DataObject/GetFormatByName.md @@ -0,0 +1,37 @@ +--- +title: GetFormatByName +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/GetFormatByName +--- +# GetFormatByName +{: .no_toc } + +Returns whether the **DataObject** holds a value in a format identified by name, as a **Boolean**. + +Syntax: *object*.**GetFormatByName(** *Format* **)** + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +*Format* +: *required* A **String** giving the name of the format to test for — typically the name a custom clipboard format was registered under with `RegisterClipboardFormat`. + +The result is **True** if the **DataObject** can produce a value in *Format*, **False** otherwise. Use this before calling [**GetDataByName**](GetDataByName) when the format may not be present. + +> [!NOTE] +> **GetFormatByName** is a twinBASIC addition; it has no equivalent in VB6. For the standard built-in formats, [**GetFormat**](GetFormat) with a **ClipboardConstants** value is more direct. + +### Example + +```tb +If Data.GetFormatByName("HTML Format") Then + Dim Html As String + Html = Data.GetDataByName("HTML Format") +End If +``` + +### See Also + +- [GetDataByName](GetDataByName) method +- [GetFormat](GetFormat) method +- [AvailableFormats](AvailableFormats) method diff --git a/docs/Reference/Modules/DataObject/SetData.md b/docs/Reference/Modules/DataObject/SetData.md new file mode 100644 index 0000000..1c40c32 --- /dev/null +++ b/docs/Reference/Modules/DataObject/SetData.md @@ -0,0 +1,36 @@ +--- +title: SetData +parent: DataObject Module +permalink: /tB/Packages/VBRUN/DataObject/SetData +--- +# SetData +{: .no_toc } + +Stores a value in the **DataObject** under a given clipboard format. Calling **SetData** several times against the same object lets one logical payload be made available under several formats — for example as `vbCFText` and `vbCFUnicodeText` — so each consumer can pick the representation it understands. + +Syntax: *object*.**SetData** [ *Value* [ **,** *Format* ] ] + +*object* +: *required* An object expression that evaluates to a **DataObject**. + +*Value* +: *optional* The value to store. May be any expression assignable to a **Variant** — text, a byte array, an **stdole.IPictureDisp**, and so on. + +*Format* +: *optional* A **ClipboardConstants** value — `vbCFText`, `vbCFUnicodeText`, `vbCFBitmap`, `vbCFFiles`, and so on — naming the clipboard format under which *Value* is stored. If omitted, the **DataObject** chooses a default format based on the run-time type of *Value*. + +When using a custom (private) clipboard format, register it with the system through `RegisterClipboardFormat` before passing its identifier to **SetData**; otherwise other applications will not be able to read the data back. + +### Example + +```tb +Dim Data As New DataObject +Data.SetData "Hello, world!", vbCFText +Data.SetData LoadPicture("logo.bmp"), vbCFBitmap +``` + +### See Also + +- [Clear](Clear) method +- [GetData](GetData) method +- [GetFormat](GetFormat) method diff --git a/docs/Reference/Modules/DataObject/index.md b/docs/Reference/Modules/DataObject/index.md new file mode 100644 index 0000000..4dd9940 --- /dev/null +++ b/docs/Reference/Modules/DataObject/index.md @@ -0,0 +1,64 @@ +--- +title: DataObject Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/DataObject/ +redirect_from: + - /tB/Modules/DataObject +has_toc: false +--- + +# DataObject module + +A **DataObject** is a container for one piece of information held in one or more clipboard formats — the same payload represented as plain text, Unicode text, RTF, a bitmap, a list of file paths, and so on. The runtime hands a **DataObject** to clipboard and OLE drag-and-drop operations: the source side fills it with [**SetData**](SetData), and the destination side inspects what's available with [**GetFormat**](GetFormat) (or [**AvailableFormats**](AvailableFormats)) and pulls the bytes out with [**GetData**](GetData). + +A new **DataObject** is created with **New** and starts out empty. + +## Storing and retrieving data + +[**SetData**](SetData) places a value into the **DataObject** under a given clipboard format — typically a value from the **ClipboardConstants** enumeration such as `vbCFText`, `vbCFUnicodeText`, or `vbCFBitmap`. A single object can hold the same logical payload under several formats at once, so consumers with different requirements can each find a representation they understand. + +```tb +Dim Data As New DataObject +Data.SetData "Hello, world!", vbCFText +Data.SetData StrConv("Hello, world!", vbUnicode), vbCFUnicodeText +``` + +[**GetData**](GetData) pulls the value back out for a chosen format. [**Clear**](Clear) removes every format and value at once — useful when reusing a single **DataObject** for several operations. + +twinBASIC also accepts format names as plain strings: [**GetDataByName**](GetDataByName) is the string-keyed counterpart to [**GetData**](GetData), and is convenient for custom or registered formats whose numeric identifier is not known up front. + +## Discovering what's there + +A consumer that did not place the data itself usually does not know which formats are present. [**GetFormat**](GetFormat) returns **True** if a given clipboard format is available, and [**GetFormatByName**](GetFormatByName) does the same for a named format. To discover the full set, [**AvailableFormats**](AvailableFormats) returns a [**DataObjectFormats**](DataObjectFormats) collection of [**DataObjectFormat**](DataObjectFormat) descriptors — each with a `Name`, a `FormatType` from **ClipboardConstants**, and information about how the format is stored. + +```tb +Dim F As DataObjectFormat +For Each F In Data.AvailableFormats + Debug.Print F.Name, F.FormatType +Next F +``` + +> [!NOTE] +> [**AvailableFormats**](AvailableFormats), [**GetFormatByName**](GetFormatByName), and [**GetDataByName**](GetDataByName) are twinBASIC additions; they have no equivalent in VB6. + +## Files + +When a **DataObject** carries a list of file paths — for example, the payload of a Windows shell drag-and-drop — [**Files**](Files) returns a [**DataObjectFiles**](DataObjectFiles) collection holding each path as a **String**. + +```tb +Dim Path As Variant +For Each Path In Data.Files + Debug.Print Path +Next Path +``` + +## Members + +- [AvailableFormats](AvailableFormats) -- returns the collection of formats currently held in the **DataObject** *(twinBASIC extension)* +- [Clear](Clear) -- removes every format and value from the **DataObject** +- [Files](Files) -- returns the collection of file paths held in the **DataObject** +- [GetData](GetData) -- returns the value stored under a given clipboard format +- [GetDataByName](GetDataByName) -- returns the value stored under a given named format *(twinBASIC extension)* +- [GetFormat](GetFormat) -- returns whether the **DataObject** holds a value in a given clipboard format +- [GetFormatByName](GetFormatByName) -- returns whether the **DataObject** holds a value in a given named format *(twinBASIC extension)* +- [SetData](SetData) -- stores a value in the **DataObject** under a given clipboard format diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index d59de69..c4e58c3 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/DataObject - /tB/Modules/ErrorCallstack - /tB/Modules/ErrorContext - /tB/Modules/ErrorStackFrame From 39045d357fb41b7adf48dc4d1f7838cc5874fabe Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:31:07 +0200 Subject: [PATCH 05/11] Document the ErrorCallstack module. --- .../Reference/Modules/ErrorCallstack/index.md | 54 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/ErrorCallstack/index.md diff --git a/docs/Reference/Modules/ErrorCallstack/index.md b/docs/Reference/Modules/ErrorCallstack/index.md new file mode 100644 index 0000000..161b241 --- /dev/null +++ b/docs/Reference/Modules/ErrorCallstack/index.md @@ -0,0 +1,54 @@ +--- +title: ErrorCallstack Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/ErrorCallstack/ +redirect_from: + - /tB/Modules/ErrorCallstack +has_toc: false +--- + +# ErrorCallstack module + +An **ErrorCallstack** object is a snapshot of the chain of procedures that were active on the call stack at the moment a run-time error was raised — outermost frame first, innermost (the procedure that actually raised the error) last. Each frame is exposed as an [**ErrorStackFrame**](../ErrorStackFrame), describing one procedure by its project, module, and procedure names. + +The snapshot is read through the **Callstack** property of an **ErrorContext** object, which is itself accessible from the structured error-handling machinery — typically inside a `Catch` block or an **On Error** handler. + +```tb +Sub LogStackTrace(ByVal Stack As ErrorCallstack) + Dim i As Long + For i = 1 To Stack.Count + Dim Frame As ErrorStackFrame + Set Frame = Stack.Items(i) + Debug.Print Frame.ProjectName & "." & Frame.ModuleName & "." & Frame.ProcedureName + Next i +End Sub +``` + +The collection is read-only and has no `_NewEnum` member, so it cannot be iterated with **For Each** — use a numeric loop from `1` to [**Count**](#count) and read each frame with [**Items**](#items). + +## Members + +### Count + +Returns the number of frames in the snapshot. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to an **ErrorCallstack** object. + +The value is a **Long**. Valid indexes for [**Items**](#items) run from `1` to **Count**. **Count** is `0` if no procedures were on the stack at the time the snapshot was taken. + +### Items + +Returns one frame from the snapshot by its one-based position. + +Syntax: *object*.**Items(** *Index* **)** + +*object* +: *required* An object expression that evaluates to an **ErrorCallstack** object. + +*Index* +: *required* A **Long** giving the one-based position of the frame to return. Frame `1` is the outermost procedure on the stack; frame [**Count**](#count) is the innermost — the procedure that raised the error. *Index* must be between `1` and **Count**; otherwise an error occurs. + +The result is an [**ErrorStackFrame**](../ErrorStackFrame) describing the procedure at that position. diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index c4e58c3..f52b397 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/ErrorCallstack - /tB/Modules/ErrorContext - /tB/Modules/ErrorStackFrame - /tB/Modules/Hyperlink From b20d5f1fae7fe214ac426bd9e6f6db75b47566dc Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:35:13 +0200 Subject: [PATCH 06/11] Document the ErrorContext module. --- docs/Reference/Modules/ErrorContext/index.md | 154 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/ErrorContext/index.md diff --git a/docs/Reference/Modules/ErrorContext/index.md b/docs/Reference/Modules/ErrorContext/index.md new file mode 100644 index 0000000..e2d5b35 --- /dev/null +++ b/docs/Reference/Modules/ErrorContext/index.md @@ -0,0 +1,154 @@ +--- +title: ErrorContext Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/ErrorContext/ +redirect_from: + - /tB/Modules/ErrorContext +has_toc: false +--- + +# ErrorContext module + +An **ErrorContext** object captures everything the runtime knows about a run-time error: its identity ([**Number**](#number), [**Description**](#description), [**Source**](#source)), its help references ([**HelpFile**](#helpfile), [**HelpContext**](#helpcontext)), the operating-system error code at the time it was raised ([**LastDLLError**](#lastdllerror)), the [**State**](#state) of the error-handling machinery, and a snapshot of the [**Callstack**](#callstack) from the moment of the failure. It is twinBASIC's structured counterpart to the simpler [**Err**](../../../Modules/ErrObject) object. + +The error-identity properties (**Number**, **Description**, **Source**, **HelpFile**, **HelpContext**, **LastDLLError**) carry the same meaning here as on the **Err** object — see the [**ErrObject**](../../../Modules/ErrObject) module for a discussion of each. **State** and **Callstack** are unique to **ErrorContext** and reflect the structured error-handling machinery that has no equivalent on the legacy **Err** object. + +## Members + +### Callstack + +Returns a snapshot of the call stack as it was when the error was raised, as an [**ErrorCallstack**](../ErrorCallstack). + +Syntax: *object*.**Callstack** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +The snapshot lists every active procedure outermost-first; the innermost frame is the procedure that raised the error. The collection is read-only — see [**ErrorCallstack**](../ErrorCallstack) for how to walk it. + +### Description + +Returns a short text description of the error, as a **String**. Read-only. + +Syntax: *object*.**Description** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +For runtime-defined errors, this is the message the runtime would have shown in an unhandled-error dialog. For user-defined errors, it is whatever string was passed to **Err.Raise**. + +### HelpContext + +Returns the help-file context ID associated with the error, as a **Long**. Read-only. + +Syntax: *object*.**HelpContext** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +When [**HelpFile**](#helpfile) names a help file, **HelpContext** identifies the topic in that file that documents the error. **0** if no help context is associated. + +### HelpFile + +Returns the path of the help file associated with the error, as a **String**. Read-only. + +Syntax: *object*.**HelpFile** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +A zero-length string if no help file is associated. + +### LastDLLError + +Returns the last operating-system error code recorded by a call into a Windows DLL, as a **Long**. Read-only. + +Syntax: *object*.**LastDLLError** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +twinBASIC's error trapping does not catch failures inside `Declare`d Windows API calls — those calls report failure through their return value, and the calling code has to inspect this property to learn the underlying Win32 error. The value is meaningful only on Windows. + +### Number + +Returns the run-time error number, as a **Long**. Read-only. + +Syntax: *object*.**Number** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +Built-in errors use the standard VBA error codes (for example, `9` for "Subscript out of range" or `91` for "Object variable or With block variable not set"). User-defined errors raised with **Err.Raise** typically add the **vbObjectError** offset to a small per-application code. + +### Source + +Returns the name of the object or application that raised the error, as a **String**. Read-only. + +Syntax: *object*.**Source** + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +For errors raised inside a twinBASIC project, this is the project name; for errors raised by an Automation server, it is the application's programmatic identifier. User code can supply any string when calling **Err.Raise**. + +### State + +Returns or sets a value identifying which error-handling construct is currently active, as an **OnErrorStatus** value. + +Syntax: *object*.**State** [ **=** *value* ] + +*object* +: *required* An object expression that evaluates to an **ErrorContext** object. + +The runtime updates **State** as control flows through error handlers, **Try**/**Catch**/**Finally** blocks, and the various propagation paths. Reading the property tells diagnostic code which construct it is being invoked from. Assigning to it overrides the runtime's idea of what to do next — a deliberately advanced operation, useful mainly to diagnostic tools and to libraries that orchestrate their own error flow. + +The **OnErrorStatus** enumeration values are: + +`OnErrorGoto0` (`&H1`) +: An **On Error GoTo 0** is currently in effect — no handler is installed. + +`OnErrorResumeNext` (`&H2`) +: An **On Error Resume Next** is currently in effect. + +`OnErrorGotoLabel` (`&H3`) +: An **On Error GoTo** *label* is currently in effect. + +`OnErrorEnd` (`&H4`) +: Execution is being terminated because of an unhandled error. + +`OnErrorDebug` (`&H5`) +: The runtime is about to break into the debugger. + +`CalledByLocalHandler` (`&H6`) +: The currently executing code was called by a local error handler. + +`OnErrorRetry` (`&H7`) +: A retry of the failing statement is in progress (the structured equivalent of **Resume**). + +`OnErrorPropagate` (`&H8`) +: An unhandled error is being propagated up the call stack. + +`OnErrorExitProcedure` (`&H9`) +: An error is forcing the current procedure to exit. + +`OnErrorCatch` (`&Ha`) +: Control is inside a **Catch** block matching a specific error. + +`OnErrorCatchAll` (`&Hb`) +: Control is inside a general "catch all" block. + +`OnErrorInsideCatch` (`&Hc`) +: Control is nested inside a **Catch** block (a further error has been raised inside a handler). + +`OnErrorInsideCatchAll` (`&Hd`) +: Control is nested inside a "catch all" block. + +`OnErrorInsideFinally` (`&He`) +: Control is inside a **Finally** block. + +`OnErrorPropagateCatch` (`&Hf`) +: An error is being propagated out of a **Catch** block. + +`OnErrorPropagateCatchAll` (`&H10`) +: An error is being propagated out of a "catch all" block. diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index f52b397..a9c21d5 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/ErrorContext - /tB/Modules/ErrorStackFrame - /tB/Modules/Hyperlink - /tB/Modules/ParentControls From 856eb641c11b7b7ac69d39bdd8b9b8e89ed9b797 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 21:36:53 +0200 Subject: [PATCH 07/11] Document the ErrorStackFrame module. --- .../Modules/ErrorStackFrame/index.md | 56 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/ErrorStackFrame/index.md diff --git a/docs/Reference/Modules/ErrorStackFrame/index.md b/docs/Reference/Modules/ErrorStackFrame/index.md new file mode 100644 index 0000000..6520c8f --- /dev/null +++ b/docs/Reference/Modules/ErrorStackFrame/index.md @@ -0,0 +1,56 @@ +--- +title: ErrorStackFrame Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/ErrorStackFrame/ +redirect_from: + - /tB/Modules/ErrorStackFrame +has_toc: false +--- + +# ErrorStackFrame module + +An **ErrorStackFrame** describes one procedure that was active on the call stack at the moment a run-time error was raised — the project it belongs to, the module that contains it, and its own name. Frames are produced by walking an [**ErrorCallstack**](../ErrorCallstack) snapshot, which in turn is reachable from the [**Callstack**](../ErrorContext#callstack) property of an [**ErrorContext**](../ErrorContext). Every property is read-only. + +```tb +Sub LogStackTrace(ByVal Stack As ErrorCallstack) + Dim i As Long + For i = 1 To Stack.Count + Dim Frame As ErrorStackFrame + Set Frame = Stack.Items(i) + Debug.Print Frame.ProjectName & "." & Frame.ModuleName & "." & Frame.ProcedureName + Next i +End Sub +``` + +## Members + +### ModuleName + +Returns the name of the module — the standard module, class module, form, or user control — that contains the procedure for this frame, as a **String**. + +Syntax: *object*.**ModuleName** + +*object* +: *required* An object expression that evaluates to an **ErrorStackFrame** object. + +### ProcedureName + +Returns the name of the procedure for this frame, as a **String**. + +Syntax: *object*.**ProcedureName** + +*object* +: *required* An object expression that evaluates to an **ErrorStackFrame** object. + +For property accessors, this is the property name without the `Get`/`Let`/`Set` prefix; for event handlers, it is the compiler-generated handler name in the usual `_` form. + +### ProjectName + +Returns the name of the twinBASIC project that contains the procedure for this frame, as a **String**. + +Syntax: *object*.**ProjectName** + +*object* +: *required* An object expression that evaluates to an **ErrorStackFrame** object. + +For frames from a referenced package or compiled DLL, this is the name of the originating project. diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index a9c21d5..12069cf 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/ErrorStackFrame - /tB/Modules/Hyperlink - /tB/Modules/ParentControls - /tB/Modules/PropertyBag From 055940375631284428e250df96db3bde0630cf4e Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 22:12:09 +0200 Subject: [PATCH 08/11] Document the Hyperlink module. --- docs/Reference/Modules/Hyperlink/index.md | 62 +++++++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/Hyperlink/index.md diff --git a/docs/Reference/Modules/Hyperlink/index.md b/docs/Reference/Modules/Hyperlink/index.md new file mode 100644 index 0000000..25485b7 --- /dev/null +++ b/docs/Reference/Modules/Hyperlink/index.md @@ -0,0 +1,62 @@ +--- +title: Hyperlink Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Hyperlink/ +redirect_from: + - /tB/Modules/Hyperlink +has_toc: false +--- + +# Hyperlink module + +The **Hyperlink** object lets a control or form ask its container to navigate to a target document, the way clicking a link in a browser would. It is used from a control's code through the host's **Hyperlink** property — for example **UserControl.Hyperlink** — and works in containers that participate in browser-style navigation (Internet Explorer, Office binders, and a handful of other hyperlink-aware hosts). When the host does not support hyperlink navigation, the runtime falls back to launching the system's default handler for the target. + +```tb +Private Sub HelpButton_Click() + UserControl.Hyperlink.NavigateTo "https://docs.twinbasic.com/" +End Sub +``` + +## Members + +### GoBack + +Asks the container to navigate one step backwards in its history list, as if the user had pressed the browser's **Back** button. + +Syntax: *object*.**GoBack** + +*object* +: *required* An object expression that evaluates to a **Hyperlink** object. + +If there is no previous entry, or if the host does not maintain a history list, the call has no effect (or raises an error, depending on the host). + +### GoForward + +Asks the container to navigate one step forward in its history list, as if the user had pressed the browser's **Forward** button. + +Syntax: *object*.**GoForward** + +*object* +: *required* An object expression that evaluates to a **Hyperlink** object. + +If there is no next entry, or if the host does not maintain a history list, the call has no effect (or raises an error, depending on the host). + +### NavigateTo + +Asks the container to navigate to a target document. + +Syntax: *object*.**NavigateTo** *Target* [ **,** *Location* [ **,** *FrameName* ] ] + +*object* +: *required* An object expression that evaluates to a **Hyperlink** object. + +*Target* +: *required* A **String** giving the destination — a URL, a UNC path, or a local file path. The container is responsible for resolving the string and dispatching it to the right handler. + +*Location* +: *optional* A **String** naming an anchor or bookmark within *Target* — for example the fragment after `#` in an HTML URL — that the container should scroll to once the document has been loaded. + +*FrameName* +: *optional* A **String** naming a frame within an HTML frameset that should receive the navigation, instead of the top-level window. Ignored by hosts that do not understand HTML frames. + +If the host implements browser-style navigation, the new target is added to the history list so subsequent [**GoBack**](#goback) and [**GoForward**](#goforward) calls work as expected. diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index 12069cf..a701811 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/Hyperlink - /tB/Modules/ParentControls - /tB/Modules/PropertyBag --- From 2445b30b0da38ecca1de60b4dba4ecff41758a08 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 22:14:40 +0200 Subject: [PATCH 09/11] Document the ParentControls module. --- .../Reference/Modules/ParentControls/index.md | 87 +++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/ParentControls/index.md diff --git a/docs/Reference/Modules/ParentControls/index.md b/docs/Reference/Modules/ParentControls/index.md new file mode 100644 index 0000000..1022d93 --- /dev/null +++ b/docs/Reference/Modules/ParentControls/index.md @@ -0,0 +1,87 @@ +--- +title: ParentControls Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/ParentControls/ +redirect_from: + - /tB/Modules/ParentControls +has_toc: false +--- + +# ParentControls module + +The **ParentControls** object is the collection of other controls that live in the same container as a **UserControl** — its siblings on the host form, frame, or page. It is reachable inside a **UserControl** through **UserControl.ParentControls** and lets the control discover and interact with the other controls around it without being given explicit references. + +By default each item is returned wrapped in its host **Extender** — the container's per-control adapter that adds layout properties (**Top**, **Left**, **Tag**, **Visible**, **Name**, and so on) on top of the control's own interface. Set [**ParentControlsType**](#parentcontrolstype) to **vbNoExtender** to receive the bare controls instead. The collection itself is read-only: items cannot be added or removed through it. + +```tb +' Inside a UserControl: print the name and type of every sibling control. +Dim ctl As Object +For Each ctl In UserControl.ParentControls + Debug.Print ctl.Name, TypeName(ctl) +Next ctl +``` + +## Members + +### Count + +Returns the number of controls in the collection. + +Syntax: *object*.**Count** + +*object* +: *required* An object expression that evaluates to a **ParentControls** object. + +The value is a **Long**. Valid indexes for [**Item**](#item) run from `1` to **Count**. + +### Item + +Returns a single control from the collection by its one-based position. + +Syntax: *object*.**Item(** *index* **)** + +*object* +: *required* An object expression that evaluates to a **ParentControls** object. + +*index* +: *required* A **Long** giving the one-based position of the control to return. Must be between `1` and [**Count**](#count); otherwise an error occurs. + +**Item** is the default member of **ParentControls**, so the following lines are equivalent: + +```tb +Set ctl = UserControl.ParentControls.Item(1) +Set ctl = UserControl.ParentControls(1) +``` + +The result is typed as **Object** because the container may hold any kind of control. Whether the returned reference exposes the host-supplied **Extender** properties is governed by [**ParentControlsType**](#parentcontrolstype). + +### ParentControlsType + +Returns or sets whether each item is returned wrapped in its host **Extender** or as the bare control. + +Syntax: *object*.**ParentControlsType** [ **=** *value* ] + +*object* +: *required* An object expression that evaluates to a **ParentControls** object. + +*value* +: A **ParentControlsType** value: + +`vbExtender` (`1`) +: Items are returned wrapped in the host's **Extender**, exposing the container-supplied layout properties (**Top**, **Left**, **Visible**, **Name**, **Tag**, and so on) in addition to the control's own interface. This is the default. + +`vbNoExtender` (`0`) +: Items are returned as the bare control, without the **Extender** wrapper. Use this when the **Extender**'s extra properties are not needed, or when the control's own interface defines members that would otherwise be shadowed. + +Changing **ParentControlsType** affects subsequent reads from [**Item**](#item) and **For Each** iteration; references already obtained are not retroactively re-wrapped. + +### For Each iteration + +A **ParentControls** object can be iterated with the [**For Each...Next**](../../../Core/For-Each-Next) statement, which yields each sibling control in turn, in the order the host returns them. The hidden `_NewEnum` member supplies the enumerator and is not called directly from user code. + +```tb +Dim ctl As Object +For Each ctl In UserControl.ParentControls + Debug.Print ctl.Name +Next ctl +``` diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index a701811..413947a 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/ParentControls - /tB/Modules/PropertyBag --- From ac4ffe761152ce232e53d3ff32140a21fef61f31 Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 22:16:43 +0200 Subject: [PATCH 10/11] Document the PropertyBag module --- docs/Reference/Modules/PropertyBag/index.md | 80 +++++++++++++++++++++ docs/Reference/Modules/todo.md | 1 - 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 docs/Reference/Modules/PropertyBag/index.md diff --git a/docs/Reference/Modules/PropertyBag/index.md b/docs/Reference/Modules/PropertyBag/index.md new file mode 100644 index 0000000..e6dc344 --- /dev/null +++ b/docs/Reference/Modules/PropertyBag/index.md @@ -0,0 +1,80 @@ +--- +title: PropertyBag Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/PropertyBag/ +redirect_from: + - /tB/Modules/PropertyBag +has_toc: false +--- + +# PropertyBag module + +A **PropertyBag** is a small key/value store designed for persisting an object's state across sessions. Each entry is a name and a **Variant** value; reading and writing entries is symmetric, so the same code that loaded the bag's state at start-up can store it again at shutdown. The whole bag can also be retrieved or replaced as a single byte array through [**Contents**](#contents), which makes it straightforward to save the state to a file, a database column, or another **PropertyBag**. + +A new **PropertyBag** is created with **New** and starts out empty: + +```tb +Dim Bag As New PropertyBag +Bag.WriteProperty "Caption", Me.Caption, "Untitled" +Bag.WriteProperty "Width", Me.Width, 800 + +' Persist the bag to disk. +Dim Stream As Integer +Stream = FreeFile +Open "settings.bin" For Binary Access Write As #Stream +Put #Stream, , Bag.Contents +Close #Stream +``` + +The runtime also hands a **PropertyBag** to a **UserControl**'s **WriteProperties** and **ReadProperties** events; the same API used in user code persists a control's design-time and run-time state through the host's storage. + +## Members + +### Contents + +Returns or sets the complete state of the bag as a single **Variant** holding a **Byte** array. + +Syntax: *object*.**Contents** [ **=** *value* ] + +*object* +: *required* An object expression that evaluates to a **PropertyBag** object. + +*value* +: A **Variant** containing a **Byte** array previously obtained from another **PropertyBag**'s **Contents**. + +Reading **Contents** serialises the whole bag — every name/value pair currently in it — into a self-contained byte array suitable for writing to a file, sending across a network, or storing in another medium. Assigning to **Contents** discards the current state and replaces it with the state encoded in *value*; the byte array must be one previously produced by a compatible **PropertyBag**. + +### ReadProperty + +Returns the value previously stored in the bag under a given name. + +Syntax: *object*.**ReadProperty(** *Name* [ **,** *DefaultValue* ] **)** + +*object* +: *required* An object expression that evaluates to a **PropertyBag** object. + +*Name* +: *required* A **String** giving the key the value was written under. Names are matched case-insensitively. + +*DefaultValue* +: *optional* The value to return when the bag does not contain an entry called *Name*. May be of any type assignable to a **Variant**. If omitted, **ReadProperty** returns **Null** for a missing entry. + +Inside a control's **ReadProperties** event, it is conventional to pass the same default to **ReadProperty** as was passed to [**WriteProperty**](#writeproperty), so that the control falls back to its design-time default when no value was persisted. + +### WriteProperty + +Stores a value in the bag under a given name. + +Syntax: *object*.**WriteProperty** *Name* **,** *Value* [ **,** *DefaultValue* ] + +*object* +: *required* An object expression that evaluates to a **PropertyBag** object. + +*Name* +: *required* A **String** giving the key to store the value under. If a value was previously stored under the same name, it is replaced. + +*Value* +: *required* The value to store. May be any expression assignable to a **Variant**. + +*DefaultValue* +: *optional* A value that the consumer will treat as the default when reading the property. If *Value* is equal to *DefaultValue*, the bag may skip writing the entry at all — the read side will fall back to the same default — keeping the serialised form small. Pass the same default that the matching call to [**ReadProperty**](#readproperty) will use. diff --git a/docs/Reference/Modules/todo.md b/docs/Reference/Modules/todo.md index 413947a..ff57c90 100644 --- a/docs/Reference/Modules/todo.md +++ b/docs/Reference/Modules/todo.md @@ -2,7 +2,6 @@ title: General TODO List for /tB/Modules/ nav_exclude: true redirect_from: - - /tB/Modules/PropertyBag --- > [!WARNING] From 547b470647837f7039b56f041bf4cc9bba17c6ff Mon Sep 17 00:00:00 2001 From: Kuba Sunderland-Ober Date: Sat, 9 May 2026 23:18:41 +0200 Subject: [PATCH 11/11] Document the Constants module. --- .../Modules/VBRUNConstants/AlignConstants.md | 18 +++ .../VBRUNConstants/AlignmentConstants.md | 16 +++ .../AlignmentConstantsNoCenter.md | 15 +++ .../VBRUNConstants/AppearanceConstants.md | 15 +++ .../ApplicationStartConstants.md | 15 +++ .../VBRUNConstants/AspectTypeConstants.md | 17 +++ .../VBRUNConstants/AsyncReadConstants.md | 18 +++ .../AsyncStatusCodeConstants.md | 26 ++++ .../VBRUNConstants/AsyncTypeConstants.md | 16 +++ .../VBRUNConstants/BackFillStyleConstants.md | 15 +++ .../VBRUNConstants/BorderStyleConstants.md | 20 +++ .../Modules/VBRUNConstants/ButtonConstants.md | 15 +++ .../VBRUNConstants/CheckBoxConstants.md | 16 +++ .../VBRUNConstants/ClipboardConstants.md | 23 ++++ .../Modules/VBRUNConstants/ColorConstants.md | 21 ++++ .../VBRUNConstants/ComboBoxConstants.md | 16 +++ .../ControlBorderStyleConstants.md | 15 +++ .../ControlBorderStyleConstantsCustom.md | 16 +++ .../VBRUNConstants/ControlTypeConstants.md | 50 ++++++++ .../VBRUNConstants/DataBOFconstants.md | 15 +++ .../VBRUNConstants/DataEOFConstants.md | 16 +++ .../VBRUNConstants/DataErrorConstants.md | 15 +++ .../VBRUNConstants/DataValidateConstants.md | 25 ++++ .../VBRUNConstants/DatabaseTypeConstants.md | 16 +++ .../DefaultCursorTypeConstants.md | 16 +++ .../VBRUNConstants/DockModeConstants.md | 19 +++ .../Modules/VBRUNConstants/DragConstants.md | 16 +++ .../VBRUNConstants/DragModeConstants.md | 15 +++ .../VBRUNConstants/DragOverConstants.md | 16 +++ .../VBRUNConstants/DrawModeConstants.md | 29 +++++ .../VBRUNConstants/DrawStyleConstants.md | 20 +++ .../VBRUNConstants/FillStyleConstants.md | 21 ++++ .../VBRUNConstants/FillStyleConstantsEx.md | 23 ++++ .../VBRUNConstants/FormArrangeConstants.md | 17 +++ .../FormBorderStyleConstants.md | 21 ++++ .../VBRUNConstants/FormShowConstants.md | 15 +++ .../FormWindowStateConstants.md | 16 +++ .../VBRUNConstants/HitResultConstants.md | 17 +++ .../VBRUNConstants/KeyCodeConstants.md | 85 +++++++++++++ .../VBRUNConstants/LinkModeConstants.md | 18 +++ .../VBRUNConstants/ListBoxConstants.md | 16 +++ .../LoadPictureColorConstants.md | 17 +++ .../LoadPictureSizeConstants.md | 18 +++ .../VBRUNConstants/LoadResConstants.md | 17 +++ .../VBRUNConstants/LogEventTypeConstants.md | 16 +++ .../VBRUNConstants/LogModeConstants.md | 19 +++ .../VBRUNConstants/MenuAccelConstants.md | 60 +++++++++ .../VBRUNConstants/MenuControlConstants.md | 25 ++++ .../VBRUNConstants/MouseButtonConstants.md | 16 +++ .../VBRUNConstants/MousePointerConstants.md | 53 ++++++++ .../VBRUNConstants/MultiSelectConstants.md | 16 +++ .../NegotiatePositionConstants.md | 17 +++ .../OLEContainerActivateConstants.md | 17 +++ .../VBRUNConstants/OLEContainerConstants.md | 97 +++++++++++++++ .../OLEContainerDisplayTypeConstants.md | 15 +++ .../OLEContainerSizeModeConstants.md | 17 +++ .../OLEContainerTypesAllowedConstants.md | 16 +++ .../OLEContainerUpdateOptionsConstants.md | 16 +++ .../VBRUNConstants/OLEDragConstants.md | 18 +++ .../VBRUNConstants/OLEDropConstants.md | 19 +++ .../VBRUNConstants/OLEDropEffectConstants.md | 21 ++++ .../VBRUNConstants/OldLinkModeConstants.md | 16 +++ .../VBRUNConstants/PaletteModeConstants.md | 19 +++ .../VBRUNConstants/ParentControlsType.md | 19 +++ .../VBRUNConstants/PictureTypeConstants.md | 18 +++ .../VBRUNConstants/PrinterObjectConstants.md | 114 ++++++++++++++++++ .../PrinterObjectConstants_ColorMode.md | 15 +++ .../PrinterObjectConstants_Duplex.md | 16 +++ .../PrinterObjectConstants_Orientation.md | 15 +++ .../PrinterObjectConstants_PaperBin.md | 25 ++++ .../PrinterObjectConstants_PaperSize.md | 55 +++++++++ .../PrinterObjectConstants_PrintQuality.md | 17 +++ .../VBRUNConstants/QueryUnloadConstants.md | 19 +++ .../VBRUNConstants/RasterOpConstants.md | 26 ++++ .../VBRUNConstants/RecordsetTypeConstants.md | 16 +++ .../VBRUNConstants/ScaleModeConstants.md | 25 ++++ .../VBRUNConstants/ScrollBarConstants.md | 17 +++ .../Modules/VBRUNConstants/ShapeConstants.md | 24 ++++ .../Modules/VBRUNConstants/ShiftConstants.md | 16 +++ .../VBRUNConstants/ShortcutConstants.md | 64 ++++++++++ .../StartUpPositionConstants.md | 17 +++ .../VBRUNConstants/StorageTypeContants.md | 23 ++++ .../VBRUNConstants/SystemColorConstants.md | 47 ++++++++ .../VBRUNConstants/VariantTypeConstants.md | 22 ++++ .../VerticalAlignmentConstants.md | 16 +++ .../Modules/VBRUNConstants/ZOrderConstants.md | 15 +++ .../Reference/Modules/VBRUNConstants/index.md | 104 ++++++++++++++++ 87 files changed, 2120 insertions(+) create mode 100644 docs/Reference/Modules/VBRUNConstants/AlignConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AlignmentConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AlignmentConstantsNoCenter.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AppearanceConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ApplicationStartConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AspectTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AsyncReadConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AsyncStatusCodeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/AsyncTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/BackFillStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/BorderStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ButtonConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/CheckBoxConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ClipboardConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ColorConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ComboBoxConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstantsCustom.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ControlTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DataBOFconstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DataEOFConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DataErrorConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DataValidateConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DatabaseTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DefaultCursorTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DockModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DragConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DragModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DragOverConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DrawModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/DrawStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FillStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FillStyleConstantsEx.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FormArrangeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FormBorderStyleConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FormShowConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/FormWindowStateConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/HitResultConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/KeyCodeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LinkModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ListBoxConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LoadPictureColorConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LoadPictureSizeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LoadResConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LogEventTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/LogModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/MenuAccelConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/MenuControlConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/MouseButtonConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/MousePointerConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/MultiSelectConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/NegotiatePositionConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerActivateConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerDisplayTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerSizeModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerTypesAllowedConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEContainerUpdateOptionsConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEDragConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEDropConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OLEDropEffectConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/OldLinkModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PaletteModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ParentControlsType.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PictureTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_ColorMode.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Duplex.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Orientation.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperBin.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperSize.md create mode 100644 docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PrintQuality.md create mode 100644 docs/Reference/Modules/VBRUNConstants/QueryUnloadConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/RasterOpConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/RecordsetTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ScaleModeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ScrollBarConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ShapeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ShiftConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ShortcutConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/StartUpPositionConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/StorageTypeContants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/SystemColorConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/VariantTypeConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/VerticalAlignmentConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/ZOrderConstants.md create mode 100644 docs/Reference/Modules/VBRUNConstants/index.md diff --git a/docs/Reference/Modules/VBRUNConstants/AlignConstants.md b/docs/Reference/Modules/VBRUNConstants/AlignConstants.md new file mode 100644 index 0000000..844d793 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AlignConstants.md @@ -0,0 +1,18 @@ +--- +title: AlignConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AlignConstants +--- +# AlignConstants +{: .no_toc } + +Values for the **Align** property of forms and controls — picture boxes, data controls, and toolbars — that anchor a control to one edge of its container. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbAlignNone**{: #vbAlignNone } | 0 | Size and location are set at design time or in code. | +| **vbAlignTop**{: #vbAlignTop } | 1 | Control is anchored to the top edge of the container. | +| **vbAlignBottom**{: #vbAlignBottom } | 2 | Control is anchored to the bottom edge of the container. | +| **vbAlignLeft**{: #vbAlignLeft } | 3 | Control is anchored to the left edge of the container. | +| **vbAlignRight**{: #vbAlignRight } | 4 | Control is anchored to the right edge of the container. | diff --git a/docs/Reference/Modules/VBRUNConstants/AlignmentConstants.md b/docs/Reference/Modules/VBRUNConstants/AlignmentConstants.md new file mode 100644 index 0000000..c2773e2 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AlignmentConstants.md @@ -0,0 +1,16 @@ +--- +title: AlignmentConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AlignmentConstants +--- +# AlignmentConstants +{: .no_toc } + +Text alignment values for the **Alignment** property of label, text box, and option button controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLeftJustify**{: #vbLeftJustify } | 0 | Text is left-justified. | +| **vbRightJustify**{: #vbRightJustify } | 1 | Text is right-justified. | +| **vbCenter**{: #vbCenter } | 2 | Text is centred. | diff --git a/docs/Reference/Modules/VBRUNConstants/AlignmentConstantsNoCenter.md b/docs/Reference/Modules/VBRUNConstants/AlignmentConstantsNoCenter.md new file mode 100644 index 0000000..c98df63 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AlignmentConstantsNoCenter.md @@ -0,0 +1,15 @@ +--- +title: AlignmentConstantsNoCenter +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AlignmentConstantsNoCenter +--- +# AlignmentConstantsNoCenter +{: .no_toc } + +Text alignment values for properties whose appearance does not include a centred option — for example, scroll-bar–aligned values or text fields that only support left/right justification. + +| Constant | Value | Description | +|----------|-------|-------------| +| **tbLeftJustify**{: #tbLeftJustify } | 0 | Text is left-justified. | +| **tbRightJustify**{: #tbRightJustify } | 1 | Text is right-justified. | diff --git a/docs/Reference/Modules/VBRUNConstants/AppearanceConstants.md b/docs/Reference/Modules/VBRUNConstants/AppearanceConstants.md new file mode 100644 index 0000000..0999c28 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AppearanceConstants.md @@ -0,0 +1,15 @@ +--- +title: AppearanceConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AppearanceConstants +--- +# AppearanceConstants +{: .no_toc } + +Drawing-style values for the **Appearance** property of forms and controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbAppearFlat**{: #vbAppearFlat } | 0 | The control is drawn without 3-D effects. | +| **vbAppear3d**{: #vbAppear3d } | 1 | The control is drawn with 3-D shading on its borders and edges. | diff --git a/docs/Reference/Modules/VBRUNConstants/ApplicationStartConstants.md b/docs/Reference/Modules/VBRUNConstants/ApplicationStartConstants.md new file mode 100644 index 0000000..5d72879 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ApplicationStartConstants.md @@ -0,0 +1,15 @@ +--- +title: ApplicationStartConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ApplicationStartConstants +--- +# ApplicationStartConstants +{: .no_toc } + +Mode values reported by the application's start-up logic — whether it was launched as a stand-alone program or invoked via Automation by another application. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbSModeStandalone**{: #vbSModeStandalone } | 0 | The application was launched directly by the user. | +| **vbSModeAutomation**{: #vbSModeAutomation } | 1 | The application was started through Automation, in response to a request from another application. | diff --git a/docs/Reference/Modules/VBRUNConstants/AspectTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/AspectTypeConstants.md new file mode 100644 index 0000000..98cd03c --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AspectTypeConstants.md @@ -0,0 +1,17 @@ +--- +title: AspectTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AspectTypeConstants +--- +# AspectTypeConstants +{: .no_toc } + +Rendering aspect identifiers used by [**DataObjectFormat.AspectType**](../DataObject/DataObjectFormat#aspecttype) and other OLE-data routines to choose which view of a piece of data is being negotiated. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbContent**{: #vbContent } | 1 | The data itself, suitable for display or editing. | +| **vbThumbnail**{: #vbThumbnail } | 2 | A small preview of the data. | +| **vbIcon**{: #vbIcon } | 4 | An icon-sized representation. | +| **vbDocPrint**{: #vbDocPrint } | 8 | A rendering suitable for sending to a printer. | diff --git a/docs/Reference/Modules/VBRUNConstants/AsyncReadConstants.md b/docs/Reference/Modules/VBRUNConstants/AsyncReadConstants.md new file mode 100644 index 0000000..8bd8e35 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AsyncReadConstants.md @@ -0,0 +1,18 @@ +--- +title: AsyncReadConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AsyncReadConstants +--- +# AsyncReadConstants +{: .no_toc } + +Bit flags for the *AsyncReadOptions* argument of **UserControl.AsyncRead**, controlling caching, synchronisation, and offline behaviour for an asynchronous download. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbAsyncReadSynchronousDownload**{: #vbAsyncReadSynchronousDownload } | 1 | The call does not return until the download has finished. | +| **vbAsyncReadOfflineOperation**{: #vbAsyncReadOfflineOperation } | 8 | The runtime should not contact the network if the resource is not already cached. | +| **vbAsyncReadForceUpdate**{: #vbAsyncReadForceUpdate } | &H10 | The cached copy is bypassed and the resource is fetched fresh. | +| **vbAsyncReadResynchronize**{: #vbAsyncReadResynchronize } | &H200 | The cached copy is used only after revalidating it against the server. | +| **vbAsyncReadGetFromCacheIfNetFail**{: #vbAsyncReadGetFromCacheIfNetFail } | &H80000 | If the network request fails, fall back to the cached copy if any. | diff --git a/docs/Reference/Modules/VBRUNConstants/AsyncStatusCodeConstants.md b/docs/Reference/Modules/VBRUNConstants/AsyncStatusCodeConstants.md new file mode 100644 index 0000000..288173c --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AsyncStatusCodeConstants.md @@ -0,0 +1,26 @@ +--- +title: AsyncStatusCodeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AsyncStatusCodeConstants +--- +# AsyncStatusCodeConstants +{: .no_toc } + +Status codes reported by [**AsyncProperty.StatusCode**](../AsyncProperty/StatusCode) during an **AsyncReadProgress** notification, identifying which step of the download is currently in progress. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbAsyncStatusCodeError**{: #vbAsyncStatusCodeError } | 0 | An error has occurred during the read. | +| **vbAsyncStatusCodeFindingResource**{: #vbAsyncStatusCodeFindingResource } | 1 | The runtime is locating the target server. | +| **vbAsyncStatusCodeConnecting**{: #vbAsyncStatusCodeConnecting } | 2 | A connection to the target server is being established. | +| **vbAsyncStatusCodeRedirecting**{: #vbAsyncStatusCodeRedirecting } | 3 | The request is being redirected to a different URL. | +| **vbAsyncStatusCodeBeginDownloadData**{: #vbAsyncStatusCodeBeginDownloadData } | 4 | The download of the resource data is starting. | +| **vbAsyncStatusCodeDownloadingData**{: #vbAsyncStatusCodeDownloadingData } | 5 | The resource data is being received. | +| **vbAsyncStatusCodeEndDownloadData**{: #vbAsyncStatusCodeEndDownloadData } | 6 | The resource data has finished downloading. | +| **vbAsyncStatusCodeUsingCachedCopy**{: #vbAsyncStatusCodeUsingCachedCopy } | 10 | The resource is being served from the local cache rather than the network. | +| **vbAsyncStatusCodeSendingRequest**{: #vbAsyncStatusCodeSendingRequest } | 11 | The request is being sent to the server. | +| **vbAsyncStatusCodeMIMETypeAvailable**{: #vbAsyncStatusCodeMIMETypeAvailable } | 13 | The MIME type of the resource is now known. | +| **vbAsyncStatusCodeCacheFileNameAvailable**{: #vbAsyncStatusCodeCacheFileNameAvailable } | 14 | The local cache filename for the resource is now known. | +| **vbAsyncStatusCodeBeginSyncOperation**{: #vbAsyncStatusCodeBeginSyncOperation } | 15 | A synchronous portion of the operation is starting. | +| **vbAsyncStatusCodeEndSyncOperation**{: #vbAsyncStatusCodeEndSyncOperation } | 16 | A synchronous portion of the operation has finished. | diff --git a/docs/Reference/Modules/VBRUNConstants/AsyncTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/AsyncTypeConstants.md new file mode 100644 index 0000000..22b5626 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/AsyncTypeConstants.md @@ -0,0 +1,16 @@ +--- +title: AsyncTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/AsyncTypeConstants +--- +# AsyncTypeConstants +{: .no_toc } + +The kind of data being delivered by **UserControl.AsyncRead**, also reported back through [**AsyncProperty.AsyncType**](../AsyncProperty/AsyncType). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbAsyncTypePicture**{: #vbAsyncTypePicture } | 0 | The data is delivered as an **stdole.IPictureDisp**. | +| **vbAsyncTypeFile**{: #vbAsyncTypeFile } | 1 | The data is downloaded to a temporary file; **Value** holds the file's path. | +| **vbAsyncTypeByteArray**{: #vbAsyncTypeByteArray } | 2 | The data is delivered as a **Byte** array. | diff --git a/docs/Reference/Modules/VBRUNConstants/BackFillStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/BackFillStyleConstants.md new file mode 100644 index 0000000..eec6307 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/BackFillStyleConstants.md @@ -0,0 +1,15 @@ +--- +title: BackFillStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/BackFillStyleConstants +--- +# BackFillStyleConstants +{: .no_toc } + +Whether a control's background fill is opaque or transparent. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbBFTransparent**{: #vbBFTransparent } | 0 | The background of the control is transparent — whatever is behind it shows through. | +| **vbBFOpaque**{: #vbBFOpaque } | 1 | The background of the control is filled solidly with its **BackColor**. | diff --git a/docs/Reference/Modules/VBRUNConstants/BorderStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/BorderStyleConstants.md new file mode 100644 index 0000000..d79de13 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/BorderStyleConstants.md @@ -0,0 +1,20 @@ +--- +title: BorderStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/BorderStyleConstants +--- +# BorderStyleConstants +{: .no_toc } + +Line-style values for the **BorderStyle** property of **Shape** and **Line** controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbTransparent**{: #vbTransparent } | 0 | No border is drawn. | +| **vbBSSolid**{: #vbBSSolid } | 1 | A solid border. | +| **vbBSDash**{: #vbBSDash } | 2 | A dashed border. | +| **vbBSDot**{: #vbBSDot } | 3 | A dotted border. | +| **vbBSDashDot**{: #vbBSDashDot } | 4 | A dash-dot border. | +| **vbBSDashDotDot**{: #vbBSDashDotDot } | 5 | A dash-dot-dot border. | +| **vbBSInsideSolid**{: #vbBSInsideSolid } | 6 | A solid border drawn entirely within the shape's bounds. | diff --git a/docs/Reference/Modules/VBRUNConstants/ButtonConstants.md b/docs/Reference/Modules/VBRUNConstants/ButtonConstants.md new file mode 100644 index 0000000..d162d05 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ButtonConstants.md @@ -0,0 +1,15 @@ +--- +title: ButtonConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ButtonConstants +--- +# ButtonConstants +{: .no_toc } + +Style values for command buttons that support an optional graphical (image-based) appearance. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbButtonStandard**{: #vbButtonStandard } | 0 | The button is drawn as a standard system push-button. | +| **vbButtonGraphical**{: #vbButtonGraphical } | 1 | The button is drawn as a graphical button able to display a picture. Available only when the **FEATURE_GRAPHICAL_BUTTONS** feature is enabled. | diff --git a/docs/Reference/Modules/VBRUNConstants/CheckBoxConstants.md b/docs/Reference/Modules/VBRUNConstants/CheckBoxConstants.md new file mode 100644 index 0000000..cfc2030 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/CheckBoxConstants.md @@ -0,0 +1,16 @@ +--- +title: CheckBoxConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/CheckBoxConstants +--- +# CheckBoxConstants +{: .no_toc } + +State values for the **Value** property of a check-box control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbUnchecked**{: #vbUnchecked } | 0 | The check box is cleared. | +| **vbChecked**{: #vbChecked } | 1 | The check box is selected. | +| **vbGrayed**{: #vbGrayed } | 2 | The check box is shown in an indeterminate (gray) state. | diff --git a/docs/Reference/Modules/VBRUNConstants/ClipboardConstants.md b/docs/Reference/Modules/VBRUNConstants/ClipboardConstants.md new file mode 100644 index 0000000..e8c95ac --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ClipboardConstants.md @@ -0,0 +1,23 @@ +--- +title: ClipboardConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ClipboardConstants +--- +# ClipboardConstants +{: .no_toc } + +Standard clipboard format identifiers used by the [**DataObject**](../DataObject) and **Clipboard** objects to choose how a value is stored or retrieved. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbCFText**{: #vbCFText } | 1 | ANSI text. | +| **vbCFBitmap**{: #vbCFBitmap } | 2 | Device-dependent bitmap (`HBITMAP`). | +| **vbCFMetafile**{: #vbCFMetafile } | 3 | Windows metafile. | +| **vbCFDIB**{: #vbCFDIB } | 8 | Device-independent bitmap. | +| **vbCFPalette**{: #vbCFPalette } | 9 | Colour palette. | +| **vbCFUnicodeText**{: #vbCFUnicodeText } | 13 | Unicode (UTF-16) text. | +| **vbCFEMetafile**{: #vbCFEMetafile } | 14 | Enhanced metafile. | +| **vbCFFiles**{: #vbCFFiles } | 15 | A list of file paths (typically from a Windows shell drag-drop). | +| **vbCFLink**{: #vbCFLink } | &HFFFFBF00 | A DDE link reference. | +| **vbCFRTF**{: #vbCFRTF } | &HFFFFBF01 | Rich Text Format. | diff --git a/docs/Reference/Modules/VBRUNConstants/ColorConstants.md b/docs/Reference/Modules/VBRUNConstants/ColorConstants.md new file mode 100644 index 0000000..808cc27 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ColorConstants.md @@ -0,0 +1,21 @@ +--- +title: ColorConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ColorConstants +--- +# ColorConstants +{: .no_toc } + +Common named RGB colour values, suitable wherever a colour is supplied as a **Long** or **OLE_COLOR**. The numeric values follow the GDI byte order — `&H00BBGGRR`. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbBlack**{: #vbBlack } | 0 | Black. | +| **vbRed**{: #vbRed } | 255 | Red. | +| **vbGreen**{: #vbGreen } | 65280 | Green. | +| **vbYellow**{: #vbYellow } | 65535 | Yellow. | +| **vbBlue**{: #vbBlue } | 16711680 | Blue. | +| **vbMagenta**{: #vbMagenta } | 16711935 | Magenta. | +| **vbCyan**{: #vbCyan } | 16776960 | Cyan. | +| **vbWhite**{: #vbWhite } | 16777215 | White. | diff --git a/docs/Reference/Modules/VBRUNConstants/ComboBoxConstants.md b/docs/Reference/Modules/VBRUNConstants/ComboBoxConstants.md new file mode 100644 index 0000000..8510e58 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ComboBoxConstants.md @@ -0,0 +1,16 @@ +--- +title: ComboBoxConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ComboBoxConstants +--- +# ComboBoxConstants +{: .no_toc } + +Style values for the **Style** property of a combo-box control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbComboDropdown**{: #vbComboDropdown } | 0 | A drop-down combo box: the user can type a value or select one from the list. | +| **vbComboSimple**{: #vbComboSimple } | 1 | A simple combo box: the list is always visible and the user can also type a value. | +| **vbComboDropdownList**{: #vbComboDropdownList } | 2 | A drop-down list: the user must pick a value from the list. | diff --git a/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstants.md new file mode 100644 index 0000000..8a9037d --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstants.md @@ -0,0 +1,15 @@ +--- +title: ControlBorderStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ControlBorderStyleConstants +--- +# ControlBorderStyleConstants +{: .no_toc } + +Border-style values for the **BorderStyle** property of intrinsic controls such as text boxes, picture boxes, and labels. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbNoBorder**{: #vbNoBorder } | 0 | No border is drawn. | +| **vbFixedSingleBorder**{: #vbFixedSingleBorder } | 1 | A single, non-resizable border. | diff --git a/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstantsCustom.md b/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstantsCustom.md new file mode 100644 index 0000000..80ed80d --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ControlBorderStyleConstantsCustom.md @@ -0,0 +1,16 @@ +--- +title: ControlBorderStyleConstantsCustom +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ControlBorderStyleConstantsCustom +--- +# ControlBorderStyleConstantsCustom +{: .no_toc } + +Border-style values for controls that support a custom-drawn border in addition to the standard options. The enumeration is tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`ControlBorderStyleConstantsCustom.vbCustomBorder`) to avoid clashing with the similarly named values in [**ControlBorderStyleConstants**](ControlBorderStyleConstants). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbNoBorder**{: #vbNoBorder } | 0 | No border is drawn. | +| **vbFixedSingleBorder**{: #vbFixedSingleBorder } | 1 | A single, non-resizable border. | +| **vbCustomBorder**{: #vbCustomBorder } | 2 | The control raises the events that let user code paint the border itself. | diff --git a/docs/Reference/Modules/VBRUNConstants/ControlTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/ControlTypeConstants.md new file mode 100644 index 0000000..09de53f --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ControlTypeConstants.md @@ -0,0 +1,50 @@ +--- +title: ControlTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ControlTypeConstants +--- +# ControlTypeConstants +{: .no_toc } + +Identifiers for the standard intrinsic and bundled control types, used by runtime introspection — for example by code that inspects the contents of a form's **Controls** collection. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbCommandButton**{: #vbCommandButton } | 0 | A command-button control. | +| **vbListBox**{: #vbListBox } | 1 | A list-box control. | +| **vbComboBox**{: #vbComboBox } | 2 | A combo-box control. | +| **vbOptionButton**{: #vbOptionButton } | 3 | An option-button (radio button) control. | +| **vbCheckBox**{: #vbCheckBox } | 4 | A check-box control. | +| **vbFrame**{: #vbFrame } | 5 | A frame control. | +| **vbLabel**{: #vbLabel } | 6 | A label control. | +| **vbPictureBox**{: #vbPictureBox } | 7 | A picture-box control. | +| **vbTextBox**{: #vbTextBox } | 8 | A text-box control. | +| **vbTimer**{: #vbTimer } | 9 | A timer control. | +| **vbUserControl**{: #vbUserControl } | 10 | An ActiveX user control. | +| **vbHScrollBar**{: #vbHScrollBar } | 11 | A horizontal scrollbar. | +| **vbVScrollBar**{: #vbVScrollBar } | 12 | A vertical scrollbar. | +| **vbImage**{: #vbImage } | 13 | An image control. | +| **vbDirListBox**{: #vbDirListBox } | 14 | A directory list-box. | +| **vbDriveListBox**{: #vbDriveListBox } | 15 | A drive list-box. | +| **vbFileListBox**{: #vbFileListBox } | 16 | A file list-box. | +| **vbForm**{: #vbForm } | 17 | A form. | +| **vbWebView2**{: #vbWebView2 } | 18 | A WebView2 control (twinBASIC). | +| **vbActiveXExtender**{: #vbActiveXExtender } | 19 | An ActiveX extender wrapper. | +| **vbShape**{: #vbShape } | 20 | A shape control. | +| **vbProgressBar**{: #vbProgressBar } | 21 | A progress-bar control. | +| **vbTreeView**{: #vbTreeView } | 22 | A tree-view control. | +| **vbOLEControl**{: #vbOLEControl } | 23 | An OLE container control. | +| **vbDataControl**{: #vbDataControl } | 24 | A data control. | +| **vbMenuControl**{: #vbMenuControl } | 25 | A menu item. | +| **vbSlider**{: #vbSlider } | 26 | A slider (track-bar) control. | +| **vbUpDown**{: #vbUpDown } | 27 | An up-down (spin) control. | +| **vbDTPicker**{: #vbDTPicker } | 28 | A date-time picker control. | +| **vbMonthView**{: #vbMonthView } | 29 | A month-view (calendar) control. | +| **vbListView**{: #vbListView } | 30 | A list-view control. | +| **vbImageList**{: #vbImageList } | 31 | An image-list control. | +| **vbPropertyPage**{: #vbPropertyPage } | 32 | A property-page surface. | +| **vbHwndControl**{: #vbHwndControl } | 33 | A control hosted by an `HWND`. | +| **vbReport**{: #vbReport } | 34 | A report (data-report) control. | +| **vbCheckMark**{: #vbCheckMark } | 35 | A check-mark control. | +| **vbTwinBridge**{: #vbTwinBridge } | 36 | A TwinBridge interop wrapper (twinBASIC). | diff --git a/docs/Reference/Modules/VBRUNConstants/DataBOFconstants.md b/docs/Reference/Modules/VBRUNConstants/DataBOFconstants.md new file mode 100644 index 0000000..a0fe531 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DataBOFconstants.md @@ -0,0 +1,15 @@ +--- +title: DataBOFconstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DataBOFconstants +--- +# DataBOFconstants +{: .no_toc } + +Action values for the **BOFAction** property of a Data control, controlling what happens when the user moves past the start of a recordset. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMoveFirst**{: #vbMoveFirst } | 0 | Move back to the first record. | +| **vbBOF**{: #vbBOF } | 1 | The recordset is positioned at the beginning-of-file marker; navigation past it is disallowed. | diff --git a/docs/Reference/Modules/VBRUNConstants/DataEOFConstants.md b/docs/Reference/Modules/VBRUNConstants/DataEOFConstants.md new file mode 100644 index 0000000..189cae8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DataEOFConstants.md @@ -0,0 +1,16 @@ +--- +title: DataEOFConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DataEOFConstants +--- +# DataEOFConstants +{: .no_toc } + +Action values for the **EOFAction** property of a Data control, controlling what happens when the user moves past the end of a recordset. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMoveLast**{: #vbMoveLast } | 0 | Move forward to the last record. | +| **vbEOF**{: #vbEOF } | 1 | The recordset is positioned at the end-of-file marker; navigation past it is disallowed. | +| **vbAddNew**{: #vbAddNew } | 2 | A new record is automatically added so the user can continue past the last existing row. | diff --git a/docs/Reference/Modules/VBRUNConstants/DataErrorConstants.md b/docs/Reference/Modules/VBRUNConstants/DataErrorConstants.md new file mode 100644 index 0000000..c84d35c --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DataErrorConstants.md @@ -0,0 +1,15 @@ +--- +title: DataErrorConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DataErrorConstants +--- +# DataErrorConstants +{: .no_toc } + +Response values returned from a Data control's **Error** event handler. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDataErrContinue**{: #vbDataErrContinue } | 0 | Continue execution as though no error had occurred. | +| **vbDataErrDisplay**{: #vbDataErrDisplay } | 1 | Display the standard error dialog and let the runtime handle the error. | diff --git a/docs/Reference/Modules/VBRUNConstants/DataValidateConstants.md b/docs/Reference/Modules/VBRUNConstants/DataValidateConstants.md new file mode 100644 index 0000000..fb9ff02 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DataValidateConstants.md @@ -0,0 +1,25 @@ +--- +title: DataValidateConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DataValidateConstants +--- +# DataValidateConstants +{: .no_toc } + +Action codes reported in the *Action* argument of a Data control's **Validate** event, identifying the operation that triggered validation. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDataActionCancel**{: #vbDataActionCancel } | 0 | The pending action is being cancelled. | +| **vbDataActionMoveFirst**{: #vbDataActionMoveFirst } | 1 | The user is moving to the first record. | +| **vbDataActionMovePrevious**{: #vbDataActionMovePrevious } | 2 | The user is moving to the previous record. | +| **vbDataActionMoveNext**{: #vbDataActionMoveNext } | 3 | The user is moving to the next record. | +| **vbDataActionMoveLast**{: #vbDataActionMoveLast } | 4 | The user is moving to the last record. | +| **vbDataActionAddNew**{: #vbDataActionAddNew } | 5 | A new record is being added. | +| **vbDataActionUpdate**{: #vbDataActionUpdate } | 6 | The current record is being updated. | +| **vbDataActionDelete**{: #vbDataActionDelete } | 7 | The current record is being deleted. | +| **vbDataActionFind**{: #vbDataActionFind } | 8 | The user invoked a find operation. | +| **vbDataActionBookmark**{: #vbDataActionBookmark } | 9 | The user is moving to a bookmarked record. | +| **vbDataActionClose**{: #vbDataActionClose } | 10 | The recordset is being closed. | +| **vbDataActionUnload**{: #vbDataActionUnload } | 11 | The form is being unloaded. | diff --git a/docs/Reference/Modules/VBRUNConstants/DatabaseTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/DatabaseTypeConstants.md new file mode 100644 index 0000000..44a6fa6 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DatabaseTypeConstants.md @@ -0,0 +1,16 @@ +--- +title: DatabaseTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DatabaseTypeConstants +--- +# DatabaseTypeConstants +{: .no_toc } + +Engine values for the **DefaultType** property of a Data control, choosing which database back-end the control should use. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbUseODBC**{: #vbUseODBC } | 1 | Connect through ODBC. | +| **vbUseJet**{: #vbUseJet } | 2 | Connect through the Jet (Access) engine. | +| **vbUseACE**{: #vbUseACE } | 3 | Connect through the ACE (Access 2007+) engine. *(twinBASIC addition.)* | diff --git a/docs/Reference/Modules/VBRUNConstants/DefaultCursorTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/DefaultCursorTypeConstants.md new file mode 100644 index 0000000..0419896 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DefaultCursorTypeConstants.md @@ -0,0 +1,16 @@ +--- +title: DefaultCursorTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DefaultCursorTypeConstants +--- +# DefaultCursorTypeConstants +{: .no_toc } + +Cursor-driver values for a Data control's connection, controlling whether the database client or the server manages the recordset cursor. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbUseDefaultCursor**{: #vbUseDefaultCursor } | 0 | Use the data source's default cursor driver. | +| **vbUseODBCCursor**{: #vbUseODBCCursor } | 1 | Use the client-side ODBC cursor library. | +| **vbUseServersideCursor**{: #vbUseServersideCursor } | 2 | Use a server-side cursor managed by the database engine. | diff --git a/docs/Reference/Modules/VBRUNConstants/DockModeConstants.md b/docs/Reference/Modules/VBRUNConstants/DockModeConstants.md new file mode 100644 index 0000000..d7705ac --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DockModeConstants.md @@ -0,0 +1,19 @@ +--- +title: DockModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DockModeConstants +--- +# DockModeConstants +{: .no_toc } + +Dock-edge values for forms and toolbars that can be docked against a side of their container. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDockNone**{: #vbDockNone } | 0 | The window is not docked. | +| **vbDockLeft**{: #vbDockLeft } | 1 | The window is docked against the left edge of the container. | +| **vbDockTop**{: #vbDockTop } | 2 | The window is docked against the top edge. | +| **vbDockRight**{: #vbDockRight } | 3 | The window is docked against the right edge. | +| **vbDockBottom**{: #vbDockBottom } | 4 | The window is docked against the bottom edge. | +| **vbDockFill**{: #vbDockFill } | 5 | The window fills the entire container area. | diff --git a/docs/Reference/Modules/VBRUNConstants/DragConstants.md b/docs/Reference/Modules/VBRUNConstants/DragConstants.md new file mode 100644 index 0000000..71f23ea --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DragConstants.md @@ -0,0 +1,16 @@ +--- +title: DragConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DragConstants +--- +# DragConstants +{: .no_toc } + +Action values for the **Drag** method of a control, controlling the start, end, or cancellation of a manual drag. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbCancel**{: #vbCancel } | 0 | Cancel the drag operation in progress. | +| **vbBeginDrag**{: #vbBeginDrag } | 1 | Begin dragging the control. | +| **vbEndDrag**{: #vbEndDrag } | 2 | Drop the control at the current location. | diff --git a/docs/Reference/Modules/VBRUNConstants/DragModeConstants.md b/docs/Reference/Modules/VBRUNConstants/DragModeConstants.md new file mode 100644 index 0000000..884f46e --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DragModeConstants.md @@ -0,0 +1,15 @@ +--- +title: DragModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DragModeConstants +--- +# DragModeConstants +{: .no_toc } + +Values for the **DragMode** property of a control, controlling whether dragging starts automatically when the user clicks-and-drags or only when **Drag** is called explicitly. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbManual**{: #vbManual } | 0 | The control is not draggable until **Drag** is called from code. | +| **vbAutomatic**{: #vbAutomatic } | 1 | Dragging starts automatically when the user presses the mouse button on the control. | diff --git a/docs/Reference/Modules/VBRUNConstants/DragOverConstants.md b/docs/Reference/Modules/VBRUNConstants/DragOverConstants.md new file mode 100644 index 0000000..2ecae16 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DragOverConstants.md @@ -0,0 +1,16 @@ +--- +title: DragOverConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DragOverConstants +--- +# DragOverConstants +{: .no_toc } + +State values reported in the *State* argument of a control's **DragOver** event. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbEnter**{: #vbEnter } | 0 | The dragged source has just entered the target. | +| **vbLeave**{: #vbLeave } | 1 | The dragged source has just left the target. | +| **vbOver**{: #vbOver } | 2 | The dragged source is moving over the target. | diff --git a/docs/Reference/Modules/VBRUNConstants/DrawModeConstants.md b/docs/Reference/Modules/VBRUNConstants/DrawModeConstants.md new file mode 100644 index 0000000..cd1f633 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DrawModeConstants.md @@ -0,0 +1,29 @@ +--- +title: DrawModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DrawModeConstants +--- +# DrawModeConstants +{: .no_toc } + +GDI raster-operation values for the **DrawMode** property, controlling how the pen colour is combined with the existing pixels when drawing with **PSet**, **Line**, **Circle**, and similar methods. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbBlackness**{: #vbBlackness } | 1 | Output is black. | +| **vbNotMergePen**{: #vbNotMergePen } | 2 | Inverse of **vbMergePen**. | +| **vbMaskNotPen**{: #vbMaskNotPen } | 3 | Combination of the colours common to the background and the inverse of the pen. | +| **vbNotCopyPen**{: #vbNotCopyPen } | 4 | Inverse of **vbCopyPen**. | +| **vbMaskPenNot**{: #vbMaskPenNot } | 5 | Combination of the pen and the inverse of the screen. | +| **vbInvert**{: #vbInvert } | 6 | Inverse of the existing screen colour. | +| **vbXorPen**{: #vbXorPen } | 7 | XOR of the pen and the screen. | +| **vbNotMaskPen**{: #vbNotMaskPen } | 8 | Inverse of **vbMaskPen**. | +| **vbMaskPen**{: #vbMaskPen } | 9 | Combination of the colours common to both the pen and the screen. | +| **vbNotXorPen**{: #vbNotXorPen } | 10 | Inverse of **vbXorPen**. | +| **vbNop**{: #vbNop } | 11 | No drawing — the screen is left unchanged. | +| **vbMergeNotPen**{: #vbMergeNotPen } | 12 | Combination of the screen and the inverse of the pen. | +| **vbCopyPen**{: #vbCopyPen } | 13 | Output is the pen colour (the default). | +| **vbMergePenNot**{: #vbMergePenNot } | 14 | Combination of the pen and the inverse of the screen. | +| **vbMergePen**{: #vbMergePen } | 15 | Combination of the pen colour and the screen colour. | +| **vbWhiteness**{: #vbWhiteness } | 16 | Output is white. | diff --git a/docs/Reference/Modules/VBRUNConstants/DrawStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/DrawStyleConstants.md new file mode 100644 index 0000000..e180405 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/DrawStyleConstants.md @@ -0,0 +1,20 @@ +--- +title: DrawStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/DrawStyleConstants +--- +# DrawStyleConstants +{: .no_toc } + +Line-style values for the **DrawStyle** property, controlling the appearance of lines drawn with **Line** and **Circle**. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbSolid**{: #vbSolid } | 0 | Solid line (the default). | +| **vbDash**{: #vbDash } | 1 | Dashed line. | +| **vbDot**{: #vbDot } | 2 | Dotted line. | +| **vbDashDot**{: #vbDashDot } | 3 | Dash-dot pattern. | +| **vbDashDotDot**{: #vbDashDotDot } | 4 | Dash-dot-dot pattern. | +| **vbInvisible**{: #vbInvisible } | 5 | The line is not drawn. | +| **vbInsideSolid**{: #vbInsideSolid } | 6 | A solid line drawn entirely within the bounds of any closed shape. | diff --git a/docs/Reference/Modules/VBRUNConstants/FillStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/FillStyleConstants.md new file mode 100644 index 0000000..73a7db5 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FillStyleConstants.md @@ -0,0 +1,21 @@ +--- +title: FillStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FillStyleConstants +--- +# FillStyleConstants +{: .no_toc } + +Pattern values for the **FillStyle** property of forms, picture boxes, and shape controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbFSSolid**{: #vbFSSolid } | 0 | Solid fill in **FillColor**. | +| **vbFSTransparent**{: #vbFSTransparent } | 1 | No fill — the background shows through. | +| **vbHorizontalLine**{: #vbHorizontalLine } | 2 | Horizontal lines. | +| **vbVerticalLine**{: #vbVerticalLine } | 3 | Vertical lines. | +| **vbUpwardDiagonal**{: #vbUpwardDiagonal } | 4 | Upward-sloping diagonal lines. | +| **vbDownwardDiagonal**{: #vbDownwardDiagonal } | 5 | Downward-sloping diagonal lines. | +| **vbCross**{: #vbCross } | 6 | Crossed horizontal and vertical lines. | +| **vbDiagonalCross**{: #vbDiagonalCross } | 7 | Crossed diagonal lines. | diff --git a/docs/Reference/Modules/VBRUNConstants/FillStyleConstantsEx.md b/docs/Reference/Modules/VBRUNConstants/FillStyleConstantsEx.md new file mode 100644 index 0000000..08f3635 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FillStyleConstantsEx.md @@ -0,0 +1,23 @@ +--- +title: FillStyleConstantsEx +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FillStyleConstantsEx +--- +# FillStyleConstantsEx +{: .no_toc } + +Extended fill-pattern values for controls that support twinBASIC's gradient fills in addition to the classic patterns from [**FillStyleConstants**](FillStyleConstants). The enumeration is tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`FillStyleConstantsEx.vbGradientNS`) to avoid clashing with [**FillStyleConstants**](FillStyleConstants). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbFSSolid**{: #vbFSSolid } | 0 | Solid fill in **FillColor**. | +| **vbFSTransparent**{: #vbFSTransparent } | 1 | No fill — the background shows through. | +| **vbHorizontalLine**{: #vbHorizontalLine } | 2 | Horizontal lines. | +| **vbVerticalLine**{: #vbVerticalLine } | 3 | Vertical lines. | +| **vbUpwardDiagonal**{: #vbUpwardDiagonal } | 4 | Upward-sloping diagonal lines. | +| **vbDownwardDiagonal**{: #vbDownwardDiagonal } | 5 | Downward-sloping diagonal lines. | +| **vbCross**{: #vbCross } | 6 | Crossed horizontal and vertical lines. | +| **vbDiagonalCross**{: #vbDiagonalCross } | 7 | Crossed diagonal lines. | +| **vbGradientNS**{: #vbGradientNS } | 8 | Vertical (north–south) linear gradient. *(twinBASIC addition.)* | +| **vbGradientWE**{: #vbGradientWE } | 9 | Horizontal (west–east) linear gradient. *(twinBASIC addition.)* | diff --git a/docs/Reference/Modules/VBRUNConstants/FormArrangeConstants.md b/docs/Reference/Modules/VBRUNConstants/FormArrangeConstants.md new file mode 100644 index 0000000..e427321 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FormArrangeConstants.md @@ -0,0 +1,17 @@ +--- +title: FormArrangeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FormArrangeConstants +--- +# FormArrangeConstants +{: .no_toc } + +Arrangement modes for the **Arrange** method of an MDI parent form, controlling how its child windows are laid out. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbCascade**{: #vbCascade } | 0 | Cascade the open child windows. | +| **vbTileHorizontal**{: #vbTileHorizontal } | 1 | Tile the child windows horizontally. | +| **vbTileVertical**{: #vbTileVertical } | 2 | Tile the child windows vertically. | +| **vbArrangeIcons**{: #vbArrangeIcons } | 3 | Arrange the icons of the minimised child windows along the bottom of the MDI parent. | diff --git a/docs/Reference/Modules/VBRUNConstants/FormBorderStyleConstants.md b/docs/Reference/Modules/VBRUNConstants/FormBorderStyleConstants.md new file mode 100644 index 0000000..51eb5ad --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FormBorderStyleConstants.md @@ -0,0 +1,21 @@ +--- +title: FormBorderStyleConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FormBorderStyleConstants +--- +# FormBorderStyleConstants +{: .no_toc } + +Border-and-frame style values for the **BorderStyle** property of forms, choosing what kind of window decoration the form has and whether the user can resize it. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbBSNone**{: #vbBSNone } | 0 | The form has no border, title bar, or system menu. | +| **vbFixedSingle**{: #vbFixedSingle } | 1 | A single-line, non-resizable border with a normal title bar. | +| **vbSizable**{: #vbSizable } | 2 | A resizable border with a normal title bar (the default for forms). | +| **vbFixedDialog**{: #vbFixedDialog } | 3 | A dialog-style fixed border. | +| **vbFixedToolWindow**{: #vbFixedToolWindow } | 4 | A non-resizable tool-window border with a small title bar. | +| **vbSizableToolWindow**{: #vbSizableToolWindow } | 5 | A resizable tool-window border with a small title bar. | +| **vbSizableNoTitleBar**{: #vbSizableNoTitleBar } | 6 | A resizable border without a title bar. *(twinBASIC addition.)* | +| **vbSizableToolWindowNoTitleBar**{: #vbSizableToolWindowNoTitleBar } | 7 | A resizable tool-window border without a title bar. *(twinBASIC addition.)* | diff --git a/docs/Reference/Modules/VBRUNConstants/FormShowConstants.md b/docs/Reference/Modules/VBRUNConstants/FormShowConstants.md new file mode 100644 index 0000000..99bacaa --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FormShowConstants.md @@ -0,0 +1,15 @@ +--- +title: FormShowConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FormShowConstants +--- +# FormShowConstants +{: .no_toc } + +Modality values for the *Modal* argument of a form's **Show** method. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbModeless**{: #vbModeless } | 0 | The form is shown modeless: the calling code continues immediately and the user can interact with other windows in the application. | +| **vbModal**{: #vbModal } | 1 | The form is shown modal: the call does not return until the form is closed, and the user cannot interact with other windows in the application until then. | diff --git a/docs/Reference/Modules/VBRUNConstants/FormWindowStateConstants.md b/docs/Reference/Modules/VBRUNConstants/FormWindowStateConstants.md new file mode 100644 index 0000000..4a96d13 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/FormWindowStateConstants.md @@ -0,0 +1,16 @@ +--- +title: FormWindowStateConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/FormWindowStateConstants +--- +# FormWindowStateConstants +{: .no_toc } + +Window-state values for the **WindowState** property of a form. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbNormal**{: #vbNormal } | 0 | The form is shown at its normal size and position. | +| **vbMinimized**{: #vbMinimized } | 1 | The form is minimised to an icon. | +| **vbMaximized**{: #vbMaximized } | 2 | The form is maximised to fill the screen (or its MDI parent). | diff --git a/docs/Reference/Modules/VBRUNConstants/HitResultConstants.md b/docs/Reference/Modules/VBRUNConstants/HitResultConstants.md new file mode 100644 index 0000000..f55eca1 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/HitResultConstants.md @@ -0,0 +1,17 @@ +--- +title: HitResultConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/HitResultConstants +--- +# HitResultConstants +{: .no_toc } + +Return values from a **UserControl**'s **HitTest** event, telling the host how the supplied point relates to the control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbHitResultOutside**{: #vbHitResultOutside } | 0 | The point is outside the control's hit-test region. | +| **vbHitResultTransparent**{: #vbHitResultTransparent } | 1 | The point is inside the control's bounds but in a transparent area; mouse input passes through to the control behind. | +| **vbHitResultClose**{: #vbHitResultClose } | 2 | The point is close to the control. | +| **vbHitResultHit**{: #vbHitResultHit } | 3 | The point is inside the control and should be treated as a hit. | diff --git a/docs/Reference/Modules/VBRUNConstants/KeyCodeConstants.md b/docs/Reference/Modules/VBRUNConstants/KeyCodeConstants.md new file mode 100644 index 0000000..ef6d421 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/KeyCodeConstants.md @@ -0,0 +1,85 @@ +--- +title: KeyCodeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/KeyCodeConstants +--- +# KeyCodeConstants +{: .no_toc } + +Virtual-key codes reported in the *KeyCode* argument of **KeyDown** and **KeyUp** events. The values match the underlying Windows virtual-key codes (`VK_*`). + +> [!NOTE] +> In classic VBA, `KeyCodeConstants` is a module of standalone constants; in VB6 and twinBASIC it is an enumeration. + +## Mouse buttons and modifiers + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKeyLButton**{: #vbKeyLButton } | 1 | Left mouse button. | +| **vbKeyRButton**{: #vbKeyRButton } | 2 | Right mouse button. | +| **vbKeyMButton**{: #vbKeyMButton } | 4 | Middle mouse button. | +| **vbKeyShift**{: #vbKeyShift } | 16 | **Shift**. | +| **vbKeyControl**{: #vbKeyControl } | 17 | **Ctrl**. | +| **vbKeyMenu**{: #vbKeyMenu } | 18 | **Alt**. | + +## Editing and navigation + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKeyCancel**{: #vbKeyCancel } | 3 | **Ctrl**+**Break**. | +| **vbKeyBack**{: #vbKeyBack } | 8 | **Backspace**. | +| **vbKeyTab**{: #vbKeyTab } | 9 | **Tab**. | +| **vbKeyClear**{: #vbKeyClear } | 12 | **Clear** (numeric pad **5** without **Num Lock**). | +| **vbKeyReturn**{: #vbKeyReturn } | 13 | **Enter**. | +| **vbKeyPause**{: #vbKeyPause } | 19 | **Pause**. | +| **vbKeyCapital**{: #vbKeyCapital } | 20 | **Caps Lock**. | +| **vbKeyEscape**{: #vbKeyEscape } | 27 | **Esc**. | +| **vbKeySpace**{: #vbKeySpace } | 32 | **Space**. | +| **vbKeyPageUp**{: #vbKeyPageUp } | 33 | **Page Up**. | +| **vbKeyPageDown**{: #vbKeyPageDown } | 34 | **Page Down**. | +| **vbKeyEnd**{: #vbKeyEnd } | 35 | **End**. | +| **vbKeyHome**{: #vbKeyHome } | 36 | **Home**. | +| **vbKeyLeft**{: #vbKeyLeft } | 37 | **Left arrow**. | +| **vbKeyUp**{: #vbKeyUp } | 38 | **Up arrow**. | +| **vbKeyRight**{: #vbKeyRight } | 39 | **Right arrow**. | +| **vbKeyDown**{: #vbKeyDown } | 40 | **Down arrow**. | +| **vbKeySelect**{: #vbKeySelect } | 41 | **Select**. | +| **vbKeyPrint**{: #vbKeyPrint } | 42 | **Print**. | +| **vbKeyExecute**{: #vbKeyExecute } | 43 | **Execute**. | +| **vbKeySnapshot**{: #vbKeySnapshot } | 44 | **Print Screen**. | +| **vbKeyInsert**{: #vbKeyInsert } | 45 | **Insert**. | +| **vbKeyDelete**{: #vbKeyDelete } | 46 | **Delete**. | +| **vbKeyHelp**{: #vbKeyHelp } | 47 | **Help**. | +| **vbKeyNumlock**{: #vbKeyNumlock } | 144 | **Num Lock**. | +| **vbKeyScrollLock**{: #vbKeyScrollLock } | 145 | **Scroll Lock**. | + +## Letter keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKeyA**{: #vbKeyA } – **vbKeyZ**{: #vbKeyZ } | 65 – 90 | The letters **A** through **Z**. | + +## Number keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKey0**{: #vbKey0 } – **vbKey9**{: #vbKey9 } | 48 – 57 | The digits **0** through **9** on the main keyboard. | + +## Numeric keypad + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKeyNumpad0**{: #vbKeyNumpad0 } – **vbKeyNumpad9**{: #vbKeyNumpad9 } | 96 – 105 | The digits **0** through **9** on the numeric keypad. | +| **vbKeyMultiply**{: #vbKeyMultiply } | 106 | **\*** on the numeric keypad. | +| **vbKeyAdd**{: #vbKeyAdd } | 107 | **+** on the numeric keypad. | +| **vbKeySeparator**{: #vbKeySeparator } | 108 | Numeric-keypad separator. | +| **vbKeySubtract**{: #vbKeySubtract } | 109 | **-** on the numeric keypad. | +| **vbKeyDecimal**{: #vbKeyDecimal } | 110 | **.** on the numeric keypad. | +| **vbKeyDivide**{: #vbKeyDivide } | 111 | **/** on the numeric keypad. | + +## Function keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbKeyF1**{: #vbKeyF1 } – **vbKeyF16**{: #vbKeyF16 } | 112 – 127 | The function keys **F1** through **F16**. | diff --git a/docs/Reference/Modules/VBRUNConstants/LinkModeConstants.md b/docs/Reference/Modules/VBRUNConstants/LinkModeConstants.md new file mode 100644 index 0000000..091ace6 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LinkModeConstants.md @@ -0,0 +1,18 @@ +--- +title: LinkModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LinkModeConstants +--- +# LinkModeConstants +{: .no_toc } + +DDE link-mode values for the **LinkMode** property of forms and supported controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLinkNone**{: #vbLinkNone } | 0 | No DDE link is active. | +| **vbLinkAutomatic**{: #vbLinkAutomatic } | 1 | The control updates whenever the source data changes. (Same value as **vbLinkSource**.) | +| **vbLinkSource**{: #vbLinkSource } | 1 | The form acts as a DDE source: changes to its controls notify any client that has linked to them. | +| **vbLinkManual**{: #vbLinkManual } | 2 | The control updates only when **LinkRequest** is called. | +| **vbLinkNotify**{: #vbLinkNotify } | 3 | A **LinkNotify** event is raised when the source data changes; the control updates only on demand. | diff --git a/docs/Reference/Modules/VBRUNConstants/ListBoxConstants.md b/docs/Reference/Modules/VBRUNConstants/ListBoxConstants.md new file mode 100644 index 0000000..a1c71f3 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ListBoxConstants.md @@ -0,0 +1,16 @@ +--- +title: ListBoxConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ListBoxConstants +--- +# ListBoxConstants +{: .no_toc } + +Style values for the **Style** property of a list-box control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbListBoxStandard**{: #vbListBoxStandard } | 0 | Standard list box: each item is a string. | +| **vbListBoxCheckbox**{: #vbListBoxCheckbox } | 1 | Each item shows a check box that the user can toggle independently of the selection. | +| **vbListBoxColorSwatch**{: #vbListBoxColorSwatch } | 2 | Each item shows a colour swatch alongside its text. | diff --git a/docs/Reference/Modules/VBRUNConstants/LoadPictureColorConstants.md b/docs/Reference/Modules/VBRUNConstants/LoadPictureColorConstants.md new file mode 100644 index 0000000..09d7d19 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LoadPictureColorConstants.md @@ -0,0 +1,17 @@ +--- +title: LoadPictureColorConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LoadPictureColorConstants +--- +# LoadPictureColorConstants +{: .no_toc } + +Colour-depth selectors for the *vbLPColor* argument of **LoadPicture**. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLPDefault**{: #vbLPDefault } | 0 | Use the source image's native colour depth. | +| **vbLPMonochrome**{: #vbLPMonochrome } | 1 | Load as a monochrome (1-bit) image. | +| **vbLPVGAColor**{: #vbLPVGAColor } | 2 | Load as a 16-colour (4-bit) image. | +| **vbLPColor**{: #vbLPColor } | 3 | Load as a full-colour image. | diff --git a/docs/Reference/Modules/VBRUNConstants/LoadPictureSizeConstants.md b/docs/Reference/Modules/VBRUNConstants/LoadPictureSizeConstants.md new file mode 100644 index 0000000..f769379 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LoadPictureSizeConstants.md @@ -0,0 +1,18 @@ +--- +title: LoadPictureSizeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LoadPictureSizeConstants +--- +# LoadPictureSizeConstants +{: .no_toc } + +Size selectors for the *vbLPSize* argument of **LoadPicture**, used when a source file (typically an icon) contains several sizes. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLPSmall**{: #vbLPSmall } | 0 | Use the standard small system size (typically 16×16). | +| **vbLPLarge**{: #vbLPLarge } | 1 | Use the standard large system size (typically 32×32). | +| **vbLPSmallShell**{: #vbLPSmallShell } | 2 | Use the small shell size (the size used in Windows Explorer's small-icon view). | +| **vbLPLargeShell**{: #vbLPLargeShell } | 3 | Use the large shell size. | +| **vbLPCustom**{: #vbLPCustom } | 4 | Use a custom size supplied alongside the call. | diff --git a/docs/Reference/Modules/VBRUNConstants/LoadResConstants.md b/docs/Reference/Modules/VBRUNConstants/LoadResConstants.md new file mode 100644 index 0000000..f4f1d14 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LoadResConstants.md @@ -0,0 +1,17 @@ +--- +title: LoadResConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LoadResConstants +--- +# LoadResConstants +{: .no_toc } + +Resource-type values for the *Format* argument of the **LoadResPicture** function. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbResBitmap**{: #vbResBitmap } | 0 | Load a bitmap resource. | +| **vbResIcon**{: #vbResIcon } | 1 | Load an icon resource. | +| **vbResCursor**{: #vbResCursor } | 2 | Load a cursor resource. | +| **vbResBitmapFromIcon**{: #vbResBitmapFromIcon } | 3 | Load an icon resource and convert it to a bitmap. *(twinBASIC addition.)* | diff --git a/docs/Reference/Modules/VBRUNConstants/LogEventTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/LogEventTypeConstants.md new file mode 100644 index 0000000..c5cfdb1 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LogEventTypeConstants.md @@ -0,0 +1,16 @@ +--- +title: LogEventTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LogEventTypeConstants +--- +# LogEventTypeConstants +{: .no_toc } + +Severity values for the *EventType* argument of the **LogEvent** method. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLogEventTypeError**{: #vbLogEventTypeError } | 1 | The entry describes an error. | +| **vbLogEventTypeWarning**{: #vbLogEventTypeWarning } | 2 | The entry describes a warning. | +| **vbLogEventTypeInformation**{: #vbLogEventTypeInformation } | 4 | The entry is informational. | diff --git a/docs/Reference/Modules/VBRUNConstants/LogModeConstants.md b/docs/Reference/Modules/VBRUNConstants/LogModeConstants.md new file mode 100644 index 0000000..2f24a7d --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/LogModeConstants.md @@ -0,0 +1,19 @@ +--- +title: LogModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/LogModeConstants +--- +# LogModeConstants +{: .no_toc } + +Destination and behaviour flags for the application log, used with **App.StartLogging**. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLogAuto**{: #vbLogAuto } | 0 | Choose a destination automatically based on the platform. | +| **vbLogOff**{: #vbLogOff } | 1 | Disable logging. | +| **vbLogToFile**{: #vbLogToFile } | 2 | Log to a file. | +| **vbLogToNT**{: #vbLogToNT } | 3 | Log to the Windows Event Log. | +| **vbLogOverwrite**{: #vbLogOverwrite } | 16 | When logging to a file, truncate it first instead of appending. | +| **vbLogThreadID**{: #vbLogThreadID } | 32 | Include the thread ID in each log entry. | diff --git a/docs/Reference/Modules/VBRUNConstants/MenuAccelConstants.md b/docs/Reference/Modules/VBRUNConstants/MenuAccelConstants.md new file mode 100644 index 0000000..46495f8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/MenuAccelConstants.md @@ -0,0 +1,60 @@ +--- +title: MenuAccelConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/MenuAccelConstants +--- +# MenuAccelConstants +{: .no_toc } + +Keyboard-accelerator codes for the **Shortcut** property of menu items, identifying which key combination triggers a given menu command. + +## Ctrl + letter + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelCtrlA**{: #vbMenuAccelCtrlA } – **vbMenuAccelCtrlZ**{: #vbMenuAccelCtrlZ } | 1 – 26 | **Ctrl** + **A** through **Ctrl** + **Z**. | + +## Function keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelF1**{: #vbMenuAccelF1 } – **vbMenuAccelF9**{: #vbMenuAccelF9 } | 27 – 35 | **F1** through **F9**. | +| **vbMenuAccelF11**{: #vbMenuAccelF11 } | 36 | **F11**. | +| **vbMenuAccelF12**{: #vbMenuAccelF12 } | 37 | **F12**. | + +## Ctrl + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelCtrlF1**{: #vbMenuAccelCtrlF1 } – **vbMenuAccelCtrlF9**{: #vbMenuAccelCtrlF9 } | 38 – 46 | **Ctrl** + **F1** through **Ctrl** + **F9**. | +| **vbMenuAccelCtrlF11**{: #vbMenuAccelCtrlF11 } | 47 | **Ctrl** + **F11**. | +| **vbMenuAccelCtrlF12**{: #vbMenuAccelCtrlF12 } | 48 | **Ctrl** + **F12**. | + +## Shift + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelShiftF1**{: #vbMenuAccelShiftF1 } | 49 | **Shift** + **F1**. | +| **vbMenuAccelShfitF2**{: #vbMenuAccelShfitF2 } | 50 | **Shift** + **F2**. *(Spelling preserved as in source.)* | +| **vbMenuAccelShiftF3**{: #vbMenuAccelShiftF3 } – **vbMenuAccelShiftF9**{: #vbMenuAccelShiftF9 } | 51 – 57 | **Shift** + **F3** through **Shift** + **F9**. | +| **vbMenuAccelShiftF11**{: #vbMenuAccelShiftF11 } | 58 | **Shift** + **F11**. | +| **vbMenuAccelShiftF12**{: #vbMenuAccelShiftF12 } | 59 | **Shift** + **F12**. | + +## Shift + Ctrl + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelShiftCtrlF1**{: #vbMenuAccelShiftCtrlF1 } – **vbMenuAccelShiftCtrlF9**{: #vbMenuAccelShiftCtrlF9 } | 60 – 68 | **Shift** + **Ctrl** + **F1** through **Shift** + **Ctrl** + **F9**. | +| **vbMenuAccelShiftCtrlF11**{: #vbMenuAccelShiftCtrlF11 } | 69 | **Shift** + **Ctrl** + **F11**. | +| **vbMenuAccelShiftCtrlF12**{: #vbMenuAccelShiftCtrlF12 } | 70 | **Shift** + **Ctrl** + **F12**. | + +## Editing keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMenuAccelCtrlIns**{: #vbMenuAccelCtrlIns } | 71 | **Ctrl** + **Insert**. | +| **vbMenuAccelShiftIns**{: #vbMenuAccelShiftIns } | 72 | **Shift** + **Insert**. | +| **vbMenuAccelDel**{: #vbMenuAccelDel } | 73 | **Delete**. | +| **vbMenuAccelShiftDel**{: #vbMenuAccelShiftDel } | 74 | **Shift** + **Delete**. | +| **vbMenuAccelAltBksp**{: #vbMenuAccelAltBksp } | 75 | **Alt** + **Backspace**. | diff --git a/docs/Reference/Modules/VBRUNConstants/MenuControlConstants.md b/docs/Reference/Modules/VBRUNConstants/MenuControlConstants.md new file mode 100644 index 0000000..9c186f8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/MenuControlConstants.md @@ -0,0 +1,25 @@ +--- +title: MenuControlConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/MenuControlConstants +--- +# MenuControlConstants +{: .no_toc } + +Alignment and trigger-button flags for the **PopupMenu** method. + +## Alignment + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPopupMenuLeftAlign**{: #vbPopupMenuLeftAlign } | 0 | The popup is positioned with its left edge at *x*. | +| **vbPopupMenuCenterAlign**{: #vbPopupMenuCenterAlign } | 4 | The popup is positioned centred on *x*. | +| **vbPopupMenuRightAlign**{: #vbPopupMenuRightAlign } | 8 | The popup is positioned with its right edge at *x*. | + +## Activation button + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPopupMenuLeftButton**{: #vbPopupMenuLeftButton } | 0 | Items are selected with the left mouse button only. | +| **vbPopupMenuRightButton**{: #vbPopupMenuRightButton } | 2 | Items can be selected with either the left or the right mouse button. | diff --git a/docs/Reference/Modules/VBRUNConstants/MouseButtonConstants.md b/docs/Reference/Modules/VBRUNConstants/MouseButtonConstants.md new file mode 100644 index 0000000..74dc951 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/MouseButtonConstants.md @@ -0,0 +1,16 @@ +--- +title: MouseButtonConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/MouseButtonConstants +--- +# MouseButtonConstants +{: .no_toc } + +Bit flags for the *Button* argument of mouse events such as **MouseDown**, **MouseUp**, and **MouseMove**, identifying which buttons are pressed. Combine with `Or` to test for multiple buttons. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbLeftButton**{: #vbLeftButton } | 1 | Left mouse button. | +| **vbRightButton**{: #vbRightButton } | 2 | Right mouse button. | +| **vbMiddleButton**{: #vbMiddleButton } | 4 | Middle mouse button. | diff --git a/docs/Reference/Modules/VBRUNConstants/MousePointerConstants.md b/docs/Reference/Modules/VBRUNConstants/MousePointerConstants.md new file mode 100644 index 0000000..f16698c --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/MousePointerConstants.md @@ -0,0 +1,53 @@ +--- +title: MousePointerConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/MousePointerConstants +--- +# MousePointerConstants +{: .no_toc } + +Cursor-shape values for the **MousePointer** property of forms and controls. + +## Standard cursors + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDefault**{: #vbDefault } | 0 | The default — usually an arrow. | +| **vbArrow**{: #vbArrow } | 1 | Arrow. | +| **vbCrosshair**{: #vbCrosshair } | 2 | Crosshair. | +| **vbIbeam**{: #vbIbeam } | 3 | I-beam (text-edit cursor). | +| **vbIconPointer**{: #vbIconPointer } | 4 | Icon (small square inside a square). | +| **vbSizePointer**{: #vbSizePointer } | 5 | Four-headed sizing arrow. | +| **vbSizeNESW**{: #vbSizeNESW } | 6 | Diagonal resize arrow (north-east / south-west). | +| **vbSizeNS**{: #vbSizeNS } | 7 | Vertical resize arrow. | +| **vbSizeNWSE**{: #vbSizeNWSE } | 8 | Diagonal resize arrow (north-west / south-east). | +| **vbSizeWE**{: #vbSizeWE } | 9 | Horizontal resize arrow. | +| **vbUpArrow**{: #vbUpArrow } | 10 | Up arrow. | +| **vbHourglass**{: #vbHourglass } | 11 | Hourglass (busy). | +| **vbNoDrop**{: #vbNoDrop } | 12 | "No drop" symbol. | +| **vbArrowHourglass**{: #vbArrowHourglass } | 13 | Arrow with an hourglass (working in background). | +| **vbArrowQuestion**{: #vbArrowQuestion } | 14 | Arrow with a question mark. | +| **vbSizeAll**{: #vbSizeAll } | 15 | Resize-all (four-headed) arrow. | +| **vbCustom**{: #vbCustom } | 99 | The bitmap supplied by the **MouseIcon** property is used. | + +## twinBASIC additions + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbHand**{: #vbHand } | 16 | Pointing hand (link cursor). | +| **vbPin**{: #vbPin } | 17 | Pin. | +| **vbPerson**{: #vbPerson } | 18 | Person. | +| **vbArrowCD**{: #vbArrowCD } | 19 | Arrow with a CD. | +| **vbScrollN**{: #vbScrollN } | 20 | Auto-scroll arrow pointing north. | +| **vbScrollS**{: #vbScrollS } | 21 | Auto-scroll arrow pointing south. | +| **vbScrollE**{: #vbScrollE } | 22 | Auto-scroll arrow pointing east. | +| **vbScrollW**{: #vbScrollW } | 23 | Auto-scroll arrow pointing west. | +| **vbScrollNS**{: #vbScrollNS } | 24 | Auto-scroll arrow pointing north–south. | +| **vbScrollWE**{: #vbScrollWE } | 25 | Auto-scroll arrow pointing west–east. | +| **vbScrollNW**{: #vbScrollNW } | 26 | Auto-scroll arrow pointing north-west. | +| **vbScrollNE**{: #vbScrollNE } | 27 | Auto-scroll arrow pointing north-east. | +| **vbScrollSW**{: #vbScrollSW } | 28 | Auto-scroll arrow pointing south-west. | +| **vbScrollSE**{: #vbScrollSE } | 29 | Auto-scroll arrow pointing south-east. | +| **vbScrollAll**{: #vbScrollAll } | 30 | Auto-scroll all-directions cursor. | +| **vbPen**{: #vbPen } | 31 | Pen (digitiser stylus). | diff --git a/docs/Reference/Modules/VBRUNConstants/MultiSelectConstants.md b/docs/Reference/Modules/VBRUNConstants/MultiSelectConstants.md new file mode 100644 index 0000000..ce9b7fe --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/MultiSelectConstants.md @@ -0,0 +1,16 @@ +--- +title: MultiSelectConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/MultiSelectConstants +--- +# MultiSelectConstants +{: .no_toc } + +Multi-selection mode values for the **MultiSelect** property of a list-box control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbMultiSelectNone**{: #vbMultiSelectNone } | 0 | Only one item can be selected at a time. | +| **vbMultiSelectSimple**{: #vbMultiSelectSimple } | 1 | Each click toggles the clicked item's selection. | +| **vbMultiSelectExtended**{: #vbMultiSelectExtended } | 2 | The user can select ranges with **Shift** + click and toggle individual items with **Ctrl** + click. | diff --git a/docs/Reference/Modules/VBRUNConstants/NegotiatePositionConstants.md b/docs/Reference/Modules/VBRUNConstants/NegotiatePositionConstants.md new file mode 100644 index 0000000..e2cd247 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/NegotiatePositionConstants.md @@ -0,0 +1,17 @@ +--- +title: NegotiatePositionConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/NegotiatePositionConstants +--- +# NegotiatePositionConstants +{: .no_toc } + +Position values for the **NegotiatePosition** property of menu items, controlling where a menu appears when an OLE in-place active object negotiates the host's menu bar. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbNegotiatePositionNone**{: #vbNegotiatePositionNone } | 0 | The menu is hidden during in-place activation. | +| **vbNegotiatePositionLeft**{: #vbNegotiatePositionLeft } | 1 | The menu is placed in the left group of the negotiated menu bar. | +| **vbNegotiatePositionMiddle**{: #vbNegotiatePositionMiddle } | 2 | The menu is placed in the middle group. | +| **vbNegotiatePositionRight**{: #vbNegotiatePositionRight } | 3 | The menu is placed in the right group. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerActivateConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerActivateConstants.md new file mode 100644 index 0000000..dce16b9 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerActivateConstants.md @@ -0,0 +1,17 @@ +--- +title: OLEContainerActivateConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerActivateConstants +--- +# OLEContainerActivateConstants +{: .no_toc } + +Activation-trigger values for the **AutoActivate** property of an **OLE** container control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLE_ActivateManual**{: #vbOLE_ActivateManual } | 0 | The embedded object is activated only when the **DoVerb** method is called. | +| **vbOLE_ActivateGetFocus**{: #vbOLE_ActivateGetFocus } | 1 | The object activates when the **OLE** container receives focus. | +| **vbOLE_ActivateDoubleclick**{: #vbOLE_ActivateDoubleclick } | 2 | The object activates when the user double-clicks it. | +| **vbOLE_ActivateAuto**{: #vbOLE_ActivateAuto } | 3 | The object activates automatically based on its registered defaults. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerConstants.md new file mode 100644 index 0000000..569f57c --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerConstants.md @@ -0,0 +1,97 @@ +--- +title: OLEContainerConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerConstants +--- +# OLEContainerConstants +{: .no_toc } + +A combined enumeration containing every option value used by the **OLE** container control. Each logical group of values has a more specific enumeration of its own — see the See Also section — but **OLEContainerConstants** retains all of the original VB6 names so existing code continues to compile. + +## OLE type + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLELinked**{: #vbOLELinked } | 0 | The object is linked to its source. | +| **vbOLEEmbedded**{: #vbOLEEmbedded } | 1 | The object is embedded inside the container. | +| **vbOLEEither**{: #vbOLEEither } | 2 | Either linked or embedded. | +| **vbOLENone**{: #vbOLENone } | 3 | No object. | + +## Update options + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEAutomatic**{: #vbOLEAutomatic } | 0 | The container updates the linked object whenever the source changes. | +| **vbOLEFrozen**{: #vbOLEFrozen } | 1 | Updates are paused. | +| **vbOLEManual**{: #vbOLEManual } | 2 | Updates happen only when **Update** is called. | + +## Activation triggers + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEActivateManual**{: #vbOLEActivateManual } | 0 | Manual activation via **DoVerb**. | +| **vbOLEActivateGetFocus**{: #vbOLEActivateGetFocus } | 1 | Activate on focus. | +| **vbOLEActivateDoubleclick**{: #vbOLEActivateDoubleclick } | 2 | Activate on double-click. | +| **vbOLEActivateAuto**{: #vbOLEActivateAuto } | 3 | Activate automatically based on the object's defaults. | + +## Sizing + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLESizeClip**{: #vbOLESizeClip } | 0 | The object is clipped at the container's edges. | +| **vbOLESizeStretch**{: #vbOLESizeStretch } | 1 | The object is stretched to fill the container. | +| **vbOLESizeAutoSize**{: #vbOLESizeAutoSize } | 2 | The container resizes itself to fit the object. | +| **vbOLESizeZoom**{: #vbOLESizeZoom } | 3 | The object is scaled to fit, preserving its aspect ratio. | + +## Display style + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEDisplayContent**{: #vbOLEDisplayContent } | 0 | The object's contents are displayed. | +| **vbOLEDisplayIcon**{: #vbOLEDisplayIcon } | 1 | The object is displayed as an icon. | + +## Status + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEChanged**{: #vbOLEChanged } | 0 | The object has been changed since the last update. | +| **vbOLESaved**{: #vbOLESaved } | 1 | The object has been saved. | +| **vbOLEClosed**{: #vbOLEClosed } | 2 | The object has been closed. | +| **vbOLERenamed**{: #vbOLERenamed } | 3 | The object has been renamed. | + +## Verbs + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEPrimary**{: #vbOLEPrimary } | 0 | Invoke the object's primary verb. | +| **vbOLEShow**{: #vbOLEShow } | -1 | Show the object. | +| **vbOLEOpen**{: #vbOLEOpen } | -2 | Open the object in a separate window. | +| **vbOLEHide**{: #vbOLEHide } | -3 | Hide the object. | +| **vbOLEUIActivate**{: #vbOLEUIActivate } | -4 | Activate the object's user interface. | +| **vbOLEInPlaceActivate**{: #vbOLEInPlaceActivate } | -5 | Activate the object in place. | +| **vbOLEDiscardUndoState**{: #vbOLEDiscardUndoState } | -6 | Discard any undo state the object holds. | + +## Menu flags + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEFlagGrayed**{: #vbOLEFlagGrayed } | 1 | The verb appears grayed in the menu. | +| **vbOLEFlagDisabled**{: #vbOLEFlagDisabled } | 2 | The verb is disabled. | +| **vbOLEFlagChecked**{: #vbOLEFlagChecked } | 8 | The verb appears with a check mark. | +| **vbOLEFlagSeparator**{: #vbOLEFlagSeparator } | 2048 | The item is rendered as a menu separator. | + +## Miscellaneous + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEMiscFlagMemStorage**{: #vbOLEMiscFlagMemStorage } | 1 | The object's storage is held in memory rather than on disk. | +| **vbOLEMiscFlagDisableInPlace**{: #vbOLEMiscFlagDisableInPlace } | 2 | In-place activation is disabled for this object. | + +### See Also + +- [OLEContainerActivateConstants](OLEContainerActivateConstants) +- [OLEContainerDisplayTypeConstants](OLEContainerDisplayTypeConstants) +- [OLEContainerSizeModeConstants](OLEContainerSizeModeConstants) +- [OLEContainerTypesAllowedConstants](OLEContainerTypesAllowedConstants) +- [OLEContainerUpdateOptionsConstants](OLEContainerUpdateOptionsConstants) diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerDisplayTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerDisplayTypeConstants.md new file mode 100644 index 0000000..a6c170a --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerDisplayTypeConstants.md @@ -0,0 +1,15 @@ +--- +title: OLEContainerDisplayTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerDisplayTypeConstants +--- +# OLEContainerDisplayTypeConstants +{: .no_toc } + +Display-style values for the **DisplayType** property of an **OLE** container control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLE_DisplayContent**{: #vbOLE_DisplayContent } | 0 | The object's contents are displayed. | +| **vbOLE_DisplayIcon**{: #vbOLE_DisplayIcon } | 1 | The object is displayed as an icon. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerSizeModeConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerSizeModeConstants.md new file mode 100644 index 0000000..6e1a34d --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerSizeModeConstants.md @@ -0,0 +1,17 @@ +--- +title: OLEContainerSizeModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerSizeModeConstants +--- +# OLEContainerSizeModeConstants +{: .no_toc } + +Sizing-rule values for the **SizeMode** property of an **OLE** container control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLE_SizeClip**{: #vbOLE_SizeClip } | 0 | The object is clipped at the container's edges. | +| **vbOLE_SizeStretch**{: #vbOLE_SizeStretch } | 1 | The object is stretched to fill the container, ignoring aspect ratio. | +| **vbOLE_SizeAutoSize**{: #vbOLE_SizeAutoSize } | 2 | The container resizes itself to fit the object. | +| **vbOLE_SizeZoom**{: #vbOLE_SizeZoom } | 3 | The object is scaled to fit the container while preserving its aspect ratio. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerTypesAllowedConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerTypesAllowedConstants.md new file mode 100644 index 0000000..9ae749a --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerTypesAllowedConstants.md @@ -0,0 +1,16 @@ +--- +title: OLEContainerTypesAllowedConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerTypesAllowedConstants +--- +# OLEContainerTypesAllowedConstants +{: .no_toc } + +Object-type filter values for the **OLETypeAllowed** property of an **OLE** container control, restricting which kinds of object the container will accept. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLE_Linked**{: #vbOLE_Linked } | 0 | Only linked objects are allowed. | +| **vbOLE_Embedded**{: #vbOLE_Embedded } | 1 | Only embedded objects are allowed. | +| **vbOLE_Either**{: #vbOLE_Either } | 2 | Either linked or embedded objects are allowed. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEContainerUpdateOptionsConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEContainerUpdateOptionsConstants.md new file mode 100644 index 0000000..56d096a --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEContainerUpdateOptionsConstants.md @@ -0,0 +1,16 @@ +--- +title: OLEContainerUpdateOptionsConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEContainerUpdateOptionsConstants +--- +# OLEContainerUpdateOptionsConstants +{: .no_toc } + +Update-mode values for the **UpdateOptions** property of an **OLE** container control, controlling how a linked object is kept in sync with its source. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLE_UpdateAutomatic**{: #vbOLE_UpdateAutomatic } | 0 | The object is updated whenever the source data changes. | +| **vbOLE_UpdateFrozen**{: #vbOLE_UpdateFrozen } | 1 | Updates are paused. | +| **vbOLE_UpdateManual**{: #vbOLE_UpdateManual } | 2 | The object is updated only when **Update** is called. | diff --git a/docs/Reference/Modules/VBRUNConstants/OLEDragConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEDragConstants.md new file mode 100644 index 0000000..09b3166 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEDragConstants.md @@ -0,0 +1,18 @@ +--- +title: OLEDragConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEDragConstants +--- +# OLEDragConstants +{: .no_toc } + +Mode values for the **OLEDragMode** property of a control, controlling whether OLE drag operations start automatically or only on demand. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEDragManual**{: #vbOLEDragManual } | 0 | OLE dragging starts only when the control's **OLEDrag** method is called from code. | +| **vbOLEDragAutomatic**{: #vbOLEDragAutomatic } | 1 | OLE dragging starts automatically when the user begins to drag the control. | + +> [!NOTE] +> Available only when the **FEATURE_OLEDRAGDROP** feature is enabled. diff --git a/docs/Reference/Modules/VBRUNConstants/OLEDropConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEDropConstants.md new file mode 100644 index 0000000..e945df7 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEDropConstants.md @@ -0,0 +1,19 @@ +--- +title: OLEDropConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEDropConstants +--- +# OLEDropConstants +{: .no_toc } + +Mode values for the **OLEDropMode** property of a control, controlling whether and how the control accepts OLE drop operations. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbOLEDropNone**{: #vbOLEDropNone } | 0 | The control does not accept OLE drops. | +| **vbOLEDropManual**{: #vbOLEDropManual } | 1 | The control raises **OLEDragOver** and **OLEDragDrop** events; the developer's code decides what to do. | +| **vbOLEDropAutomatic**{: #vbOLEDropAutomatic } | 2 | The control handles drops automatically based on the dropped data's format. | + +> [!NOTE] +> Available only when the **FEATURE_OLEDRAGDROP** feature is enabled. diff --git a/docs/Reference/Modules/VBRUNConstants/OLEDropEffectConstants.md b/docs/Reference/Modules/VBRUNConstants/OLEDropEffectConstants.md new file mode 100644 index 0000000..1d1a5d8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OLEDropEffectConstants.md @@ -0,0 +1,21 @@ +--- +title: OLEDropEffectConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OLEDropEffectConstants +--- +# OLEDropEffectConstants +{: .no_toc } + +Bit flags for the *Effect* argument of OLE drag-and-drop events, controlling what the source and target want the drop to do. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDropEffectNone**{: #vbDropEffectNone } | 0 | The drop is not allowed. | +| **vbDropEffectCopy**{: #vbDropEffectCopy } | 1 | The data should be copied to the target. | +| **vbDropEffectMove**{: #vbDropEffectMove } | 2 | The data should be moved to the target — the source removes it after a successful drop. | +| **vbDropEffectLink**{: #vbDropEffectLink } | 4 | A link to the data should be created at the target. *(twinBASIC addition.)* | +| **vbDropEffectScroll**{: #vbDropEffectScroll } | -2147483648 | The target is scrolling because the cursor is near its edge. | + +> [!NOTE] +> Available only when the **FEATURE_OLEDRAGDROP** feature is enabled. diff --git a/docs/Reference/Modules/VBRUNConstants/OldLinkModeConstants.md b/docs/Reference/Modules/VBRUNConstants/OldLinkModeConstants.md new file mode 100644 index 0000000..608d43e --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/OldLinkModeConstants.md @@ -0,0 +1,16 @@ +--- +title: OldLinkModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/OldLinkModeConstants +--- +# OldLinkModeConstants +{: .no_toc } + +Legacy DDE link-mode values retained for compatibility with very early versions of Visual Basic. New code should use [**LinkModeConstants**](LinkModeConstants). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbHot**{: #vbHot } | 1 | The control updates whenever the source data changes ("hot" link). | +| **vbServer**{: #vbServer } | 1 | The form acts as a DDE source. | +| **vbCold**{: #vbCold } | 2 | The control updates only when explicitly requested ("cold" link). | diff --git a/docs/Reference/Modules/VBRUNConstants/PaletteModeConstants.md b/docs/Reference/Modules/VBRUNConstants/PaletteModeConstants.md new file mode 100644 index 0000000..f9809ff --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PaletteModeConstants.md @@ -0,0 +1,19 @@ +--- +title: PaletteModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PaletteModeConstants +--- +# PaletteModeConstants +{: .no_toc } + +Palette-source values for the **PaletteMode** property of forms and **UserControls**, choosing where the colour palette used to render child controls comes from. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPaletteModeHalftone**{: #vbPaletteModeHalftone } | 0 | Use the standard halftone palette. | +| **vbPaletteModeUseZOrder**{: #vbPaletteModeUseZOrder } | 1 | Use the palette of the topmost control that has one. | +| **vbPaletteModeCustom**{: #vbPaletteModeCustom } | 2 | Use the bitmap supplied by the **Palette** property. | +| **vbPaletteModeContainer**{: #vbPaletteModeContainer } | 3 | Use the container's palette. | +| **vbPaletteModeNone**{: #vbPaletteModeNone } | 4 | No palette is set. | +| **vbPaletteModeObject**{: #vbPaletteModeObject } | 5 | Use the palette supplied by an in-place active OLE object. | diff --git a/docs/Reference/Modules/VBRUNConstants/ParentControlsType.md b/docs/Reference/Modules/VBRUNConstants/ParentControlsType.md new file mode 100644 index 0000000..8df3939 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ParentControlsType.md @@ -0,0 +1,19 @@ +--- +title: ParentControlsType +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ParentControlsType +--- +# ParentControlsType +{: .no_toc } + +Wrapping mode for the [**ParentControls**](../ParentControls) collection, controlling whether each item is returned wrapped in its host **Extender** or as the bare control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbNoExtender**{: #vbNoExtender } | 0 | Items are returned as the bare control, without the host's **Extender** wrapper. | +| **vbExtender**{: #vbExtender } | 1 | Items are returned wrapped in the host's **Extender**, exposing the container-supplied layout properties. This is the default. | + +### See Also + +- [ParentControls](../ParentControls) module diff --git a/docs/Reference/Modules/VBRUNConstants/PictureTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/PictureTypeConstants.md new file mode 100644 index 0000000..54a9e1b --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PictureTypeConstants.md @@ -0,0 +1,18 @@ +--- +title: PictureTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PictureTypeConstants +--- +# PictureTypeConstants +{: .no_toc } + +Subtype values reported by the **Type** property of an **stdole.IPictureDisp**. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPicTypeNone**{: #vbPicTypeNone } | 0 | The picture is empty. | +| **vbPicTypeBitmap**{: #vbPicTypeBitmap } | 1 | A device-dependent or device-independent bitmap. | +| **vbPicTypeMetafile**{: #vbPicTypeMetafile } | 2 | A Windows metafile. | +| **vbPicTypeIcon**{: #vbPicTypeIcon } | 3 | An icon. | +| **vbPicTypeEMetafile**{: #vbPicTypeEMetafile } | 4 | An enhanced metafile. | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants.md new file mode 100644 index 0000000..75a9c39 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants.md @@ -0,0 +1,114 @@ +--- +title: PrinterObjectConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants +--- +# PrinterObjectConstants +{: .no_toc } + +A combined enumeration containing every option value used by the **Printer** object — colour mode, duplex mode, orientation, paper bin, paper size, and print quality. Each logical group also has a more specific enumeration of its own — see the See Also section. + +## Colour mode + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRCMMonochrome**{: #vbPRCMMonochrome } | 1 | Print in monochrome. | +| **vbPRCMColor**{: #vbPRCMColor } | 2 | Print in colour. | + +## Duplex mode + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRDPSimplex**{: #vbPRDPSimplex } | 1 | Print on one side only. | +| **vbPRDPHorizontal**{: #vbPRDPHorizontal } | 2 | Two-sided printing, with pages bound on the long edge. | +| **vbPRDPVertical**{: #vbPRDPVertical } | 3 | Two-sided printing, with pages bound on the short edge. | + +## Orientation + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRORPortrait**{: #vbPRORPortrait } | 1 | Portrait orientation. | +| **vbPRORLandscape**{: #vbPRORLandscape } | 2 | Landscape orientation. | + +## Print quality + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRPQDraft**{: #vbPRPQDraft } | -1 | Draft quality. | +| **vbPRPQLow**{: #vbPRPQLow } | -2 | Low quality. | +| **vbPRPQMedium**{: #vbPRPQMedium } | -3 | Medium quality. | +| **vbPRPQHigh**{: #vbPRPQHigh } | -4 | High quality. | + +## Paper bin + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRBNUpper**{: #vbPRBNUpper } | 1 | Upper bin. | +| **vbPRBNLower**{: #vbPRBNLower } | 2 | Lower bin. | +| **vbPRBNMiddle**{: #vbPRBNMiddle } | 3 | Middle bin. | +| **vbPRBNManual**{: #vbPRBNManual } | 4 | Manual feed. | +| **vbPRBNEnvelope**{: #vbPRBNEnvelope } | 5 | Envelope tray. | +| **vbPRBNEnvManual**{: #vbPRBNEnvManual } | 6 | Manual envelope feed. | +| **vbPRBNAuto**{: #vbPRBNAuto } | 7 | Automatic source selection. | +| **vbPRBNTractor**{: #vbPRBNTractor } | 8 | Tractor feed. | +| **vbPRBNSmallFmt**{: #vbPRBNSmallFmt } | 9 | Small-format paper bin. | +| **vbPRBNLargeFmt**{: #vbPRBNLargeFmt } | 10 | Large-format paper bin. | +| **vbPRBNLargeCapacity**{: #vbPRBNLargeCapacity } | 11 | Large-capacity paper bin. | +| **vbPRBNCassette**{: #vbPRBNCassette } | 14 | Cassette feed. | + +## Paper size + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRPSLetter**{: #vbPRPSLetter } | 1 | US Letter (8½ × 11 in). | +| **vbPRPSLetterSmall**{: #vbPRPSLetterSmall } | 2 | Letter Small. | +| **vbPRPSTabloid**{: #vbPRPSTabloid } | 3 | Tabloid (11 × 17 in). | +| **vbPRPSLedger**{: #vbPRPSLedger } | 4 | Ledger (17 × 11 in). | +| **vbPRPSLegal**{: #vbPRPSLegal } | 5 | US Legal (8½ × 14 in). | +| **vbPRPSStatement**{: #vbPRPSStatement } | 6 | Statement (5½ × 8½ in). | +| **vbPRPSExecutive**{: #vbPRPSExecutive } | 7 | Executive (7¼ × 10½ in). | +| **vbPRPSA3**{: #vbPRPSA3 } | 8 | A3 (297 × 420 mm). | +| **vbPRPSA4**{: #vbPRPSA4 } | 9 | A4 (210 × 297 mm). | +| **vbPRPSA4Small**{: #vbPRPSA4Small } | 10 | A4 Small. | +| **vbPRPSA5**{: #vbPRPSA5 } | 11 | A5 (148 × 210 mm). | +| **vbPRPSB4**{: #vbPRPSB4 } | 12 | B4 (250 × 354 mm). | +| **vbPRPSB5**{: #vbPRPSB5 } | 13 | B5 (182 × 257 mm). | +| **vbPRPSFolio**{: #vbPRPSFolio } | 14 | Folio (8½ × 13 in). | +| **vbPRPSQuarto**{: #vbPRPSQuarto } | 15 | Quarto (215 × 275 mm). | +| **vbPRPS10x14**{: #vbPRPS10x14 } | 16 | 10 × 14 in. | +| **vbPRPS11x17**{: #vbPRPS11x17 } | 17 | 11 × 17 in. | +| **vbPRPSNote**{: #vbPRPSNote } | 18 | Note (8½ × 11 in). | +| **vbPRPSEnv9**{: #vbPRPSEnv9 } | 19 | #9 envelope (3⅞ × 8⅞ in). | +| **vbPRPSEnv10**{: #vbPRPSEnv10 } | 20 | #10 envelope (4⅛ × 9½ in). | +| **vbPRPSEnv11**{: #vbPRPSEnv11 } | 21 | #11 envelope (4½ × 10⅜ in). | +| **vbPRPSEnv12**{: #vbPRPSEnv12 } | 22 | #12 envelope (4¾ × 11 in). | +| **vbPRPSEnv14**{: #vbPRPSEnv14 } | 23 | #14 envelope (5 × 11½ in). | +| **vbPRPSCSheet**{: #vbPRPSCSheet } | 24 | C-size sheet. | +| **vbPRPSDSheet**{: #vbPRPSDSheet } | 25 | D-size sheet. | +| **vbPRPSESheet**{: #vbPRPSESheet } | 26 | E-size sheet. | +| **vbPRPSEnvDL**{: #vbPRPSEnvDL } | 27 | DL envelope (110 × 220 mm). | +| **vbPRPSEnvC5**{: #vbPRPSEnvC5 } | 28 | C5 envelope (162 × 229 mm). | +| **vbPRPSEnvC3**{: #vbPRPSEnvC3 } | 29 | C3 envelope (324 × 458 mm). | +| **vbPRPSEnvC4**{: #vbPRPSEnvC4 } | 30 | C4 envelope (229 × 324 mm). | +| **vbPRPSEnvC6**{: #vbPRPSEnvC6 } | 31 | C6 envelope (114 × 162 mm). | +| **vbPRPSEnvC65**{: #vbPRPSEnvC65 } | 32 | C65 envelope (114 × 229 mm). | +| **vbPRPSEnvB4**{: #vbPRPSEnvB4 } | 33 | B4 envelope (250 × 353 mm). | +| **vbPRPSEnvB5**{: #vbPRPSEnvB5 } | 34 | B5 envelope (176 × 250 mm). | +| **vbPRPSEnvB6**{: #vbPRPSEnvB6 } | 35 | B6 envelope (176 × 125 mm). | +| **vbPRPSEnvItaly**{: #vbPRPSEnvItaly } | 36 | Italy envelope (110 × 230 mm). | +| **vbPRPSEnvMonarch**{: #vbPRPSEnvMonarch } | 37 | Monarch envelope (3⅞ × 7½ in). | +| **vbPRPSEnvPersonal**{: #vbPRPSEnvPersonal } | 38 | Personal envelope (3⅝ × 6½ in). | +| **vbPRPSFanfoldUS**{: #vbPRPSFanfoldUS } | 39 | US fanfold (14⅞ × 11 in). | +| **vbPRPSFanfoldStdGerman**{: #vbPRPSFanfoldStdGerman } | 40 | German standard fanfold (8½ × 12 in). | +| **vbPRPSFanfoldLglGerman**{: #vbPRPSFanfoldLglGerman } | 41 | German legal fanfold (8½ × 13 in). | +| **vbPRPSUser**{: #vbPRPSUser } | 256 | A user-defined paper size. | + +### See Also + +- [PrinterObjectConstants_ColorMode](PrinterObjectConstants_ColorMode) +- [PrinterObjectConstants_Duplex](PrinterObjectConstants_Duplex) +- [PrinterObjectConstants_Orientation](PrinterObjectConstants_Orientation) +- [PrinterObjectConstants_PaperBin](PrinterObjectConstants_PaperBin) +- [PrinterObjectConstants_PaperSize](PrinterObjectConstants_PaperSize) +- [PrinterObjectConstants_PrintQuality](PrinterObjectConstants_PrintQuality) diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_ColorMode.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_ColorMode.md new file mode 100644 index 0000000..db2351e --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_ColorMode.md @@ -0,0 +1,15 @@ +--- +title: PrinterObjectConstants_ColorMode +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_ColorMode +--- +# PrinterObjectConstants_ColorMode +{: .no_toc } + +Colour-mode values for the **Printer.ColorMode** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_ColorMode.vbPRCMColor`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRCMMonochrome**{: #vbPRCMMonochrome } | 1 | Print in monochrome. | +| **vbPRCMColor**{: #vbPRCMColor } | 2 | Print in colour. | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Duplex.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Duplex.md new file mode 100644 index 0000000..72d6280 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Duplex.md @@ -0,0 +1,16 @@ +--- +title: PrinterObjectConstants_Duplex +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_Duplex +--- +# PrinterObjectConstants_Duplex +{: .no_toc } + +Duplex-mode values for the **Printer.Duplex** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_Duplex.vbPRDPSimplex`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRDPSimplex**{: #vbPRDPSimplex } | 1 | Print on one side only. | +| **vbPRDPHorizontal**{: #vbPRDPHorizontal } | 2 | Two-sided printing, with pages bound on the long edge (book style). | +| **vbPRDPVertical**{: #vbPRDPVertical } | 3 | Two-sided printing, with pages bound on the short edge (calendar style). | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Orientation.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Orientation.md new file mode 100644 index 0000000..3b2aadf --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_Orientation.md @@ -0,0 +1,15 @@ +--- +title: PrinterObjectConstants_Orientation +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_Orientation +--- +# PrinterObjectConstants_Orientation +{: .no_toc } + +Paper-orientation values for the **Printer.Orientation** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_Orientation.vbPRORPortrait`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRORPortrait**{: #vbPRORPortrait } | 1 | Portrait orientation. | +| **vbPRORLandscape**{: #vbPRORLandscape } | 2 | Landscape orientation. | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperBin.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperBin.md new file mode 100644 index 0000000..a6e83c8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperBin.md @@ -0,0 +1,25 @@ +--- +title: PrinterObjectConstants_PaperBin +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_PaperBin +--- +# PrinterObjectConstants_PaperBin +{: .no_toc } + +Paper-source identifiers for the **Printer.PaperBin** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_PaperBin.vbPRBNUpper`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRBNUpper**{: #vbPRBNUpper } | 1 | Upper bin. | +| **vbPRBNLower**{: #vbPRBNLower } | 2 | Lower bin. | +| **vbPRBNMiddle**{: #vbPRBNMiddle } | 3 | Middle bin. | +| **vbPRBNManual**{: #vbPRBNManual } | 4 | Manual feed. | +| **vbPRBNEnvelope**{: #vbPRBNEnvelope } | 5 | Envelope tray. | +| **vbPRBNEnvManual**{: #vbPRBNEnvManual } | 6 | Manual envelope feed. | +| **vbPRBNAuto**{: #vbPRBNAuto } | 7 | Automatic source selection. | +| **vbPRBNTractor**{: #vbPRBNTractor } | 8 | Tractor feed. | +| **vbPRBNSmallFmt**{: #vbPRBNSmallFmt } | 9 | Small-format paper bin. | +| **vbPRBNLargeFmt**{: #vbPRBNLargeFmt } | 10 | Large-format paper bin. | +| **vbPRBNLargeCapacity**{: #vbPRBNLargeCapacity } | 11 | Large-capacity paper bin. | +| **vbPRBNCassette**{: #vbPRBNCassette } | 14 | Cassette feed. | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperSize.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperSize.md new file mode 100644 index 0000000..64b817a --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PaperSize.md @@ -0,0 +1,55 @@ +--- +title: PrinterObjectConstants_PaperSize +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_PaperSize +--- +# PrinterObjectConstants_PaperSize +{: .no_toc } + +Paper-size identifiers for the **Printer.PaperSize** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_PaperSize.vbPRPSA4`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRPSLetter**{: #vbPRPSLetter } | 1 | US Letter (8½ × 11 in). | +| **vbPRPSLetterSmall**{: #vbPRPSLetterSmall } | 2 | Letter Small. | +| **vbPRPSTabloid**{: #vbPRPSTabloid } | 3 | Tabloid (11 × 17 in). | +| **vbPRPSLedger**{: #vbPRPSLedger } | 4 | Ledger (17 × 11 in). | +| **vbPRPSLegal**{: #vbPRPSLegal } | 5 | US Legal (8½ × 14 in). | +| **vbPRPSStatement**{: #vbPRPSStatement } | 6 | Statement (5½ × 8½ in). | +| **vbPRPSExecutive**{: #vbPRPSExecutive } | 7 | Executive (7¼ × 10½ in). | +| **vbPRPSA3**{: #vbPRPSA3 } | 8 | A3 (297 × 420 mm). | +| **vbPRPSA4**{: #vbPRPSA4 } | 9 | A4 (210 × 297 mm). | +| **vbPRPSA4Small**{: #vbPRPSA4Small } | 10 | A4 Small. | +| **vbPRPSA5**{: #vbPRPSA5 } | 11 | A5 (148 × 210 mm). | +| **vbPRPSB4**{: #vbPRPSB4 } | 12 | B4 (250 × 354 mm). | +| **vbPRPSB5**{: #vbPRPSB5 } | 13 | B5 (182 × 257 mm). | +| **vbPRPSFolio**{: #vbPRPSFolio } | 14 | Folio (8½ × 13 in). | +| **vbPRPSQuarto**{: #vbPRPSQuarto } | 15 | Quarto (215 × 275 mm). | +| **vbPRPS10x14**{: #vbPRPS10x14 } | 16 | 10 × 14 in. | +| **vbPRPS11x17**{: #vbPRPS11x17 } | 17 | 11 × 17 in. | +| **vbPRPSNote**{: #vbPRPSNote } | 18 | Note (8½ × 11 in). | +| **vbPRPSEnv9**{: #vbPRPSEnv9 } | 19 | #9 envelope (3⅞ × 8⅞ in). | +| **vbPRPSEnv10**{: #vbPRPSEnv10 } | 20 | #10 envelope (4⅛ × 9½ in). | +| **vbPRPSEnv11**{: #vbPRPSEnv11 } | 21 | #11 envelope (4½ × 10⅜ in). | +| **vbPRPSEnv12**{: #vbPRPSEnv12 } | 22 | #12 envelope (4¾ × 11 in). | +| **vbPRPSEnv14**{: #vbPRPSEnv14 } | 23 | #14 envelope (5 × 11½ in). | +| **vbPRPSCSheet**{: #vbPRPSCSheet } | 24 | C-size sheet. | +| **vbPRPSDSheet**{: #vbPRPSDSheet } | 25 | D-size sheet. | +| **vbPRPSESheet**{: #vbPRPSESheet } | 26 | E-size sheet. | +| **vbPRPSEnvDL**{: #vbPRPSEnvDL } | 27 | DL envelope (110 × 220 mm). | +| **vbPRPSEnvC5**{: #vbPRPSEnvC5 } | 28 | C5 envelope (162 × 229 mm). | +| **vbPRPSEnvC3**{: #vbPRPSEnvC3 } | 29 | C3 envelope (324 × 458 mm). | +| **vbPRPSEnvC4**{: #vbPRPSEnvC4 } | 30 | C4 envelope (229 × 324 mm). | +| **vbPRPSEnvC6**{: #vbPRPSEnvC6 } | 31 | C6 envelope (114 × 162 mm). | +| **vbPRPSEnvC65**{: #vbPRPSEnvC65 } | 32 | C65 envelope (114 × 229 mm). | +| **vbPRPSEnvB4**{: #vbPRPSEnvB4 } | 33 | B4 envelope (250 × 353 mm). | +| **vbPRPSEnvB5**{: #vbPRPSEnvB5 } | 34 | B5 envelope (176 × 250 mm). | +| **vbPRPSEnvB6**{: #vbPRPSEnvB6 } | 35 | B6 envelope (176 × 125 mm). | +| **vbPRPSEnvItaly**{: #vbPRPSEnvItaly } | 36 | Italy envelope (110 × 230 mm). | +| **vbPRPSEnvMonarch**{: #vbPRPSEnvMonarch } | 37 | Monarch envelope (3⅞ × 7½ in). | +| **vbPRPSEnvPersonal**{: #vbPRPSEnvPersonal } | 38 | Personal envelope (3⅝ × 6½ in). | +| **vbPRPSFanfoldUS**{: #vbPRPSFanfoldUS } | 39 | US fanfold (14⅞ × 11 in). | +| **vbPRPSFanfoldStdGerman**{: #vbPRPSFanfoldStdGerman } | 40 | German standard fanfold (8½ × 12 in). | +| **vbPRPSFanfoldLglGerman**{: #vbPRPSFanfoldLglGerman } | 41 | German legal fanfold (8½ × 13 in). | +| **vbPRPSUser**{: #vbPRPSUser } | 256 | A user-defined paper size. | diff --git a/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PrintQuality.md b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PrintQuality.md new file mode 100644 index 0000000..fbaed79 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/PrinterObjectConstants_PrintQuality.md @@ -0,0 +1,17 @@ +--- +title: PrinterObjectConstants_PrintQuality +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/PrinterObjectConstants_PrintQuality +--- +# PrinterObjectConstants_PrintQuality +{: .no_toc } + +Print-quality values for the **Printer.PrintQuality** property. Tagged **\[MustBeQualified\]**, so members must be referenced through the enum name (`PrinterObjectConstants_PrintQuality.vbPRPQDraft`). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbPRPQDraft**{: #vbPRPQDraft } | -1 | Draft quality. | +| **vbPRPQLow**{: #vbPRPQLow } | -2 | Low quality. | +| **vbPRPQMedium**{: #vbPRPQMedium } | -3 | Medium quality. | +| **vbPRPQHigh**{: #vbPRPQHigh } | -4 | High quality. | diff --git a/docs/Reference/Modules/VBRUNConstants/QueryUnloadConstants.md b/docs/Reference/Modules/VBRUNConstants/QueryUnloadConstants.md new file mode 100644 index 0000000..88690fa --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/QueryUnloadConstants.md @@ -0,0 +1,19 @@ +--- +title: QueryUnloadConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/QueryUnloadConstants +--- +# QueryUnloadConstants +{: .no_toc } + +Reason codes reported in the *UnloadMode* argument of a form's **QueryUnload** event, identifying what triggered the unload. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbFormControlMenu**{: #vbFormControlMenu } | 0 | The user clicked the form's Close button (or selected Close from its system menu). | +| **vbFormCode**{: #vbFormCode } | 1 | The unload was initiated by code calling **Unload**. | +| **vbAppWindows**{: #vbAppWindows } | 2 | Windows is shutting down. | +| **vbAppTaskManager**{: #vbAppTaskManager } | 3 | The application is being closed by Task Manager. | +| **vbFormMDIForm**{: #vbFormMDIForm } | 4 | The MDI parent form is being unloaded. | +| **vbFormOwner**{: #vbFormOwner } | 5 | The owner form is being unloaded. | diff --git a/docs/Reference/Modules/VBRUNConstants/RasterOpConstants.md b/docs/Reference/Modules/VBRUNConstants/RasterOpConstants.md new file mode 100644 index 0000000..0f5edf5 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/RasterOpConstants.md @@ -0,0 +1,26 @@ +--- +title: RasterOpConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/RasterOpConstants +--- +# RasterOpConstants +{: .no_toc } + +Raster-operation codes for the *Op* argument of the **PaintPicture** method, controlling how the source bitmap is combined with the destination pixels. The numeric values are the standard Windows GDI ROP codes. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbDstInvert**{: #vbDstInvert } | &H550009 | Inverts the destination. | +| **vbMergeCopy**{: #vbMergeCopy } | &HC000CA | AND of source and pattern. | +| **vbMergePaint**{: #vbMergePaint } | &HBB0226 | OR of inverted source and destination. | +| **vbNotSrcCopy**{: #vbNotSrcCopy } | &H330008 | Copies the inverted source to the destination. | +| **vbNotSrcErase**{: #vbNotSrcErase } | &H1100A6 | Inverts the result of OR-ing source and destination. | +| **vbPatCopy**{: #vbPatCopy } | &HF00021 | Copies the pattern to the destination. | +| **vbPatInvert**{: #vbPatInvert } | &H5A0049 | XOR of pattern and destination. | +| **vbPatPaint**{: #vbPatPaint } | &HFB0A09 | OR of pattern and destination, then OR with inverted source. | +| **vbSrcAnd**{: #vbSrcAnd } | &H8800C6 | AND of source and destination. | +| **vbSrcCopy**{: #vbSrcCopy } | &HCC0020 | Copies the source to the destination. | +| **vbSrcErase**{: #vbSrcErase } | &H440328 | AND of source and inverted destination. | +| **vbSrcInvert**{: #vbSrcInvert } | &H660046 | XOR of source and destination. | +| **vbSrcPaint**{: #vbSrcPaint } | &HEE0086 | OR of source and destination. | diff --git a/docs/Reference/Modules/VBRUNConstants/RecordsetTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/RecordsetTypeConstants.md new file mode 100644 index 0000000..87e2db8 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/RecordsetTypeConstants.md @@ -0,0 +1,16 @@ +--- +title: RecordsetTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/RecordsetTypeConstants +--- +# RecordsetTypeConstants +{: .no_toc } + +Recordset-type values for the **RecordsetType** property of a Data control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbRSTypeTable**{: #vbRSTypeTable } | 0 | A table-type recordset — direct read/write access to a single table. | +| **vbRSTypeDynaset**{: #vbRSTypeDynaset } | 1 | A dynaset-type recordset — an updatable, dynamic view of a query result. | +| **vbRSTypeSnapShot**{: #vbRSTypeSnapShot } | 2 | A snapshot-type recordset — a read-only fixed copy of a query result. | diff --git a/docs/Reference/Modules/VBRUNConstants/ScaleModeConstants.md b/docs/Reference/Modules/VBRUNConstants/ScaleModeConstants.md new file mode 100644 index 0000000..db68f35 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ScaleModeConstants.md @@ -0,0 +1,25 @@ +--- +title: ScaleModeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ScaleModeConstants +--- +# ScaleModeConstants +{: .no_toc } + +Measurement-unit values for the **ScaleMode** property of forms and containers, controlling the units used by the **Scale**, **CurrentX**, **CurrentY**, **Width**, and **Height** properties. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbScaledPixels**{: #vbScaledPixels } | -1 | Pixels, scaled by the system DPI factor. *(twinBASIC addition.)* | +| **vbUser**{: #vbUser } | 0 | A user-defined coordinate system set explicitly with **Scale**. | +| **vbTwips**{: #vbTwips } | 1 | Twips — 1/1440 inch (the default). | +| **vbPoints**{: #vbPoints } | 2 | Points — 1/72 inch. | +| **vbPixels**{: #vbPixels } | 3 | Pixels of the underlying device. | +| **vbCharacters**{: #vbCharacters } | 4 | Characters of the current font (12 horizontal, 24 vertical points). | +| **vbInches**{: #vbInches } | 5 | Inches. | +| **vbMillimeters**{: #vbMillimeters } | 6 | Millimetres. | +| **vbCentimeters**{: #vbCentimeters } | 7 | Centimetres. | +| **vbHimetric**{: #vbHimetric } | 8 | HiMetric units — 0.01 millimetre. | +| **vbContainerPosition**{: #vbContainerPosition } | 9 | The container's coordinates, used for positioning. | +| **vbContainerSize**{: #vbContainerSize } | 10 | The container's coordinates, used for sizing. | diff --git a/docs/Reference/Modules/VBRUNConstants/ScrollBarConstants.md b/docs/Reference/Modules/VBRUNConstants/ScrollBarConstants.md new file mode 100644 index 0000000..1c532dc --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ScrollBarConstants.md @@ -0,0 +1,17 @@ +--- +title: ScrollBarConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ScrollBarConstants +--- +# ScrollBarConstants +{: .no_toc } + +Values for the **ScrollBars** property of text-box, list-box, and similar controls, choosing which scrollbars are shown. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbSBNone**{: #vbSBNone } | 0 | No scrollbars. | +| **vbHorizontal**{: #vbHorizontal } | 1 | A horizontal scrollbar only. | +| **vbVertical**{: #vbVertical } | 2 | A vertical scrollbar only. | +| **vbBoth**{: #vbBoth } | 3 | Both scrollbars. | diff --git a/docs/Reference/Modules/VBRUNConstants/ShapeConstants.md b/docs/Reference/Modules/VBRUNConstants/ShapeConstants.md new file mode 100644 index 0000000..69b4284 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ShapeConstants.md @@ -0,0 +1,24 @@ +--- +title: ShapeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ShapeConstants +--- +# ShapeConstants +{: .no_toc } + +Geometric-shape values for the **Shape** property of the **Shape** control. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShapeRectangle**{: #vbShapeRectangle } | 0 | Rectangle. | +| **vbShapeSquare**{: #vbShapeSquare } | 1 | Square. | +| **vbShapeOval**{: #vbShapeOval } | 2 | Oval. | +| **vbShapeCircle**{: #vbShapeCircle } | 3 | Circle. | +| **vbShapeRoundedRectangle**{: #vbShapeRoundedRectangle } | 4 | Rounded rectangle. | +| **vbShapeRoundedSquare**{: #vbShapeRoundedSquare } | 5 | Rounded square. | +| **vbShapeStar**{: #vbShapeStar } | 6 | Star. | +| **vbShapeArrowLeft**{: #vbShapeArrowLeft } | 7 | Arrow pointing left. | +| **vbShapeArrowRight**{: #vbShapeArrowRight } | 8 | Arrow pointing right. | +| **vbShapeArrowUp**{: #vbShapeArrowUp } | 9 | Arrow pointing up. | +| **vbShapeArrowDown**{: #vbShapeArrowDown } | 10 | Arrow pointing down. | diff --git a/docs/Reference/Modules/VBRUNConstants/ShiftConstants.md b/docs/Reference/Modules/VBRUNConstants/ShiftConstants.md new file mode 100644 index 0000000..60f15c4 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ShiftConstants.md @@ -0,0 +1,16 @@ +--- +title: ShiftConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ShiftConstants +--- +# ShiftConstants +{: .no_toc } + +Bit flags for the *Shift* argument of mouse and key events, identifying which modifier keys are pressed. Combine with `Or` to test for multiple modifiers. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShiftMask**{: #vbShiftMask } | 1 | **Shift** is held down. | +| **vbCtrlMask**{: #vbCtrlMask } | 2 | **Ctrl** is held down. | +| **vbAltMask**{: #vbAltMask } | 4 | **Alt** is held down. | diff --git a/docs/Reference/Modules/VBRUNConstants/ShortcutConstants.md b/docs/Reference/Modules/VBRUNConstants/ShortcutConstants.md new file mode 100644 index 0000000..c05dcbf --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ShortcutConstants.md @@ -0,0 +1,64 @@ +--- +title: ShortcutConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ShortcutConstants +--- +# ShortcutConstants +{: .no_toc } + +Shortcut-key identifiers for menu items, used by the menu editor and the runtime to bind a menu command to a keyboard combination. Members are auto-numbered: **vbShortcutNone** is `0`, **vbShortcutCtrlA** is `1`, and so on. + +## No shortcut + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutNone**{: #vbShortcutNone } | 0 | No shortcut is assigned. | + +## Ctrl + letter + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutCtrlA**{: #vbShortcutCtrlA } – **vbShortcutCtrlZ**{: #vbShortcutCtrlZ } | 1 – 26 | **Ctrl** + **A** through **Ctrl** + **Z**. | + +## Function keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutF1**{: #vbShortcutF1 } – **vbShortcutF9**{: #vbShortcutF9 } | 27 – 35 | **F1** through **F9**. | +| **vbShortcutF11**{: #vbShortcutF11 } | 36 | **F11**. | +| **vbShortcutF12**{: #vbShortcutF12 } | 37 | **F12**. | + +## Shift + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutShiftF1**{: #vbShortcutShiftF1 } – **vbShortcutShiftF9**{: #vbShortcutShiftF9 } | 38 – 46 | **Shift** + **F1** through **Shift** + **F9**. | +| **vbShortcutShiftF11**{: #vbShortcutShiftF11 } | 47 | **Shift** + **F11**. | +| **vbShortcutShiftF12**{: #vbShortcutShiftF12 } | 48 | **Shift** + **F12**. | + +## Ctrl + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutCtrlF1**{: #vbShortcutCtrlF1 } – **vbShortcutCtrlF9**{: #vbShortcutCtrlF9 } | 49 – 57 | **Ctrl** + **F1** through **Ctrl** + **F9**. | +| **vbShortcutCtrlF11**{: #vbShortcutCtrlF11 } | 58 | **Ctrl** + **F11**. | +| **vbShortcutCtrlF12**{: #vbShortcutCtrlF12 } | 59 | **Ctrl** + **F12**. | + +## Shift + Ctrl + function + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutShiftCtrlF1**{: #vbShortcutShiftCtrlF1 } – **vbShortcutShiftCtrlF9**{: #vbShortcutShiftCtrlF9 } | 60 – 68 | **Shift** + **Ctrl** + **F1** through **Shift** + **Ctrl** + **F9**. | +| **vbShortcutShiftCtrlF11**{: #vbShortcutShiftCtrlF11 } | 69 | **Shift** + **Ctrl** + **F11**. | +| **vbShortcutShiftCtrlF12**{: #vbShortcutShiftCtrlF12 } | 70 | **Shift** + **Ctrl** + **F12**. | + +## Editing keys + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbShortcutCtrlInsert**{: #vbShortcutCtrlInsert } | 71 | **Ctrl** + **Insert**. | +| **vbShortcutShiftInsert**{: #vbShortcutShiftInsert } | 72 | **Shift** + **Insert**. | +| **vbShortcutDelete**{: #vbShortcutDelete } | 73 | **Delete**. | +| **vbShortcutShiftDelete**{: #vbShortcutShiftDelete } | 74 | **Shift** + **Delete**. | +| **vbShortcutAltBackspace**{: #vbShortcutAltBackspace } | 75 | **Alt** + **Backspace**. | diff --git a/docs/Reference/Modules/VBRUNConstants/StartUpPositionConstants.md b/docs/Reference/Modules/VBRUNConstants/StartUpPositionConstants.md new file mode 100644 index 0000000..e53c044 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/StartUpPositionConstants.md @@ -0,0 +1,17 @@ +--- +title: StartUpPositionConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/StartUpPositionConstants +--- +# StartUpPositionConstants +{: .no_toc } + +Initial-position values for the **StartUpPosition** property of a form, determining where the form first appears. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbStartUpManual**{: #vbStartUpManual } | 0 | The position is set explicitly through the **Top** and **Left** properties. | +| **vbStartUpOwner**{: #vbStartUpOwner } | 1 | The form is centred over its owner. | +| **vbStartUpScreen**{: #vbStartUpScreen } | 2 | The form is centred on the screen. | +| **vbStartUpWindowsDefault**{: #vbStartUpWindowsDefault } | 3 | The form is positioned at a default location chosen by Windows. | diff --git a/docs/Reference/Modules/VBRUNConstants/StorageTypeContants.md b/docs/Reference/Modules/VBRUNConstants/StorageTypeContants.md new file mode 100644 index 0000000..3651874 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/StorageTypeContants.md @@ -0,0 +1,23 @@ +--- +title: StorageTypeContants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/StorageTypeContants +--- +# StorageTypeContants +{: .no_toc } + +OLE data-storage medium identifiers used by [**DataObjectFormat.StorageType**](../DataObject/DataObjectFormat#storagetype) and other low-level data-transfer routines, identifying how the bytes are physically stored. + +> [!NOTE] +> The enum is named `StorageTypeContants` (note the missing `s`) in the runtime — a long-standing VB6 holdover that twinBASIC preserves for source compatibility. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbHGlobal**{: #vbHGlobal } | 1 | A global memory handle (`HGLOBAL`). | +| **vbFile**{: #vbFile } | 2 | A path to a file on disk. | +| **vbIStream**{: #vbIStream } | 4 | An `IStream` interface pointer. | +| **vbIStorage**{: #vbIStorage } | 8 | An `IStorage` interface pointer. | +| **vbGDI**{: #vbGDI } | 16 | A GDI object handle. | +| **vbMetaFile**{: #vbMetaFile } | 32 | A Windows metafile handle. | +| **vbEnhancedMetaFile**{: #vbEnhancedMetaFile } | 64 | An enhanced metafile handle. | diff --git a/docs/Reference/Modules/VBRUNConstants/SystemColorConstants.md b/docs/Reference/Modules/VBRUNConstants/SystemColorConstants.md new file mode 100644 index 0000000..2745ab7 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/SystemColorConstants.md @@ -0,0 +1,47 @@ +--- +title: SystemColorConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/SystemColorConstants +--- +# SystemColorConstants +{: .no_toc } + +Reference values for system palette entries — the colours the user has chosen for various standard parts of the Windows UI. Values have the high bit set so that the runtime can distinguish them from RGB colours; pass them through [**TranslateColor**](../../../Modules/Information/TranslateColor) to obtain a plain RGB value. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbScrollBars**{: #vbScrollBars } | &H80000000 | Scroll-bar colour. | +| **vbDesktop**{: #vbDesktop } | &H80000001 | Desktop colour. | +| **vbActiveTitleBar**{: #vbActiveTitleBar } | &H80000002 | Active window's title-bar colour. | +| **vbInactiveTitleBar**{: #vbInactiveTitleBar } | &H80000003 | Inactive window's title-bar colour. | +| **vbMenuBar**{: #vbMenuBar } | &H80000004 | Menu-bar background. | +| **vbWindowBackground**{: #vbWindowBackground } | &H80000005 | Window background (typically white in the classic palette). | +| **vbWindowFrame**{: #vbWindowFrame } | &H80000006 | Window frame. | +| **vbMenuText**{: #vbMenuText } | &H80000007 | Menu text colour. | +| **vbWindowText**{: #vbWindowText } | &H80000008 | Window text colour. | +| **vbTitleBarText**{: #vbTitleBarText } | &H80000009 | Active window's title-bar text. | +| **vbActiveTitleBarText**{: #vbActiveTitleBarText } | &H80000009 | Same as **vbTitleBarText**. | +| **vbActiveBorder**{: #vbActiveBorder } | &H8000000A | Active window's border colour. | +| **vbInactiveBorder**{: #vbInactiveBorder } | &H8000000B | Inactive window's border colour. | +| **vbApplicationWorkspace**{: #vbApplicationWorkspace } | &H8000000C | Application workspace (MDI parent background). | +| **vbHighlight**{: #vbHighlight } | &H8000000D | Highlighted item background (selection colour). | +| **vbHighlightText**{: #vbHighlightText } | &H8000000E | Highlighted item text. | +| **vbButtonFace**{: #vbButtonFace } | &H8000000F | Button face. | +| **vb3DFace**{: #vb3DFace } | &H8000000F | Same as **vbButtonFace**. | +| **vbButtonShadow**{: #vbButtonShadow } | &H80000010 | Button shadow (the shaded edge). | +| **vb3Dshadow**{: #vb3Dshadow } | &H80000010 | Same as **vbButtonShadow**. | +| **vbGrayText**{: #vbGrayText } | &H80000011 | Disabled (grayed) text. | +| **vbButtonText**{: #vbButtonText } | &H80000012 | Button text. | +| **vbInactiveCaptionText**{: #vbInactiveCaptionText } | &H80000013 | Inactive window's title-bar text. | +| **vbInactiveTitleBarText**{: #vbInactiveTitleBarText } | &H80000013 | Same as **vbInactiveCaptionText**. | +| **vb3DHighlight**{: #vb3DHighlight } | &H80000014 | 3-D highlight (the bright edge). | +| **vb3DDKShadow**{: #vb3DDKShadow } | &H80000015 | 3-D dark shadow. | +| **vb3DLight**{: #vb3DLight } | &H80000016 | 3-D light edge. | +| **vbInfoText**{: #vbInfoText } | &H80000017 | Tool-tip text colour. | +| **vbInfoBackground**{: #vbInfoBackground } | &H80000018 | Tool-tip background colour. | +| **vbHotTrackText**{: #vbHotTrackText } | &H8000001A | Hot-tracked item text. | +| **vbActiveTitleBarGradient**{: #vbActiveTitleBarGradient } | &H8000001B | Active title-bar gradient end colour. | +| **vbInactiveTitleBarGradient**{: #vbInactiveTitleBarGradient } | &H8000001C | Inactive title-bar gradient end colour. | +| **vbMenuHighlight**{: #vbMenuHighlight } | &H8000001D | Menu-item highlight (hover) colour. | +| **vbMenuBarFlat**{: #vbMenuBarFlat } | &H8000001E | Flat-style menu-bar background. | diff --git a/docs/Reference/Modules/VBRUNConstants/VariantTypeConstants.md b/docs/Reference/Modules/VBRUNConstants/VariantTypeConstants.md new file mode 100644 index 0000000..9420520 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/VariantTypeConstants.md @@ -0,0 +1,22 @@ +--- +title: VariantTypeConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/VariantTypeConstants +--- +# VariantTypeConstants +{: .no_toc } + +Legacy DAO field-type tags, retained for compatibility with very early Visual Basic / DAO code. New code should use the matching values in [**VbVarType**](../../../Modules/Constants/VbVarType). + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbVEmpty**{: #vbVEmpty } | 0 | Empty (uninitialised). | +| **vbVNull**{: #vbVNull } | 1 | **Null**. | +| **vbVInteger**{: #vbVInteger } | 2 | **Integer**. | +| **vbVLong**{: #vbVLong } | 3 | **Long**. | +| **vbVSingle**{: #vbVSingle } | 4 | Single-precision floating-point. | +| **vbVDouble**{: #vbVDouble } | 5 | Double-precision floating-point. | +| **vbVCurrency**{: #vbVCurrency } | 6 | **Currency**. | +| **vbVDate**{: #vbVDate } | 7 | **Date**. | +| **vbVString**{: #vbVString } | 8 | **String**. | diff --git a/docs/Reference/Modules/VBRUNConstants/VerticalAlignmentConstants.md b/docs/Reference/Modules/VBRUNConstants/VerticalAlignmentConstants.md new file mode 100644 index 0000000..900d475 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/VerticalAlignmentConstants.md @@ -0,0 +1,16 @@ +--- +title: VerticalAlignmentConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/VerticalAlignmentConstants +--- +# VerticalAlignmentConstants +{: .no_toc } + +Vertical text alignment values for properties such as the **VerticalAlignment** of cell-style controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbVerticalAlignTop**{: #vbVerticalAlignTop } | 0 | Text is aligned to the top. | +| **vbVerticalAlignMiddle**{: #vbVerticalAlignMiddle } | 1 | Text is centred vertically. | +| **vbVerticalAlignBottom**{: #vbVerticalAlignBottom } | 2 | Text is aligned to the bottom. | diff --git a/docs/Reference/Modules/VBRUNConstants/ZOrderConstants.md b/docs/Reference/Modules/VBRUNConstants/ZOrderConstants.md new file mode 100644 index 0000000..c893aa7 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/ZOrderConstants.md @@ -0,0 +1,15 @@ +--- +title: ZOrderConstants +parent: Constants Module +grand_parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ZOrderConstants +--- +# ZOrderConstants +{: .no_toc } + +Position selectors for the **ZOrder** method of forms and controls. + +| Constant | Value | Description | +|----------|-------|-------------| +| **vbBringToFront**{: #vbBringToFront } | 0 | Move the object to the front of its z-order so it is drawn on top of its siblings. | +| **vbSendToBack**{: #vbSendToBack } | 1 | Move the object to the back of its z-order so its siblings are drawn on top of it. | diff --git a/docs/Reference/Modules/VBRUNConstants/index.md b/docs/Reference/Modules/VBRUNConstants/index.md new file mode 100644 index 0000000..afe2007 --- /dev/null +++ b/docs/Reference/Modules/VBRUNConstants/index.md @@ -0,0 +1,104 @@ +--- +title: Constants Module +parent: VBRUN Modules +permalink: /tB/Packages/VBRUN/Constants/ +has_toc: false +--- + +# Constants module + +The VBRUN **Constants** module collects the named-integer enumerations that classic VB6 forms, intrinsic controls, and runtime services use to spell out their option values — colours, mouse pointers, key codes, drag/drop states, OLE container behaviour, printer setup values, and so on. There are no standalone constants in this module; everything is grouped into an enumeration so that **IntelliSense** can offer the right options at each property or argument. + +Some enumerations are tagged **\[MustBeQualified\]** in the source — their members must be referenced through the enum name (e.g. `ControlBorderStyleConstantsCustom.vbCustomBorder`) to avoid clashing with members of similarly named enumerations. This is noted on those enum's pages. + +## Enumerations + +- [AlignConstants](AlignConstants) -- alignment values for the **Align** property (none, top, bottom, left, right) +- [AlignmentConstants](AlignmentConstants) -- text alignment values (left, right, centred) +- [AlignmentConstantsNoCenter](AlignmentConstantsNoCenter) -- text alignment values without a centred option +- [AppearanceConstants](AppearanceConstants) -- flat or 3-D drawing style for controls +- [ApplicationStartConstants](ApplicationStartConstants) -- whether the application was started standalone or via Automation +- [AspectTypeConstants](AspectTypeConstants) -- rendering aspects of an OLE object (content, thumbnail, icon, print) +- [AsyncReadConstants](AsyncReadConstants) -- flags for **UserControl.AsyncRead** +- [AsyncStatusCodeConstants](AsyncStatusCodeConstants) -- status codes reported by the **AsyncReadProgress** event +- [AsyncTypeConstants](AsyncTypeConstants) -- the kind of data being read in **UserControl.AsyncRead** +- [BackFillStyleConstants](BackFillStyleConstants) -- whether a control's background fill is opaque or transparent +- [BorderStyleConstants](BorderStyleConstants) -- line style for drawn shapes (solid, dashed, dotted, transparent, ...) +- [ButtonConstants](ButtonConstants) -- standard or graphical button style +- [CheckBoxConstants](CheckBoxConstants) -- state of a check box (unchecked, checked, grayed) +- [ClipboardConstants](ClipboardConstants) -- clipboard format identifiers (`vbCFText`, `vbCFBitmap`, ...) +- [ColorConstants](ColorConstants) -- common named colours (`vbBlack`, `vbBlue`, `vbRed`, ...) +- [ComboBoxConstants](ComboBoxConstants) -- combo-box style (drop-down, simple, drop-down list) +- [ControlBorderStyleConstants](ControlBorderStyleConstants) -- single-border style (none or fixed single) +- [ControlBorderStyleConstantsCustom](ControlBorderStyleConstantsCustom) -- single-border style with a custom-drawn option +- [ControlTypeConstants](ControlTypeConstants) -- identifiers for the standard intrinsic control types +- [DataBOFconstants](DataBOFconstants) -- action when a Data control reaches the start of a recordset +- [DataEOFConstants](DataEOFConstants) -- action when a Data control reaches the end of a recordset +- [DataErrorConstants](DataErrorConstants) -- response to an error from a data binding operation +- [DataValidateConstants](DataValidateConstants) -- actions reported in a Data control's **Validate** event +- [DatabaseTypeConstants](DatabaseTypeConstants) -- database engine to use with the Data control (ODBC, Jet, ACE) +- [DefaultCursorTypeConstants](DefaultCursorTypeConstants) -- cursor type for a Data control connection +- [DockModeConstants](DockModeConstants) -- dock-edge values for forms and toolbars +- [DragConstants](DragConstants) -- states reported by **DragDrop**/**DragOver** +- [DragModeConstants](DragModeConstants) -- automatic or manual drag mode +- [DragOverConstants](DragOverConstants) -- enter/leave/over state values during a drag-over event +- [DrawModeConstants](DrawModeConstants) -- raster operation for **PSet**/**Line**/**Circle** drawing +- [DrawStyleConstants](DrawStyleConstants) -- line style for drawn lines and shape outlines +- [FillStyleConstants](FillStyleConstants) -- fill pattern for filled shapes +- [FillStyleConstantsEx](FillStyleConstantsEx) -- fill pattern with twinBASIC gradient extensions +- [FormArrangeConstants](FormArrangeConstants) -- MDI child arrangement modes (cascade, tile, ...) +- [FormBorderStyleConstants](FormBorderStyleConstants) -- form window border style (sizable, fixed dialog, tool window, ...) +- [FormShowConstants](FormShowConstants) -- whether a form is shown modal or modeless +- [FormWindowStateConstants](FormWindowStateConstants) -- normal, minimised, or maximised window state +- [HitResultConstants](HitResultConstants) -- return values from a **UserControl** **HitTest** event +- [KeyCodeConstants](KeyCodeConstants) -- virtual-key code values for **KeyDown**/**KeyUp** +- [LinkModeConstants](LinkModeConstants) -- DDE link mode (none, automatic, manual, notify) +- [ListBoxConstants](ListBoxConstants) -- list-box style (standard, check-box, colour swatch) +- [LoadPictureColorConstants](LoadPictureColorConstants) -- colour-depth flag for **LoadPicture** +- [LoadPictureSizeConstants](LoadPictureSizeConstants) -- size selector for **LoadPicture** +- [LoadResConstants](LoadResConstants) -- resource type for **LoadResPicture** +- [LogEventTypeConstants](LogEventTypeConstants) -- severity for **LogEvent** (error, warning, information) +- [LogModeConstants](LogModeConstants) -- destination and behaviour flags for the application log +- [MenuAccelConstants](MenuAccelConstants) -- keyboard-accelerator codes for menu items +- [MenuControlConstants](MenuControlConstants) -- alignment and triggering options for popup menus +- [MouseButtonConstants](MouseButtonConstants) -- bit flags for the pressed mouse buttons (left, right, middle) +- [MousePointerConstants](MousePointerConstants) -- cursor shape for the **MousePointer** property +- [MultiSelectConstants](MultiSelectConstants) -- multi-selection mode for a list box +- [NegotiatePositionConstants](NegotiatePositionConstants) -- positioning of OLE-negotiated menus +- [OLEContainerActivateConstants](OLEContainerActivateConstants) -- when the **OLE** container activates its embedded object +- [OLEContainerConstants](OLEContainerConstants) -- combined enumeration of all **OLE** container option values +- [OLEContainerDisplayTypeConstants](OLEContainerDisplayTypeConstants) -- whether to show content or icon +- [OLEContainerSizeModeConstants](OLEContainerSizeModeConstants) -- sizing rule for an embedded **OLE** object +- [OLEContainerTypesAllowedConstants](OLEContainerTypesAllowedConstants) -- linked, embedded, or either object types +- [OLEContainerUpdateOptionsConstants](OLEContainerUpdateOptionsConstants) -- update mode for an **OLE**-linked object +- [OLEDragConstants](OLEDragConstants) -- automatic or manual **OLE** drag +- [OLEDropConstants](OLEDropConstants) -- none/manual/automatic **OLE** drop targets +- [OLEDropEffectConstants](OLEDropEffectConstants) -- effect of an **OLE** drop (copy, move, link, scroll) +- [OldLinkModeConstants](OldLinkModeConstants) -- legacy DDE link modes (hot, cold, server) +- [PaletteModeConstants](PaletteModeConstants) -- palette source for forms and controls +- [ParentControlsType](ParentControlsType) -- whether [**ParentControls**](../ParentControls) wraps items in their **Extender** +- [PictureTypeConstants](PictureTypeConstants) -- the type of a **StdPicture** (bitmap, icon, metafile, enhanced metafile) +- [PrinterObjectConstants](PrinterObjectConstants) -- combined enumeration of all printer setup values +- [PrinterObjectConstants_ColorMode](PrinterObjectConstants_ColorMode) -- colour or monochrome printing +- [PrinterObjectConstants_Duplex](PrinterObjectConstants_Duplex) -- one-sided or two-sided printing mode +- [PrinterObjectConstants_Orientation](PrinterObjectConstants_Orientation) -- portrait or landscape paper orientation +- [PrinterObjectConstants_PaperBin](PrinterObjectConstants_PaperBin) -- paper-source identifiers for the printer +- [PrinterObjectConstants_PaperSize](PrinterObjectConstants_PaperSize) -- paper-size identifiers for the printer +- [PrinterObjectConstants_PrintQuality](PrinterObjectConstants_PrintQuality) -- draft / low / medium / high print quality +- [QueryUnloadConstants](QueryUnloadConstants) -- reason codes reported in a form's **QueryUnload** event +- [RasterOpConstants](RasterOpConstants) -- raster-operation codes for **PaintPicture** +- [RecordsetTypeConstants](RecordsetTypeConstants) -- table / dynaset / snapshot recordset types +- [ScaleModeConstants](ScaleModeConstants) -- measurement units for a form's or container's **Scale** properties +- [ScrollBarConstants](ScrollBarConstants) -- which scrollbars a control should display (none, horizontal, vertical, both) +- [ShapeConstants](ShapeConstants) -- geometric shape selectors for the **Shape** control +- [ShiftConstants](ShiftConstants) -- bit flags for **Shift**, **Ctrl**, and **Alt** in mouse and key events +- [ShortcutConstants](ShortcutConstants) -- shortcut-key identifiers for menu items +- [StartUpPositionConstants](StartUpPositionConstants) -- initial position of a form (manual, owner, screen, default) +- [StorageTypeContants](StorageTypeContants) -- **OLE** data storage medium (`HGLOBAL`, file, `IStream`, `IStorage`, ...) +- [SystemColorConstants](SystemColorConstants) -- high values referring to system palette entries +- [VariantTypeConstants](VariantTypeConstants) -- DAO field-type tags (legacy) +- [VerticalAlignmentConstants](VerticalAlignmentConstants) -- vertical text alignment (top, middle, bottom) +- [ZOrderConstants](ZOrderConstants) -- selectors for **BringToFront** / **SendToBack** + +> [!NOTE] +> The enumeration name `StorageTypeContants` (note the missing `s`) is preserved here exactly as the runtime exposes it; the misspelling is a long-standing VB6 holdover.