From: arrakyd Newsgroups: comp.os.msdos.djgpp Subject: Problem with Allegro+GUI Date: Wed, 25 Mar 1998 20:38:22 +0100 Organization: Grolier Interactive Europe Lines: 86 Message-ID: <35195D2E.BFDEE450@club-internet.fr> NNTP-Posting-Host: clermont-fd1-188.club-internet.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I need help! I have a dialog with two buttons and a bitmap and I would like the buttons to change the bitmap. How can I do this ? Here is what I'm trying to do: int decr_proc(int msg, DIALOG *d, int c) { int ret; /* call the parent object */ ret = d_button_proc(msg, d, c); if (ret==D_CLOSE) { if (background_tile>0) { background_tile--; d[8].dp=tile[background_tile].image; } return D_REDRAW; } return ret; } int incr_proc(int msg, DIALOG *d, int c) { int ret; /* call the parent object */ ret = d_button_proc(msg, d, c); if (ret==D_CLOSE) { if (background_tile<255) { background_tile++; d[8].dp=tile[background_tile].image; } return D_REDRAW; } return ret; } DIALOG map_dialog1[]= { /* 0*/{ d_shadow_box_proc, 70, 60, 180, 80, 255, 0, 0, 0, 0, 0, NULL }, /* 1*/{ d_ctext_proc, 160, 62, 0, 0, 255, 0, 0, 0, 0, 0, "Map attributes -1"}, /* 2*/{ d_text_proc, 82, 80, 0, 0, 255, 0, 0, 0, 0, 0, "Map width" }, /* 3*/{ d_edit_proc, 180, 80, 32, 8, 255, 0, 0, 0, 3, 0, d_map_width }, /* 4*/{ d_text_proc, 82, 89, 0, 0, 255, 0, 0, 0, 0, 0, "Map height" }, /* 5*/{ d_edit_proc, 180, 89, 32, 8, 255, 0, 0, 0, 3, 0, d_map_height }, /* 6*/{ d_text_proc, 82, 98, 0, 0, 255, 0, 0, 0, 0, 0, "Background" }, /* 7*/{ decr_proc, 179, 98, 16, 16, 255, 0, '-', D_EXIT, 0, 0, "&-" }, /* 8*/{ d_bitmap_proc, 196, 98, 16, 16, 0, 0, 0, 0, 0, 0, NULL }, /* 9*/{ incr_proc, 212, 98, 16, 16, 255, 0, '+', D_EXIT, 0, 0, "&+" }, /*10*/{ d_button_proc, 135, 121, 50, 15, 255, 0, 0, D_EXIT, 0, 0, "&OK" }, /*11*/{ d_button_proc, 187, 121, 50, 15, 255, 0, 0, D_EXIT, 0, 0, "&Cancel" }, /*12*/{ NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL } }; When I do this, the dialog isn't redrawn. I must close it and open it again to make the bitmap change.