Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[allegro] program w normalnym oknie

Ostatnio zmodyfikowano 2008-11-07 17:49
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
[allegro] program w normalnym oknie
» 2008-11-06 15:18:04
mam problem z allegro. chciałbym aby program uruchamiał się w
normalnym oknie takim w jakich otwierają się normalne programy w c++.
kiedy zmieniam
C/C++
set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
na:
C/C++
set_gfx_mode( GFX_AUTODETECT_WINDOWED, 600, 300, 0, 0 );
to... niemożna określić czy się udało bo mam Viste
i w takich chwilach pokazuje się że mój program
przestał działać. czy można zrobić że program w
allegro będzie się uruchamiał w podstawowym oknie?
P-2444
DejaVu
» 2008-11-06 15:24:21
Ja mam napisaną taką metodę w klasie inicjującej tryb graficzny Allegro - Visty nie mam, ale może to Ciebie naprowadzi na jakieś rozwiązanie.
C/C++
bool CAllegro::Init( int f_width, int f_height, int f_depth, bool f_fullScreen, const char * f_title )
{
    if( m_buffer ) Close();
   
    m_width = f_width;
    m_height = f_height;
    m_depth = f_depth;
    m_fullScreen = f_fullScreen;
    int tError;
   
    if( !f_depth ) f_depth = desktop_color_depth();
   
    set_color_depth( f_depth );
   
    if( f_fullScreen )
    {
        tError = set_gfx_mode( GFX_AUTODETECT, f_width, f_height, 0, 0 );
    } else
    {
        tError = set_gfx_mode( GFX_AUTODETECT_WINDOWED, f_width, f_height, 0, 0 );
    }
   
    if( !tError )
    {
        m_fullScreen = !is_windowed_mode();
        m_buffer = create_bitmap( m_width, m_height );
        set_window_title( f_title );
        if( !m_buffer ) return( false );
       
        m_target = m_buffer;
        SetColor( 0xFF, 0xFF, 0xFF );
        return( true );
    }
    return( false );
}
/edit:
Może nie masz u siebie poniższej linijki i coś się krzaczy:
set_color_depth( 32 );
P-2445
pekfos
Temat założony przez niniejszego użytkownika
działa
» 2008-11-06 16:42:21
miałem te linijkę ale zamiast 32 miałem 8. zmieniłem to i działa
ale niepoprawnie działa: uruchamia mi się puste okno konsoli i
ten mój program naraz. Jak zrobić aby się otwierały w jednym oknie?
P-2447
DejaVu
» 2008-11-06 20:22:16
Jeśli nie chcesz mieć konsoli to wejdź prawym klawiszem w opcje projektu (Dev-C++) i zaznacz Typ: Win32 GUI. Konsola nie będzie się wtedy pokazywała.
P-2451
pekfos
Temat założony przez niniejszego użytkownika
» 2008-11-07 17:49:22
już się nie pokazuje :D
P-2459
« 1 »
  Strona 1 z 1