# Replacement for Clarion's browse grid control

**URL:** <https://clarionhub.com/t/replacement-for-clarions-browse-grid-control/9211>\
**Category:** community\
**Tags:** browse\
**Created:** [July 5, 2026, 5:31am UTC](https://clarionhub.com/t/replacement-for-clarions-browse-grid-control/9211 "2026-07-05T05:31:06Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![RchdR](https://clarionhub.com/letter_avatar_proxy/v4/letter/r/d78d45/32.png) [@RchdR](https://clarionhub.com/u/RchdR)\
**Post date:** [July 5, 2026, 9:32am UTC](https://clarionhub.com/t/replacement-for-clarions-browse-grid-control/9211/2 "2026-07-05T09:32:10Z")

</div>

I would look at using native API calls for controls and then have a class to bind the data from the filemanager/files to the window control(s) on a per thread basis, per control instance basis.

A class would be ideal because of the properties it brings to the table, like instantiation, isolation of variables, and reusability.

> **[Windows Controls - Win32 apps](https://learn.microsoft.com/en-us/windows/win32/controls/window-controls)**
>
> A control is a child window that an application uses in conjunction with another window to enable user interaction.

Some GUI controls will have similar properties with other GUI controls, eg the scroll bar, added to some controls, in both horizontal and vertical format. This is why I say a class for individual controls would be ideal.

> **[Control Library - Win32 apps](https://learn.microsoft.com/en-us/windows/win32/controls/individual-control-info)**
>
> The topics in this section discuss each control separately. The information for each control contains overviews that describe the control and how to use it, as well as programming elements that are used specifically with that control.

> **[Common Control Versions - Win32 apps](https://learn.microsoft.com/en-us/windows/win32/controls/common-control-versions)**
>
> This topic lists the available versions of the Common Control library (ComCtl32.dll), describes how to identify the version that your application is using, and explains how to target your application for a specific version.

The manifest file will state what version of ComCtl32.dll is using.

```auto
<dependency>
    <dependentAssembly>
        
    </dependentAssembly>
</dependency>

```

It will be a version 6 because Windows visual styles/themes are used, if they are not, it might drop back to a version 5.

Or if using Process Explorer

1. Run your Clarion `.exe`.
2. Open **Process Explorer** , find your executable in the list, and double-click it.
3. Switch to the **DLLs** tab.
4. Scroll down to `comctl32.dll`.
  - A path ending in `\WinSxS\...\comctl32.dll` indicates **Version 6**.
  - A path ending in `\Windows\System32\comctl32.dll` indicates **Version 5**.

> **[Window Styles (Winuser.h) - Win32 apps](https://learn.microsoft.com/en-us/windows/win32/winmsg/window-styles)**
>
> This topic provides a list of the various styles that can be applied to a window.

Be under no illusion, this activity could be considered close to being a major part of the Clarion Runtime, but once you have done this, you can then look at other GUI libraries. Most will probably be familiar with Qt and GTK through Linux distro’s.

> **[List of platform-independent GUI libraries](https://en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries)**
>
> This is a list of notable library packages implementing a graphical user interface (GUI) platform-independent GUI library (PIGUI). These can be used to develop software that can be ported to multiple computing platforms with no change to its source code.

Building additional “default” functionality into a control also becomes easier. Like the Text control could have functionally this built into it, in particular the Text Formatter.

> [@Text formatter functions in a clarion app](https://clarionhub.com/t/text-formatter-functions-in-a-clarion-app/9169):
>
> I am NEW to GitHub, I have just spent a lot time trying to figure out how mark this repository as Clarion code, no luck yet. Regardless, years ago I took the code from Text Formatter chapter in Software Tools in Pascal by Kernighan & Plaugher and converted that to Clarion. I needed to implement a letter writer that could format paragraphs from a letter type file and then substitute variable names with data. I also needed to format text in specific size boxes that could be placed on a printed…

> **[GitHub - mjkuhn/Text-formatter: Clarion app file that contains the code from...](https://github.com/mjkuhn/Text-formatter)**
>
> Clarion app file that contains the code from Software Tools in Pascal (Kernighan & Plaugher) for Text Formatter chapter. This library provides functions to format textual data then use it on reports and forms.

Edit.

This is an example of data binding whilst porting to Linux using an Ai LLM model, I think Anthropic Claude.

> [@Win 32 API and Clarion versions 10 11 12 and Above](https://clarionhub.com/t/win-32-api-and-clarion-versions-10-11-12-and-above/8613/14):
>
> Now you might ask where did we give AI techical stuff from to do work like machine picture and create clarion DOS Style memory tables with replace able key algos.. well it was the technical documents that were not continued after Clarion Corp was sold and web site like this that AI AI researched. There are ways to get information and reading the topspeed compiler documents for accessing the CPP stuff but what is the clarion compiler written in CPP or Modula 2? Anyway this was a great site we fou…

In this example, the Azure cloud is being used as the always on database, and until [Starlink](https://starlink.com) appeared, would have been a risky bet because large parts of the world still has no internet access or dialup at best, thus making the case for offline storage a must.

OS Native File access/ODBC access can become things like JSON-RPC which are built on the raw communication protocols TCP/IP.

---

_[View the full topic](https://clarionhub.com/t/replacement-for-clarions-browse-grid-control/9211)._
