PageControl & TabSheet

Signaler
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007
-
 PoulpHunter -
Bonsoir tout le monde,
J'aurais voulue savoir ci il y a une option pour fermer un TabSheet qui est dans un PageControl ?
Merci d'avance.


Mon Site Web : http://Www.BenXbox.Fr.sT

29 réponses

Messages postés
96
Date d'inscription
jeudi 1 avril 2004
Statut
Membre
Dernière intervention
22 mai 2008
1
Le fermer je sais pas, mais tu peux le rendre invisible.
Voilà un exemple de code qui utilise un popupmenu :

procedure TForm1.Fermer1Click(Sender: TObject);
var
page:integer;
begin
page:=pc.ActivePageIndex; // Tu cherche l'index de l'onglet qui est actif
pc.Pages[page].TabVisible:=false; // tu le rend invisible
end;

pc est le nom que j'ai donné pagecontrol et fermer le nom de l'item de mon popupmenu

La puce
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

A d'accord, mais enfaîte donc c'est pour rendre un TabSheet invisible quant le logiciel tourne, parce que enfaîte c'est un genre d'explorateur Internet, et il faut que je puisse fermer les TabSheet.
Merci.


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
euh bah rien de plus simple ben ! je suis meme sur que tu connais =) c'est l'inverse de "create" et donc "destroy" !!!

exemples détruisant la 2eme page :

TabSheet2.Destroy;

ou

PageControl1.Pages[1].Destroy;


bye !
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Non mais c'est quant le logiciel et démmarer.


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
qui a dit le contraire ? je viens de te donner 2 choix de ligne de code
a mettre pendant l'execution de ton prog ! tu n'as meme pas testé et tu
me dis deja que ce n'est pas ça ?

si tu connais deja la réponse, ne pose pas la question !
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Mais le numéro de la TabSheet je ne la connais pas !
Sa dépend de ce que fais le mec quant il navigue avec l'explorateur Internet.
Tu comprends mieux ?


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
mais bien sur que tu connais le TabSheet en cours !

tu peux recup un integer avec PageControl.TabIndex ou le nom du TabSheet avec PageControl.ActivePage
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Je voie pas du tout comment tu veut que je face sa. :(

Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
bon je viens de te faire une demo juste pour toi en 1heure, voila le resultat :

http://diabloporc.free.fr/delphi/demos/ie.zip

voila le screen :

http://diabloporc.free.fr/delphi/demos/ie.jpg

j'espere que ça va t'aider !!
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Bas merci, prendre une heure de son temp pour moi c'est trop sympa, merci beaucoup. :)

Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Merci beaucoup, par contre c'est quoi la déclaration de "pc" ?


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
Regarde au moins dans le haut du .pas !

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

newonglet: TMenuItem;

closeonglet: TMenuItem;

Panel1: TPanel;

e_url: TEdit;

Label1: TLabel;

bt_ok: TBitBtn;

sb: TStatusBar;

pc: TPageControl;

PopupMenu1: TPopupMenu;

menu1: TMenuItem;

ActionList1: TActionList;

act_closeonglet: TAction;

act_newonglet: TAction;

Nouvelonglet1: TMenuItem;

act_gourl: TAction;

procedure pcContextPopup(Sender: TObject; MousePos: TPoint;

var Handled: Boolean);

procedure act_newongletExecute(Sender: TObject);

procedure act_closeongletExecute(Sender: TObject);

procedure act_gourlExecute(Sender: TObject);

procedure e_urlKeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

A ok merci, sinon j'ai reussie à mettre ton code en place, mais je me demander pour des buttons comme actuliser - page precendente et page suivante sa peut pas marcher.


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
bah si ! et meme que c'est le WebBrowser qui gere ça tout seul !

~.Refresh;

~.GoBack;

etc, je te laisse chercher ou je termine ton project en 2h avec gest

yion IE + Mozilla au choix sous le clic droit ?

ps : ya un clic droit ki se fait sur les onglets et que sur les onglets =) pk pas gerer un double clic pour fermer !
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Oui mais quant je mais WebBrowser1.GoBack; ou autres sa marche que pour la premiere fennetre.
Sinon j'ai pas compris ce que tu ma dit a la fin.


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
et mon edit avec l'adresse ? il ne marche que pour le premier ? non !
il marche pour tous ! regarde comment j'ai fait pour gerer ça et fait
idem.

pour les onglets je disais que :

ça pourrait etre une bonne idée de gerer un double clic sur un onglet = fermeture onglet !

je crois que je vais me le finir ce projet ... melanger du IE avec du
Mozilla, comme ça les deux sont gérés, et pis anti-popup etc
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

A et comment on fais pour faire deux clique pour fermer un onglet ou une petite croix ?

Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

C'est bon j'ai reussie pour les buttons page precedente, actualiser, et suivante.
Mais pour sa j'ai pas reussie :
procedure TForm1.WebBrowser1CommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);
begin
if Command = CSC_NAVIGATEBACK then Button2.Enabled := Enable;
if Command = CSC_NAVIGATEFORWARD then Button4.Enabled := Enable;
end;


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
hahahah toi tu manges de la bouillie nan ? tu veux tu tout maché ! pas
envie de chercher ? d'apprendre ? une petite croix c simple, c'est deja
fait !!! mais moi j'ai mis "Fermer l'onglet en cours", a toi de "poser
un bouton" et mettre "act_closeonglet" dans la propriété "action' de ce
bouton. puis tu mets une belle crois sur le bouton =)

si tu veux une croix au meme endroit que dans firefox, a toi de retoucher le composant TPageControl.

Pour la gestion du double click, detecte comme moi a kelle endroit est
la souris (maxi 20 en Y pour mousepos) puis ds l'event "OnDblClick" tu
fais un "act_closeonglet.execute"
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
bah deja :

Bouton2 et Bouton4 ça m'avance a quoi ? ils sont meme pas nommés ! c un minimum ...

et puis "Enabled := Enable;" ... désolé mais tu devrais apprendre le delphi avant de te lancer dans ce projet car le résultat attendu est un Boolean (true ou false)

et au lieu de me dire "ça marche pas" dit moi plutot "quand je fais ça,
j'ai un erreur ici" "quand je clic la "ça ne bouge pas alors que ... "
etc