Det jeg egentlig forsøger er, at oprette, på en pagecontrol, et faneblad med en SynEdit. Jeg har fået klaret det med at oprette faneblad dynamisk, men mangler den del med OnChange. Det jeg har lavet ser sådan ud: procedure TForm1.New1Click(Sender: TObject); Var SynEdit1 : TSynEdit; begin ATabSheet := TTabSheet.Create(PageControl1); with ATabSheet do begin PageControl := PageControl1; Caption := 'Untitled'+IntToStr(count); inc(count); ImageIndex := 0; end; PageControl1.ActivePage := ATabSheet; SynEdit1 := TSynEdit.Create(ATabSheet); SynEdit1.Parent := ATabSheet; SynEdit1.Align := alClient; end;
Jeg kunne godt tænke mig at ændre ikonet på TabSheet når det aktive TabSheet med den tilhørende SynEdit ændre sig. Jeg har gjort dette her med succes, men kunne godt tænke mig at vide om det er den "rigtige" måde at gøre det på.
En anden lille ting. Hvis man nu laver 5 fanebladet med en SynEdit på hver, hvordan finder man ud af om der er lavet en ændring på SynEdit? Jeg tænker på at man skal blive spurgt om man vil gemme indhold hvis der er blevet ændret noget i SynEdit på det aktive faneblad?
OnChange på TPageControl kunne du bruge til at sætte ImageIndex Der findes en Modified værdi du kan checke for at se om der er foretaget ændringer. Dvs.
Det kan du tro at jeg vil. :) Men vil gerne lige forstå hvordan dt hænger sammen. Jeg vil bruge en popmenu på fanebladet, (det har jeg fundet ud af), men på den vil jeg så gerne have fat i det faneblad som jeg vil lukke. Skal man så først finde det aktive faneblad og når man så har gjort det, finde ud af om SynEdit er ændret?
Ja, finde det aktive faneblad, brug PageControl.ActivePage, og check så SynEditens Modified verdi.
Synes godt om
Ny brugerNybegynder
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.