eBbi Temat założony przez niniejszego użytkownika |
[Allegro] GUI- Text Box » 2009-11-23 15:40:20 Mógł by mi ktoś napisać przykładowy programik w którym jakiś tekst wpisujemy do boxa a z boxa zapisywany jest do zmiennej string. Ten kurs alegro-gui o dupe otrzeć. Nic nie jest w nim jasno napisane.... |
|
pixelmaster |
» 2009-11-23 16:06:15 chodzi chyba o edit boxa dp wskazuje na stringa, a d1 określa maksymalną ilość znaków #define MAX_BYTES_PER_CHAR 4 #define LEN 32
char the_string[( LEN + 1 ) * MAX_BYTES_PER_CHAR ] = "Change Me!";
{ d_edit_proc, 160, 130, 160, 8, 0, 0, 0, 0, LEN, 0, the_string, NULL, NULL }, |
|
eBbi Temat założony przez niniejszego użytkownika |
» 2009-11-23 21:12:34 choć bym chciał dać wam spokój to nie da rady... Ten twój dialog próbowałem edytować na wszystkie strony byle zadziałało.. Niestety nie dałem rady. Wujek google też przestał współpracować. skończyłem na tym: char the_string[] = "Change Me!";
DIALOG* main={ d_edit_proc, 160, 130, 160, 8, 0, 0, 0, 0, 32, 0, the_string, NULL, NULL };
do_dialog(main, -1);
ty w ogóle sprawdzałeś czy to okienko działa? Po zmianie wszystkiego wyskakuje mi taki błąd: initializer for scalar variable requires one element <- do linijki rozpoczynającej się od "DIALOG" wujek google pisał że to jakiś problem z tą zmienna the_string. Zmieniałem ją na 30 sposobów i dalej nie hula. PLIZ help me |
|
pixelmaster |
» 2009-11-23 21:49:25 Kodzik, który u mnie działa (dopisałem to co wyżej dałem do http://archiwum.ddt.pl/?TextId=25234) #include <allegro.h>
#define MAX_BYTES_PER_CHAR 4 #define LEN 32
char the_string[( LEN + 1 ) * MAX_BYTES_PER_CHAR ] = "Change Me!";
int quit( void ) { if( alert( "Naprawdę chcesz wyjść ?", NULL, NULL, "&Tak", "&Nie", 't', 'n' ) == 1 ) return D_CLOSE; else return D_O_K; }
int about( void ) { alert( "* Allegro GUI *", "", "To jest przykład wykorzystania Allegro GUI", "Ok", 0, 0, 0 ); return D_O_K; }
int my_button_proc( int msg, DIALOG * d, int c ) { int ret = d_button_proc( msg, d, c ); if( ret == D_CLOSE && d->dp3 ) return(( int( * )( void ) ) d->dp3 )(); return ret; }
DIALOG the_dialog[] = { { d_clear_proc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }, { my_button_proc, 10, 10, 160, 20, 0, 0, 'q', D_EXIT, 0, 0, "&Quit", NULL,( void * ) quit }, { my_button_proc, 10, 50, 160, 20, 0, 0, 'a', D_EXIT, 0, 0, "&About", NULL,( void * ) about }, { d_edit_proc, 10, 130, 160, 8, 0, 0, 0, 0, LEN, 0, the_string, NULL, NULL }, { d_keyboard_proc, 0, 0, 0, 0, 0, 0, 0, 0, KEY_F1, 0,( void * ) quit, NULL, NULL }, { d_yield_proc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }, { NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL } };
int main( int argc, char * argv[] ) { char buf[ 256 ]; int i; if( allegro_init() != 0 ) return 1; install_keyboard(); install_mouse(); install_timer(); if( set_gfx_mode( GFX_AUTODETECT_WINDOWED, 320, 240, 0, 0 ) != 0 ) { if( set_gfx_mode( GFX_SAFE, 320, 240, 0, 0 ) != 0 ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Unable to set any graphic mode\n%s\n", allegro_error ); return 1; } } set_palette( default_palette ); gui_fg_color = makecol( 255, 255, 255 ); gui_mg_color = makecol( 0, 60, 255 ); gui_bg_color = makecol( 100, 28, 29 ); set_dialog_color( the_dialog, gui_fg_color, gui_bg_color ); the_dialog[ 0 ].bg = makecol( 117, 187, 115 ); position_dialog( the_dialog, 2, 2 ); do_dialog( the_dialog, - 1 ); return 0; } END_OF_MAIN() |
|
eBbi Temat założony przez niniejszego użytkownika |
» 2009-11-23 22:19:36 albo ja nie mam jakiś plików albo ocś. Korzystam z Dev C++ 4.9.9.2 wkleiłem twój cały kod do nowego projektu Allegro static i mi wyskakuje taki błąd: 45: invalid conversion from `const void*' to `void*' jest to błąd na linijkę: { d_yield_proc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }, { NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL } [B]};[/B] //<-- tylko ten znaczek
int main(int argc, char *argv[]) {
|
|
eBbi Temat założony przez niniejszego użytkownika |
» 2009-11-24 00:28:21 albo ja nie mam jakiś plików albo ocś. Korzystam z Dev C++ 4.9.9.2 wkleiłem twój cały kod do nowego projektu Allegro static i mi wyskakuje taki błąd: 45: invalid conversion from `const void*' to `void*' jest to błąd na linijkę: { d_yield_proc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL }, { NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL } [B]};[/B] //<-- tylko ten znaczek
int main(int argc, char *argv[]) {
|
|
malan |
» 2009-11-24 17:00:10 |
|
« 1 » |