[MFC] [resolu] virer la toolbar

virer la toolbar [MFC] [resolu] - C++ - Programmation

Marsh Posté le 15-05-2003 à 08:27:04    

J'ai une application MFC pour PocketPC et je voudrais bien virer ou disabler la toolbar, ou du moins les icones "nouveau", "enregistrer" et "ouvrir".
 
Est ce que quelqu'un sait comment on peut faire ca?
Merci


Message édité par polo021 le 15-05-2003 à 13:10:00
Reply

Marsh Posté le 15-05-2003 à 08:27:04   

Reply

Marsh Posté le 15-05-2003 à 09:50:42    

polo021 a écrit :

J'ai une application MFC pour PocketPC et je voudrais bien virer ou disabler la toolbar, ou du moins les icones "nouveau", "enregistrer" et "ouvrir".
 
Est ce que quelqu'un sait comment on peut faire ca?
Merci


 
comme ca, a la sauvage, je dirais ke tu cherches CToolBar dans ton code et tu supprimes tout ce qui est concerné (pour la toolbar que tu veux supprimer en tout cas). ca marchera si t'oublies rien, sinon ca pourra planter.
 
ou alors, plus simple mais moins bien bien, tu cherches le nom du control CToolBar (du genre 'm_wndToolBar';) et tu fais m_wndToolBar.ShowWindow(SW_HIDE);

Reply

Marsh Posté le 15-05-2003 à 10:39:14    

ben alors j'ai essaye ca :
 

Code :
  1. CToolBarCtrl toolbar;
  2. c.HideButton(ID_FILE_NEW,true);
  3. ou
  4. c.DeleteButton(0);


mais ca ne fonctionne pas, je suppose que c'est parce que je n'initialise pas toolbar mais je ne sais pas comment faire
 
et j'ai aussi essaye ca

Code :
  1. if (pMain != NULL)
  2. {
  3.    // Get the main window menu
  4.    CMenu* pMenu = pMain->GetMenu();
  5.    // If there is a menu and it has items, we will
  6.    // delete the first one.
  7.    if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
  8.    {
  9.     //  pMenu->DeleteMenu(0, MF_BYPOSITION); ceci fonctionne
  10.       pMenu->DeleteMenu(ID_EDIT_CUT,MF_BYCOMMAND); ceci ne fonctionne pas
  11.   }
  12.   }


 
et je n'ai pas trouve d'info sur le truc 'm_wndToolBar'.
 
Est ce qu'avec ce que je t'ai dit tu peux m'aider?, ou quelqu'un d'autre?


Message édité par polo021 le 15-05-2003 à 10:39:58
Reply

Marsh Posté le 15-05-2003 à 12:18:24    

euh...tu veux faire quoi exactement ? virer la toolbar, ou en plus virer des choix dans les menus ?
 
pour virer la toolbar, regardes dans la classe de la fenetre contenant la toolbar, cherche un membre du type CToolBar ou CToolBarCtrl, et a la fin de ton InitDialog, tu fais un "LeNomDeLaToolBar.ShowWindow(SW_HIDE);"
 
tu peux aussi voir dans le resource editor le nom de la toolbar, puis tu fais une recherche ds ton projet sur ce nom pour trouver la ou cette toolbar est créée.

Reply

Marsh Posté le 15-05-2003 à 12:21:07    

Ce que Konar veut dire, c'est que tu dois supprimer dans ton code tout ce qui concerne CToolBar & co.
Ca inclut donc la classe CToolBar, ses éventuels enfants, tous les appels à ses méthodes et variables membres, etc...
 
Quant au m_wndToolbar, c'est une variable membre de type ToolBar qui représente ta ToolBar. Si elle n'est pas créé, tu la créé via le ClassWizard, et dans la fonction d'init de ta MainFrame, tu codes m_wndToolBar.ShowWindow(SW_HIDE).
N'oublie pas que CToolBar est une fenêtre, comme tous les controles, et donc hérite de CWnd
 
edit: grilled :(


Message édité par Harkonnen le 15-05-2003 à 12:21:41

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2003 à 13:07:39    

ouaip ca fonctionne
j'ai commente ca

Code :
  1. /* if (!InsertButtons(tbButtons, nNumButtons, IDR_MAINFRAME, nNumImages) ||
  2.   !AddAdornments(dwAdornmentFlags))
  3. {
  4.  TRACE0("Failed to add toolbar buttons\n" );
  5.  return -1;
  6. }
  7. */


mais j'ai laisse tout les autres trucs qui concernaient IDR_MAINFRAME.
 
Donc je n'ai plus les icones "nouveau, ouvrir, enregister, copier, coller,..." ca c'est ce que je voulais
mais je n'ai plus non plus les menus "file, help,..." mais ca ne me gene pas donc mon probleme est solutionne.
Merci :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed