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 :
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 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 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
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.
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
Partager