Icone - Ressource

frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007 - 30 janv. 2005 à 12:42
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 30 janv. 2005 à 22:42
J'utilise le code de delphicool pour afficher un icone d'un fichier res sur la form :

procedure TForm1.Button9Click(Sender: TObject);
 var
  Icone: TIcon;
  begin
    Icone := TIcon.Create;
    Icone.Handle := LoadIcon(HInstance, 'MONICON');
    Icon := Icone;
    Image1.Picture.Icon := Icon;
    Icone.free;
end;


Sauf qu'en appuyant sur ce bouton j'aimerais que l'icone remplace l'icone du exe du project
Donc je supprime
Image1.Picture.Icon := Icon;


Mais comment faire pour que l'icone s'affiche sur l'exe du project en remplacant l'ancien ??

10 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
30 janv. 2005 à 14:17
Application.Icon := Image1.Picture.Icon;


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
30 janv. 2005 à 14:26
Attention, quand tu écris :
Icon := Icone;
et qu'ensuite tu détruis Icone, alors la propriété Icon de ta fiche pointe dans le vide...
(idem pour Image1.Picture.Icon := Icon;)

Au lieu d'affecter directement, utilisation la méthode Assign qui réalise une copie :
procedure TForm1.ChangeIcon;
var
  Icone: TIcon;
begin
  Icone := TIcon.Create;
  try
    Icone.Handle := LoadIcon(HInstance, 'ICON3');
    //Remplace l'icone de l'application dans la barre des t&#226;ches
    Application.Icon.Assign(Icone);
    Icone.handle := LoadIcon(HInstance, 'ICON2');
    //Remplacer l'icone de la fiche
    Icon.Assign(Icone);
  finally
    Icone.Free;
  end;
end;

Comme tu l'as surement remarqué, c'est la propriété Icon de l'objet Application qu'il faut affecter et non Icon simplement qui n'agit que sur la fiche où ton code figure.

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
30 janv. 2005 à 14:27
Bien vu DelphiProg


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007
30 janv. 2005 à 15:40
Je ne comprend pas trop car le code ci dessus change bien l'icone dans la barre des taches mais sa ne change pas l'icone du exe du project
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
30 janv. 2005 à 16:50
Ce que l'on te propose fait le changement en cours d'exécution, mais ne conserve pas ce changement à la fin du processus...


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007
30 janv. 2005 à 17:26
Mais alors comment etablir un code qui permet de changer l'icone de l'exe du project pour une indefinite ?

J'ai 2 boutons et 2 icones ds une ressource, j'aimerais pouvoir les loader simplement et pouvoir garder l'icone loader pdt tt le temps
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
30 janv. 2005 à 19:36
Où veux-tu en venir ?
Si c'est pour changer l'icone de manière permanente alors autant le faire à la conception (voir Projets/Options/Application) et point final.

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
0
frayst Messages postés 31 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 juin 2007
30 janv. 2005 à 20:04
Non justement car dans Projets/Options/Application/icone
on ne px rien mettre, c comme si la fenetre est creer en c++ avec les api : J'aimerais pouvoir remplacer l'icone en appuyant sur un des 2 boutons (icone dans ressource). C'est a dire un choix d'icone et pouvoir les loader ...

J'espere que vous me comprenez !
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
30 janv. 2005 à 21:07
Comment ça on ne peut rien mettre ???? C'est pas normal...


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
30 janv. 2005 à 22:42
Quelle version de Delphi utilises-tu ?
De Delphi 1 à Delphi 8, c'est la même démarche : dans Projets/Options/Application il y a un bouton intitulé "Charger icone" sur lequel il suffit de cliquer.

Après vérification, il s'avère que si l'on supprime la ligne {$R *.res} dans le fichier du projet, alors effectivement, l'icone et le bouton sont inactifs (entre autres).
Tu n'aurais pas, par mégarde, supprimé cette ligne ?

NB : la prochaine fois, soit plus clair quand tu poses une question

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
0