---
name: "al_show_native_message_box"
section: "3"
platform: "linux"
package: "allegro"
version: "5.2.11.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al_show_native_message_box"
---

# al\_show\_native\_message\_box(3)

Allegro 5 API

## NAME

al\_show\_native\_message\_box - Allegro 5 API

## SYNOPSIS

-

  ```
  #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)
  ```

## DESCRIPTION

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 (\|).

*Note:* The `buttons` parameter is currently unimplemented on Windows.

The flags available are:

- ALLEGRO\_MESSAGEBOX\_WARN

  The message is a warning. This may cause a different icon (or other effects).

- ALLEGRO\_MESSAGEBOX\_ERROR

  The message is an error.

- ALLEGRO\_MESSAGEBOX\_QUESTION

  The message is a question.

- ALLEGRO\_MESSAGEBOX\_OK\_CANCEL

  Display a cancel button alongside the “OK” button. Ignored if `buttons` is not NULL.

- ALLEGRO\_MESSAGEBOX\_YES\_NO

  Display Yes/No buttons instead of the “OK” button. Ignored if `buttons` is not NULL.

[al\_show\_native\_message\_box(3)](/al_show_native_message_box/3.md) may be called without Allegro being installed. This is useful to report an error during initialisation of Allegro itself.

Returns:

- •

  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.

Example:

-

  ```
  int button = al_show_native_message_box(
    display,
    "Warning",
    "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.",
    NULL,
    ALLEGRO_MESSAGEBOX_YES_NO
  );
  ```
