Autor Beitrag
winprog
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 28.08.07 14:47 
hi,

ich möchte gerne die verschiedenen Tabs einer PageControl mithilfe eines rechtsklicks schließen lassen, finde aber keien funktion, die das irgendwie bewerkstelligt.


bitte helft mir!!!!

PS: Ich bin an sich noch Delphi-Anfänger bzw. kein profi (irgendwas dazwischen)
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Di 28.08.07 16:37 
Hallo und Willkommen hier im DF :welcome:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.PageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 i:Integer;
begin
  i:=PageControl1.ActivePageIndex;
  if PageControl1.IndexOfTabAt(x,y)=(i)
  then
  if ssRight in Shift then
  PageControl1.Pages[i].Free;
end;

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Critter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: Di 28.08.07 17:22 
Hallo,

möchtest du sie wirklich schließen oder nur die Tabs unsichtbar machen?
Sind die Inhalte aller Seiten gleich? Dann währe wahrscheinlich eine TabControl vor zu ziehen.

Vielleicht können wir dir noch ein paar nützliche Tips geben wenn du ein wenig genauer beschreibst was du machen möchtest.

Critter
winprog Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 28.08.07 18:09 
naja, wie gesagt, ich bin noch anfänger und wollte mal nen internetexplorer programmieren (oder n grundgerüst).
Dieser Internetexplorer sollte mit verschiedenen Tabs arbeiten. Dafür benutze ich den/die/das PageControl.
Auf die Idee mit den mehreren Tabs bin ich gekommen, da ich ein solches Programm mal im netz heruntergeladen habe.
Ich wollts dann einfach auch mal probieren.
Ich hab dann mit dem Programm "RessourceHacker" mir mal das Programm angeschaut (es war mit Delphi7 programmiert, und bei delphi-exen kann man sich noch anschauen, was da wo und wie groß und an welcher stelle verwendet wurde).
Ich habs rausgefunden und mich an dei Arbeit gemacht.
Da ich nich weiß, wie man nun mit EINEM "WebBrowser" verschiedene Tabs bedienen sollte, hab ichs mir einfach (und damit unkomfortabel) gemacht:
Ich hab die webbrowser1.LokationURL als Tab-Überschrift genommen und dann, wenn ich wieder zu diesem Tab gewechselt habe, hab ich folgendes gemacht:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
  webbrowser1.Navigate(pagecontrol1.ActivePage.Caption);
end;


Das ruft natürlich neue Wartezeiten beim Tab-wechsel auf......... :cry: :(

So.
bei dem internetbrowser, den ich mir als inspiration geholt hab, konnte man die tabs nicht schließen und da hab ich mir gedacht, dass das ja evtl. ganz nett wäre.

nach meiner beschreibung werdet Ihr (ich darf doch duzen????????) euch wahrscheinlich die hand vor die stirn haun, aber ich hab nur eins zu meiner verteidigung zu sagen: ich kenn mich noch nich so gut mit delphi aus (na gut, programme für den normalen schulalltag bekomm ich schon ganz gut hin).

Ich hoffe, ihr könnt mir helfen und mir den neuen/überarbeiteten Quelltext auch gangbar machen, damit ich (zumindest einigermaßen) verstehe, was ich da abtippe/kopiere.

Im anhang noch mein explorer zum reinschaun und die *.pas-datei



PS: Auf der Homepage von mir und nem freund findet ihr nochmehr programme von uns ( lisasoft.kohop.de )

Moderiert von user profile iconmatze: Delphi-Tags hinzugefügt
Einloggen, um Attachments anzusehen!
winprog Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 28.08.07 18:28 
noch als nachtrag:

Danke für den Quellcode, Blackheart666 funktioniert echt super.

aber ich hoffe, dass ihr mir noch verbesserungsvorschläge an meinem webbrowser geben könnt