Texture en fond de form depuis un fichier res [Résolu]

Signaler
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
-
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
-
Bonjour à tous,
Je voudrais mettre des textures sur mes Forms, pour améliorer la présentation.
J'ai une méthode qui fonctionne bien pour la fenêtre principale, mais pas pour les autres.
Pour la fenêtre principale (la première de l'application), je définis pour FormCreate:
var
  Fprincipal: TFprincipal;
  fond : Tbitmap; { variable qui acceuilleras le bitmap }

implementation
uses
.........

procedure TFprincipal.FormCreate(Sender: TObject);
begin
  fond := Tbitmap.Create; { on créer un bitmap }
  fond.LoadFromResourceName(hinstance,'FDGRF1');  { On charge le Bitmap de la ressource fichier.res}
  Fprincipal.Brush.Bitmap := fond; { on paint le form }
end;
Celà fonctionne parfaitement et j'ai bien une texture en fond de Form.
Maintenant, je lance une fenêtre secondaire depuis la fenêtre principale (avec un menu) :
procedure TFprincipal.Windows2Click(Sender: TObject);
var
  F_secondaire: TFsecondaire;
begin
  F_secondaire := TFsecondaire.Create(Self);
  try
    F_secondaire.ShowModal;
  finally
    F_secondaire.Free;
  end;
end;
J'applique à cette fenêtre le même principe que la fenêtre principale :
var
  Fsecondaire: TFsecondaire;
  fond2 : Tbitmap; { variable qui acceuilleras le bitmap }

implementation
uses
.........

procedure TFsecondaire.FormCreate(Sender: TObject);
begin
  fond2 := Tbitmap.Create;
  fond2.LoadFromResourceName(hinstance,'FDGRF1');
  Fcomptamensuelle.Brush.Bitmap := fond2;
end;
Et là, rien ne se passe....pas de texture de fond.
A noter que la deuxième fenêtre est en modal, mais ça ne devrait pas influer.
le fichier ressource est déclarer comme {$R fichier.res} dans la fiche principale.
A noter que je n'est aucun retour d'erreur...
Si bonnes idées, merci d'avance....

4 réponses

Messages postés
3824
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 décembre 2020
37
Salut,

remplace :
  Fcomptamensuelle.Brush.Bitmap := fond2;
par
  Brush.Bitmap := fond2;
 
@+
Cirec

<hr siz="" />
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

Salut,
Ca fonctionne nickel...........
Si j'ai bien compris, la fenêtre secondaire en modal m'autorise à ne pas inscrire son nom
dans les diverses manip.....
Merci
A+
Messages postés
3824
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 décembre 2020
37
non il n'y a aucun rapport entre les deux !!!

l'erreur vient de toi :

tu déclares la deuxième fiche comme "F_Secondaire"
et tu assignes un Bitmap à "FComptaMensuelle" !!!!!!

Normalement si tu fais :
  F_Secondaire.Brush.Bitmap := Fond2;
ça devrait aussi fonctionner

 
@+
Cirec

<hr siz="" />
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

Comme quoi on peut relire son code 100 fois, de temps en temps il faut des yeux neufs.......
Merci