salut les amis
j'ai encore une question
est ce que c'est possible d'assigner ou mettre une image ou une icone à un tmainmenu ainsi qu'à ces items
merci
salut les amis
j'ai encore une question
est ce que c'est possible d'assigner ou mettre une image ou une icone à un tmainmenu ainsi qu'à ces items
merci
Bien sur c'est possible, tu peut proposé un bmp, dans la propriété Bitmap de chaque items, ou alors associé un TImageList à ton TMainMenu, ou tu entre toute les icones voulu, et tu spécifie le numero de l'image voulu dans chaque Item avec la propriété ImageIndex
ok,merci
je vais voir et je n'oublirai passi c'est le cas
cordialement
Salut!
Je ne sais pas si c'est possible d'assigner une image à TMainMenu de toute facon ca ne sert à rien de le faire.
par contre c'est possible d'assigner des images aux differents Items et seulement des images Bitmap, et c'est simple par l'inspecteur d'object.
pour ce faire.
Tu selectionnes un Item
Dans l'inspecteur d'Object tu selectionne la propriété Bitmap de ton Item et tu charge l'image - tu peux même y mettre ta photo.
c'est une méthode simple.
salut et merci
ce que je veux faire c'est assigné l'image avec du code et non pas avec l'inspecteur d'objets
merci encore
Essais ceci
par exemple ton image BMP est ima01.bmp situé dans le disque C
Tu as un Menu appelé Quitter
dans l'evenement boutton clic ou OnCreate de ta form tu peux mettre ce code pour essauyer.
j'ai pris dans l'aide de c++ et modifié, mais je crois que ca va marcher
Code C++ : 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 //--------------------------------------------------- Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); try { Bitmap1->LoadFromFile("C:\\ima01.bmp"); Form1->Quitter->Bitmap->Assign(Bitmap1); Form1->Quitter->Bitmap->Dormant(); Form1->Quitter->Bitmap->FreeImage(); . Canvas->Draw(20,20,Form1->Quitter1->Bitmap); } catch (...) { } delete Bitmap1; //-----------------------------------------------
salut
j'ai mis ton code dans un buttonclick,mais ça ne marche pas(il ne se passe rien),et quand je clique une 2éme fois sur le boutton j'ai une erreur
je vais encore essayer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); try { Bitmap1->LoadFromFile("image.bmp"); Form1->Quitter->Bitmap->Assign(Bitmap1); Form1->Quitter->Bitmap->Dormant(); Form1->Quitter->Bitmap->FreeImage(); . Canvas->Draw(20,20,Form1->Quitter->Bitmap); } catch (...) { } delete Bitmap1;
merci quand même
Désolé je n'etais plus connecté et j'ai pas pu te repondre à temps
voici mon code d'essai et declarations générées automatiquement:
Dans le fichier Unit1.h
Code C++ : 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 #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <Menus.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TMainMenu *MainMenu1; TButton *Button1; TMenuItem *Fichier1; TMenuItem *Fermer1; TMenuItem *Quitter1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif //******************************
Dans le fiuchier Unit1.cpp
Code C++ : 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 //------------------------------------------ #include <vcl.h> #pragma hdrstop #include "Unit1.h" //------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap(); try { Bitmap1->LoadFromFile("C:\\ima01.bmp"); Form1->Quitter1->Bitmap->Assign(Bitmap1); // Copy Bitmap1 into Bitmap2 Form1->Quitter1->Bitmap->Dormant(); // Free up GDI resources Form1->Quitter1->Bitmap->FreeImage(); // Free up Memory. } catch (...) { // MessageBeep(0); } delete Bitmap1; }
Dans ton projet:
1- Tu dois avoir un Tform nomé Form1 si non tu modifie le code
2 sur Form1 tu dois deposer un TMainMenu
3- Un Item de TmainMenu doit avoir le nom Quitter si non tu change quitter par le nom de ton Item
4- tu dois enregistrer une image bitmap nomée ima01.bmp placée dans le disque C si non tu change le chemin de l'image dans le code.
5- tu dois deposer un Tbutton nomé button1 sur Form1 et dans son evenement OnClic comme tu l'as fait, remet le code pour voi
j'utilise BCB 6 Etprise et j'ai essayé ce code, (Mon bitmap ima01 pèse 908 Ko) et ca marche bien.
Dans ton code rassures toi que image.bmp existe et qu'elle est situé dans le même repertoire que l'executable
Ressayes pour voir
Bon courage!!!
René
salutEnvoyé par renesouley
ça marche bien ,"il ne faut pas oublier de mettre la propriété OwnerDraw du MainMenu à "true"
merci beaucoup
mon probléme maintenant c'est comment dimentionner mon image a fin qu'elle soit lisible,car elle s'affiche mais elle est trés petite.
merci
Partager