IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Plein ecran et multi fenetres


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Plein ecran et multi fenetres
    Bonjour,
    Je cherche à passer un programme en plein écran.
    J'ai donc regardé un peu dans la FAQ et j'ai trouvé ceci http://delphi.developpez.com/faq/?pa...leenpleinecran. J'ai donc recopier bêtement le code dans le .dpr... mais en compilant ça lance la fenêtre telle que je l'ai créée dans "conception" (la console qui se lance qui affiche "mode fenetre" je dois faire 2 fois entrer (avant de lancer la form1) et apres le premier entrer il y a marqué "mode plein ecran").
    J'ai donc la barre au dessus de la fiche avec réduire/agrandir/fermer, mais lors de l'agrandissement de la fenêtre, ça agrandit mais ça n'agrandit pas les images que j'ai mis avec le TImage (ça la met tout dans le coin en haut a gauche et le reste de la fiche est grise).

    Comment dois-je faire pour mettre en fullscreen et ajuster l'image en fonction de la taille de la fenêtre ?

    Mon autre problème: je veux ouvrir un sous menu en cliquant sur un bouton (ça j'y arrive) mais ça ouvre une deuxième fenêtre... comment faire pour que ça passe d'une fiche à l'autre en gardant la même taille de cadre (fullscreen ou non) sans en ouvrir une nouvelle à chaque fois, et que ça revienne à la précédente quand on ferme une fiche fille ?

    Voici ce que j'ai fait,
    dpr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    program Project3;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils,
      Forms,
      Windows,
      MenuGeneral in '..\..\..\Desktop\Interface2\MenuGeneral.pas' {Form1},
      SousMenuOption in '..\..\..\Desktop\Interface2\SousMenuOption.pas' {Form2};
     
    const
     CONSOLE_FULLSCREEN_MODE = 1; // Mode plein écran
     CONSOLE_WINDOWED_MODE   = 2; // Mode console ('fenêtré').
     
     Function SetConsoleDisplayMode(ConsoleOutput : THandle;
              Flags : DWORD;
     		  NewScreenBufferDimensions : PCoord):BOOL; stdcall; external 'kernel32.dll';
     
     
    Function SetConsoleScreen(Mode:Byte):Boolean;
    var
      ConsoleHandle: THandle;
    begin
      Result:=False;
      ConsoleHandle :=GetStdHandle(STD_OUTPUT_HANDLE);
      if ConsoleHandle <> INVALID_HANDLE_VALUE
       then Result:=SetConsoleDisplayMode(ConsoleHandle,Mode,Nil)=False
    end;
     
    Function SetFullScreen:Boolean;
    begin
     Result:=SetConsoleScreen(CONSOLE_FULLSCREEN_MODE);
    end;
     
    begin
     Writeln('Mode fenetre ');
     Readln;
     if SetFullScreen
      then Writeln('Mode plein ecran');
     Readln;
     
    Application.Initialize;
    Application.CreateForm(TForm1,Form1);
    Application.CreateForm(TForm2,Form2);
    Application.Run;
    end.
    Form principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    unit MenuGeneral;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ShellAPI, pngimage, jpeg, ExtCtrls, SousMenuOption, mmsystem;
     
    type
      TForm1 = class(TForm)
        Image1: TImage;
        Image2: TImage;
        Image3: TImage;
        Image4: TImage;
        Image5: TImage;
        Image6: TImage;
        Image7: TImage;
        procedure Image5Click(Sender: TObject);
        procedure Image4Click(Sender: TObject);
        procedure Image2Click(Sender: TObject);
        procedure Image6Click(Sender: TObject);
        procedure Image7Click(Sender: TObject);
        procedure Image3Click(Sender: TObject);
        procedure Image1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Image1Click(Sender: TObject);
    begin
     if not(PlaySound('C:\Users\Desktop\wav\One Big Rush.wav', handle,SND_ASYNC)) then
         showmessage('Il y a un problème ! Peux être le chemin indiqué n''est pas bon...');
    end;
     
    procedure TForm1.Image2Click(Sender: TObject);
    begin
    //mettre le lien vers le site
    ShellExecute(handle, 'Open', 'http://...', '', '', SW_SHOWNORMAL);
    end;
     
    procedure TForm1.Image3Click(Sender: TObject);
    begin
    with form2 do
      begin
        Show;
      end;
    end;
     
    procedure TForm1.Image4Click(Sender: TObject);
    begin
    Application.Terminate;
    end;
     
    procedure TForm1.Image5Click(Sender: TObject);
    begin
    //changer le skin de la fenêtre
    ShowMessage('');
    end;
     
    procedure TForm1.Image6Click(Sender: TObject);
    begin
    //pour lancer le jeu
    ShellExecute(Handle,'open',PChar('C:\...'),nil,nil,SW_SHOW)
    end;
     
    procedure TForm1.Image7Click(Sender: TObject);
    begin
    //pour lancer la video
    ShellExecute(Handle,'open',PChar('C:\...'),nil,nil,SW_SHOW)
    end;
     
    end.
    Form secondaire (Il n'y a que l'image dedans mais ej le met quand même on ne sait jamais) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    unit SousMenuOption;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ShellAPI, jpeg, ExtCtrls;
     
    type
      TForm2 = class(TForm)
        Image1: TImage;
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.dfm}
     
    end.

    J'ai d'autres soucis concernant le son mais si déjà j'arrive à corriger ça...

    PS: si ce n'est pas dans le bon sous forum, désolé =x

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Salut,

    juste pour etre sur.

    si tu n'as que un Timage dans ta form, la tu mis en Align = alClient ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Non, elle est en alNone.
    C'est censé changer quelque chose ? car je les ai tous fait ça change rien du tout

  4. #4
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par Yyukk Voir le message
    Non, elle est en alNone.
    C'est censé changer quelque chose ? car je les ai tous fait ça change rien du tout
    si Mets les prorpiété de ton Timage
    Align = alclient
    et
    Strech = True

    cela devrait suffire non ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Oui apparemment ça règle le problème de l'agrandissement via l'icone de la barre de tâche. Merci, ça règle au moins un des problèmes qui en engendre d'autres d'ailleurs mais je verais ça après avoir trouver comment mettre en plein écran !

  6. #6
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par Yyukk Voir le message
    Oui apparemment ça règle le problème de l'agrandissement via l'icone de la barre de tâche. Merci, ça règle au moins un des problèmes qui en engendre d'autres d'ailleurs mais je verais ça après avoir trouver comment mettre en plein écran !
    Si ce n''est pas pour le mode consol

    tu peux mettre cela dans ton Create de ta form

    Form1.BorderStyle := bsNone;
    Form1.WindowState := wsMaximized;

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Ok, mais le fait de le faire dans la console ça ne permet pas d'ouvrir tout en mode plein écran ? car là si je clique sur mon bouton option, ça m'ouvre la seconde fenetre à part sans être en plein écran.
    Enfin je peux toujours config toutes les formes avec ce que tu m'as dit.

    Merci encore

Discussions similaires

  1. Fenetre plein ecran
    Par skywaltitou dans le forum MFC
    Réponses: 7
    Dernier message: 28/03/2007, 12h06
  2. Afficher une fenetre par dessus un affichage plein ecran
    Par Elendhil dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/10/2006, 22h52
  3. Juste pour savoir ( ouvrir fenetre en plein ecran )
    Par Alexlesilex dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 07/06/2006, 17h38
  4. Ouverture nouvelle fenetre en plein ecran
    Par hedgehog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2005, 14h53
  5. [Tkinter] Démarrer une fenetre en plein écran
    Par Kyti dans le forum Tkinter
    Réponses: 1
    Dernier message: 20/04/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo