un debut de mon application tire des renseignements de la FAQ ce que j'ai reussi a faire d'apres les renseignements recueillis et mes propres recherches
il faut une forme et un bouton
dans form.cpp
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
 
 
#include <vcl.h>
#pragma hdrstop
#include "save_resol.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        // on rend invisible la barre de tache
HWND wd = FindWindow("Shell_TrayWnd", NULL);
ShowWindow(wd, 0);
        // acquisition resolution
Width = Screen->Width;
Height = Screen->Height;
        // on sauve la resolution
save_reso_width = Width;
save_reso_height = Height;
        // on teste la resolution
        // si elle est differente de 800*600
        // alors on change la resolution
if(Width != 800 && Height != 600)
{
TDeviceMode *Dev = new TDeviceMode;
EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, Dev);
Dev->dmPelsWidth = 800;
Dev->dmPelsHeight = 600;
Dev->dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
bool result = (ChangeDisplaySettings(Dev, CDS_RESET) == DISP_CHANGE_SUCCESSFUL);
delete Dev;
        // result n'est pas utilise pour l'instant
        //return result;
}
// on positionne la forme en haut a gauche
HWND hwnd = GetForegroundWindow();
        //MoveWindow(hwnd, 0, 0, 800, 600, 1);
SetWindowPos(hwnd, HWND_TOP, 0, 0, 800, 600, SWP_DRAWFRAME);
        // on efface la barre de titre ainsi que
        // minimise, resize, et croix fermeture
        // la barre de titre doit etre effacee apres le
        // positionnement sinon la fonction SetWindowPos
        // est sans effet quand au positionnement en
        // haut a gauche
Form1->BorderStyle = bsNone;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        // on teste la resolution
        // si elle est differente de la sauvegarde
        // alors on change la resolution
Width = Screen->Width;
Height = Screen->Height;
if(Width != save_reso_width && Height != save_reso_height)
{
TDeviceMode *Dev = new TDeviceMode;
EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, Dev);
Dev->dmPelsWidth = save_reso_width;
Dev->dmPelsHeight = save_reso_height;
Dev->dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
bool result = (ChangeDisplaySettings(Dev, CDS_RESET) == DISP_CHANGE_SUCCESSFUL);
delete Dev;
        // result n'est pas utilise pour l'instant
        //return result;
}
        // on rend visible la barre de tache
HWND wd = FindWindow("Shell_TrayWnd", NULL);
ShowWindow(wd, 8);
        // on termine le programme
Application->Terminate();
}
dans form.h
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
 
 
#ifndef save_resolH
#define save_resolH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public:  // User declarations
int save_reso_width;
int save_reso_height;
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
je remercie tous les intervenants c'est grace a eux si je progresse