Tekst editor

Tags:    delphi

Jeg arbejder på en tekst editior der kan være flere filer åbne ad gangen. Men når jeg gemmer via denne funktion:
Fold kodeboks ind/udKode 

så gemmer ikke det aktive vindue. Hvordan får ejg den til at kun at gemme det vindue man har valgt?



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hvad får du helt specifikt fat i når du gemmer ?

// Kasper
»http://kaspertech.dk



[Redigeret d. 25/12-03 22:38:10 af KasperTech]



Jeg fandt noget der hedder: ActiveMDIChild. Men hvis jeg bruger den kan jeg ikke få kontakt med fks. min richedit, så jeg kan gemme. Er der ikke andre muligheder?


Du kan definere en basis form hvorpå du definere nogle standard operationer, f.eks. gem. Så nedarver du dine MDIchildren fra denne basis form.

Når du trykker gem, kalder du ActiveMDIChild på denne måde:

(ActiveMDIChild as TBaseMDIChild).Save;

Så lader du save operationen på din child form om at gemme indholdet.

En anden måde er at lade child formene have deres egen TMainMenu hvor i der er et Gem menupunkt. Disse TMainMenus kan du merge (flette) ind i TMainMenu på din parent form. Jeg kan ikke huske præcis hvordan, men jeg mener det er beskrevet i hjælpen, ellers er det et eksempel med Delphi hvor man bruger det.

--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk



Jeg fandt noget der hedder: ActiveMDIChild. Men hvis jeg bruger den kan jeg ikke få kontakt med fks. min richedit, så jeg kan gemme. Er der ikke andre muligheder?

Du kan definere en basis form hvorpå du definere nogle standard operationer, f.eks. gem. Så nedarver du dine MDIchildren fra denne basis form.

Når du trykker gem, kalder du ActiveMDIChild på denne måde:

(ActiveMDIChild as TBaseMDIChild).Save;

Så lader du save operationen på din child form om at gemme indholdet.

En anden måde er at lade child formene have deres egen TMainMenu hvor i der er et Gem menupunkt. Disse TMainMenus kan du merge (flette) ind i TMainMenu på din parent form. Jeg kan ikke huske præcis hvordan, men jeg mener det er beskrevet i hjælpen, ellers er det et eksempel med Delphi hvor man bruger det.

--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk


Øhm....

Er det ikke bare TForm2(ActiveMDIChild). // What ever

/Mads



Hvad får du helt specifikt fat i når du gemmer ?

// Kasper
»http://kaspertech.dk



[Redigeret d. 25/12-03 22:38:10 af KasperTech]


Jeg får ikke nogen fejl. Men når jeg har fks. 2 vinduer åbne med hver deres fil, når jeg så vælger gem, så kan den kun gemme den senest åbne af de to. Jeg vil gerne have sådan at den gemmer det vindue der er aktivt.



Javel ja, kan det muligvis have noget at gøre med hvilken form du tager fat i når du udfører gemme-dialogen, jeg mener veksler det mellem hvilke forme du har fat i, eller er det altid nummer 2, der gemmer. For jeg kan se du sætter Form2s richedit som indhold. Prøv at se om du ikke kan lege lidt med for eksempel MDIforms. Det er forme indeni forme, og med det kan du nemt finde ud af hvilken der er aktiv.

Men kort: Kig på hvilken form der gemmer hvad og om du kan sætte koden til ikke at være Form2 men (pseudokode)ActiveForm til at gemme.

// Kasper
»http://kaspertech.dk




Jeg bruger allerede MDI forms. Men hvilken kode kan jeg bruge istedet for form2. Måske noget ligende "ActiveMDIForm" istedet for form2 eller sådan noget...



Jeg bruger allerede MDI forms. Men hvilken kode kan jeg bruge istedet for form2. Måske noget ligende "ActiveMDIForm" istedet for form2 eller sådan noget...


Ja lige nøjagtig. Det vil jeg mene er det du leder efter. Og virker det ikke skriver du bare igen :)

// Kasper
»http://kaspertech.dk




Jeg fandt noget der hedder: ActiveMDIChild. Men hvis jeg bruger den kan jeg ikke få kontakt med fks. min richedit, så jeg kan gemme. Er der ikke andre muligheder?



Jeg beklager, jeg kan ikke lige komme i tanke om andet. :(
Men held og lykke med projektet.

// Kasper
»http://kaspertech.dk




t