A pane containing a group of buttons.
capi
The class push-button-panel inherits all of its behavior from button-panel, which itself inherits most of its behavior from choice. Thus, the push button panel can accept items, callbacks, and so on.
(defun test-callback (data interface)
  (capi:display-message 
   "Pressed ~S" data))
 
(capi:contain (make-instance 'capi:push-button-panel
                             :title "Press a button:"
                             :items 
                             '("Press Me" "No, Me")
                             :selection-callback 
                             'test-callback))
 
(capi:contain (make-instance 'capi:push-button-panel
                             :title "Press a button:"
                             :items 
                             '("Press Me" "No, Me")
                             :selection-callback
                             'test-callback
                             :layout-class 
                             'capi:column-layout))
 
(capi:contain (make-instance 'capi:push-button-panel
                             :title "Press a button:"
                             :items '(1 2 3 4 5 6 7 8 9)
                             :selection-callback 
                             'test-callback
                             :layout-class 
                             'capi:grid-layout
                             :layout-args 
                             '(:columns 3)))
There is a further example here:
(example-edit-file "capi/buttons/buttons")
push-button
radio-button-panel
check-button-panel
5 Choices - panes with items
CAPI User Guide and Reference Manual (Windows version) - 18 Feb 2025 15:35:34