Avatar billede wampiro-uha Nybegynder
08. maj 2004 - 15:50 Der er 11 kommentarer og
1 løsning

Frames osv.

Er der nogen der kender tutorials osv., hvor jeg kan lære at benytte frames til mine applikationer?

Specielt med henblik på at loade dem frem og af-loade dem igen :-)
Avatar billede wampiro-uha Nybegynder
08. maj 2004 - 20:48 #1
Slet ingen?
Avatar billede dkn Nybegynder
09. maj 2004 - 13:00 #2
hvad er der at lære?
Avatar billede wampiro-uha Nybegynder
09. maj 2004 - 20:23 #3
Hvordan man loader dem ind og ud af en form?

Har prøvet at sidde og lege lidt med det, men synes ikke det fungerer?
Avatar billede hrc Mester
10. maj 2004 - 16:17 #4
Frames er en ting der løbende er blevet bedre og bedre. Jeg har lavet flere applikationer hvor jeg enten laver nedarving af TFrame og/eller opretter og sletter dynamisk.

Brugt med omtanke kan de være et virkelig plus. Tænk f.eks. på en af de evindelige Options-forme hvor man har en TPageControl med en masse faneblade. Sådan en form kan let blive noget skrækkeligt rod og her har jeg med held brugt frames på hver side til at udskille opgaven i bidder og for at tilføje automatik der signalerer at noget er skiftet og behøver at gemmes/opdateres.

Hvis jeg ikke rammer med nedenstående så prøv at beskrive din opgave lidt bedre og jeg vil se om jeg kan brygge et andet eksempel sammen - det er for komplekst at beskrive generelt. Måske skulle jeg skrive en artikel om det??

... men lad os tage det simple først

Hvis du vil vise og fjerne en TFrame (lad os kalde den frmeOKCancel), så kan du gøre det på følgende måde:

Framen TfrmeOKCancel indeholder to knapper: btnOK og btnCancel der begge er alignet til højre side. Selve framen er alignet til bunden.

På min frmMain har jeg en TCheckBox (cbShowFrame) som hhv. viser og fjerner framen fra bunden af skærmen.

I min frmMain har jeg en "fFrame : TFrame;" under den private del - jeg bruger den til at gemme den pågældende instans af framen så jeg kan fjerne den igen senere.

procedure TfrmMain.cbShowFrameClick(Sender: TObject);
begin
  with (Sender as TCheckBox) do begin
    if Checked then begin
      fFrame := TfrmeOKCancel.Create(self);
      fFrame.Parent := self; // Sørger for at den vises
    end
    else begin
      fFrame.Free;
      fFrame := nil; // Strengt taget ikke nødvendigt her, men alligevel...
    end;
  end;
end;
Avatar billede hrc Mester
10. maj 2004 - 16:22 #5
I Delphi v. 7 har Borland fået styr på at komponenterne ikke stod ordentligt når man placerede framene (m. align til en eller anden side) på en form der havde anden størrelse.

Man var derfor nødt til at have framene i samme størrelse som pladsen i formen hvor de skulle være. I D7 kører det derud af.

Har i øvrigt tit arbejdet med TList-varianter hvor jeg har ladet elementerne være nedarvinger af TFrame, så når man klikkede på et element, så skulle man bare vise framen så. Desuden var der mulighed for at tilrette de enkelte elementer - håber at du forstår hvar jeg skriver om - jeg syntes selv det var ret smart da jeg bryggede det sammen ,-)
Avatar billede wampiro-uha Nybegynder
10. maj 2004 - 17:42 #6
Er det muligt at benytte frames ligesom "hjemmesider".

Så man loader en frame, ligesom man går ind på en hjemmeside.
Og når man unloader den, forlader man hjemmesiden?

I så fald, hvordan unloader man så en frame?
Avatar billede hrc Mester
10. maj 2004 - 21:31 #7
Altså noget i retningen af, at man vælger en linie i en TListBox og så kommer der en frame der passer til det som du har valgt? Kender ikke forskellen mellem at loade en HTML-frame, kontra en hel HTML-side så det er rent gætværk.

Prøver med et eksempel: Jeg har et "gemme-password-program" der er opbygget med en menu-bar i top, et treeview til venstre og et frame-område til højre for den. Afhængig af hvilken type information du klikker på (underpunkt, password, bankkonti, hjemmesidelink, telefonnummer eller råtekst osv), så kommer den rette frame frem. Jeg har har/sætter (kan ikke huske det) framens align til alClient når den oprettes og så optager den pladsen.

Er det sådan noget du tænker på?
Avatar billede wampiro-uha Nybegynder
16. maj 2004 - 18:28 #8
Det er lidt sådan noget jeg tænker på :-)
Avatar billede hrc Mester
17. maj 2004 - 09:45 #9
OK - skal lige overleve en arbejdsdag før jeg kigger på det
/hrc
Avatar billede hrc Mester
17. maj 2004 - 19:44 #10
Har du en email jeg kan dumpe noget til?
Avatar billede wampiro-uha Nybegynder
18. maj 2004 - 23:15 #11
bh@bh.zzn.com

:-)
Avatar billede wampiro-uha Nybegynder
22. maj 2004 - 18:48 #12
Takker for svar hrc...!
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