Skip to content
Example use of ribbon control from assembly, FASM.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

rib-rub v0.01, April 29, 2013.

This is just my attempt to understand the utility of the native (fluent) Ribbon control in Windows using amd64 assembly language, the FASM dialect.

More documentation will be added as it develops.

Initially, my ignorance was documented at:

Mainly, I discovered the difficulty of using my existing tools to generate 32-bit BMP image files, and my dislike for editing XML by hand. Also, there appears to be conflicts between the internal dialog handler of Windows and the ribbon control - I have since switched to using a window as the parent and many strange crashes just disappeared. So, I don't recommend using an application dialog as the base.

Luckily, I stumbled upon Erik Van Bilsen's Ribbon Designer. If you are on the same quest then start with his concise overview and utility. Even without Delphi it's still the best thing available. Note: you will need a fake EXE to present as the Delphi compiler - any DCC32.EXE will do. ;)


To Build:

  • Set paths in build.cmd to point to UICC, RC, FASM
  • execute build.cmd

A note about the coding style: I do not use the supplied FASM macros for 64-bit coding, and have developed my own syle. An approach which helps me stay at the instruction level, but requires mindfulness of proceedural scoping to maintain stack alignment. It's much easier than it sounds with practice.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

You can’t perform that action at this time.