al_show_native_message_box(1) Allegro 5 API


#include <allegro5/allegro_native_dialog.h>
int al_show_native_message_box(ALLEGRO_DISPLAY *display,
   char const *title, char const *heading, char const *text,
   char const *buttons, int flags)


Show a native GUI message box. This can be used for example to display an error message if creation of an initial display fails. The display may be NULL, otherwise the given display is treated as the parent if possible.

The message box will have a single "OK" button and use the style informative dialog boxes usually have on the native system. If the buttons parameter is not NULL, you can instead specify the button text in a string, with buttons separated by a vertical bar (|).

The flags available are:

The message is a warning. This may cause a different icon (or other effects).
The message is an error.
The message is a question.
Display a cancel button alongside the "OK" button. Ignored if buttons is not NULL.
Display Yes/No buttons instead of the "OK" button. Ignored if buttons is not NULL.

al_show_native_message_box(3alleg5) may be called without Allegro being installed. This is useful to report an error during initialisation of Allegro itself.


  • 0 if the dialog window was closed without activating a button.
  • 1 if the OK or Yes button was pressed.
  • 2 if the Cancel or No button was pressed.

If buttons is not NULL, the number of the pressed button is returned, starting with 1.

All of the remaining parameters must not be NULL.

If a message box could not be created then this returns 0, as if the window was dismissed without activating a button.


int button = al_show_native_message_box(
  "Are you sure?",
  "If you click yes then you are confirming that \"Yes\" "
  "is your response to the query which you have "
  "generated by the action you took to open this "
  "message box.",