Avatar billede delphin Nybegynder
12. juli 2002 - 14:10 Der er 13 kommentarer og
1 løsning

Tabbednotebook

Hvordan sætte man et enkelt faneblad i tabbednotebook "ikke aktiv" -

tabbednotebook1.Enabled:=false;

sætter jo hele tabbednotebook "ikke aktiv"?
Avatar billede assassin Juniormester
12. juli 2002 - 15:55 #1
Et bud:

Tabbednotebook1.NavnpåFaneblad.Enabled := false;

Hvorfor bruger du ikke TPageControl istedet ?
Avatar billede delphin Nybegynder
12. juli 2002 - 20:49 #2
Jo, det kan jeg også, men jeg har stadig problemet fordi fx:

pagecontrol1.Pages[1].Enabled:=false;

laver bare alt PÅ fanebladet inaktiv, men jeg ville gerne have, at selve fanebladet blev inaktiv (altså så man ikke kan trykke på det og så teksten på fanebladet bliver grå - ligesom fx en inaktiv button).
Avatar billede dkn Nybegynder
12. juli 2002 - 21:05 #3
hvis du vil det kan du vel gøre sådan her:

//Disable
procedure TForm1.Button1Click(Sender: TObject);
var i :integer;
begin
for I := 0 to pagecontrol1.Pages[0].ControlCount-1 do
pagecontrol1.Pages[0].Controls[I].Enabled := false;
end;

//Enable
procedure TForm1.Button2Click(Sender: TObject);
var i :integer;
begin
for I := 0 to pagecontrol1.Pages[0].ControlCount-1 do
pagecontrol1.Pages[0].Controls[I].Enabled := true;
end;
Avatar billede delphin Nybegynder
12. juli 2002 - 21:37 #4
Jeg beklager, men jeg kan simpelthen ikke få det til at virke...

Såvidt jeg kan se, er din metode den samme som min, bortset fra at du sætter alle objekterne på pagecontrol1 side 1 til disabled.

Men det ændrer jo ikke ved, at jeg stadig kan klikke på fanebladet og se alt på dette (det er jo ikke sat inaktiv - og teksten er stadig almindelig).
Avatar billede dkn Nybegynder
12. juli 2002 - 22:45 #5
nåe syntes du sagde at du vil have at taben skulle være aktiv men alt på den skulle være disablet. Jeg misforstod dig
Avatar billede hermandsen Juniormester
13. juli 2002 - 20:51 #6
Slå OwnerDraw til, og skriv din kode til OnDrawTab.

Så må du selv holde styr på hvornår du har enable't en tab... Lav evt. en ny komponent! ;)
Avatar billede delphin Nybegynder
14. juli 2002 - 20:07 #7
Hvad skal jeg skrive til OnDrawTab for at få en tab "enable"?
Avatar billede hermandsen Juniormester
14. juli 2002 - 20:20 #8
Prøv lige at forklare mig 100% hvad det er du vil... Jeg forstår det sådan at du vil vise brugeren at tabben er disablet!? Men det kan jo være jeg tager fejl...
Avatar billede hermandsen Juniormester
14. juli 2002 - 20:24 #9
Mit forslag gik ud på at tegne på tabben, så den så disablet ud... Dette gøres nemlig med OnDrawTab...
Avatar billede delphin Nybegynder
15. juli 2002 - 10:29 #10
Jo, du forstå det rigtigt nok...

Jeg kan bare ikke finde ud af, hvad jeg skal skrive i OnDrawTab for at der ser ud til at tabben er disablet.
Avatar billede hermandsen Juniormester
15. juli 2002 - 10:32 #11
Gi' mig lige 10 minutter... Skal først lige vågne... Når det så er gjort skal Delphi startes og så skal hjernen sættes i gang... I'll be back with some code! ;)
Avatar billede hermandsen Juniormester
15. juli 2002 - 11:07 #12
GAAAAB..... Nå, jeg var åbenbart lidt mere træt end jeg lige forudså! :)

Nå, men her er da noget:

procedure TForm1.FormCreate(Sender: TObject);
begin
  PageControl1.OwnerDraw := True;
end;

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  S: String;
begin
  S := 'Dette er tab nr. ' + IntToStr(TabIndex);

  with Control.Canvas do
  begin
    Brush.Style := bsClear;
    Font.Color := $DFDFDF;
    PageControl1.Pages[TabIndex].Caption := S;
    TextOut(Rect.Left+5, Rect.Top+4, S);
    Font.Color := $7F7F7F;
    TextOut(Rect.Left+4, Rect.Top+3, S);
  end;
end;

//hermandsen
Avatar billede delphin Nybegynder
15. juli 2002 - 12:48 #13
Mange tak...
Avatar billede hermandsen Juniormester
15. juli 2002 - 13:03 #14
Velbekomme... Takker for point! ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester