|
 | | |
| Autor | Správa |
LordMMX
 Užívateľ
 Založený: 12.05.2007 Príspevky: 230 Bydlisko: Halič, Lučenec Vek: 20
 |
Potrebujem vašu radu. Chcem v programe vytvoriť niečo ako sú taby /záložky alebo nwm jak to ešte nazvať/ v mozilla firefoxe. Proste aby som v jednom okne programu mohol mať otvorených viac dokumentov naraz.
ešte by som sa chcel jednou cestou spýtať ako spraviť to aby program pri ukladaní dokumentov automaticky priradil príponu a pri otváraní podľa prípony zvolil či sa jedná o richtext alebo klasický "čistý" text.
kto mi vie helfnúť??  |
_________________ Daewoo Nexia GLX 1.5 DOHC 16V r.v. 96 | |
   |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1049
 |
Na tvorenie záložiek sa využíva komponent PageControl alebo TabControl (oba sa nachádzajú vo Win32).
Na tvoj účel by som použil PageControl. Novú záložku vytvoríš pravým kliknutím na PageControl a NewPage. Alebo prgramovo takto:
| kód: | var
novaZalozka: TTabSheet;
begin
novaZalozka:= TTabSheet.Create(PageControl1);
novaZalozka.Visible:= True;
novaZalozka.Caption:= 'Názov záložky';
novaZalozka.PageControl:= PageControl1;
PageControl1.ActivePage:= novaZalozka; // nastavenie novej záložky na aktívnu
end; |
Potom na záložky môžeš programovo za behu vytvárať ovládacie prvky, napríklad takto (na ukážku iba jeden button):
| kód: | var
b: TButton;
begin
b:= TButton.Create(PageControl1.ActivePage);
b.Parent:= PageControl1.ActivePage; // vytvorí ho na aktuálnej záložke. Pre prvú by si napísal PageControl1.Pages[0];
b.Width:= 50;
b.Height:= 20;
b.Left:= 20;
b.Top:= 20;
b.Caption:= 'OK';
end; |
Tak ďalej by si to už mal zvládnuť, teraz priradenie prípony.
Na ukladanie dokumentov použi komponent SaveDialog. V Object Inspector-e klikni na Filter a v tomto dialógu si môžeš vytvoriť vlastné možností prípon, ktoré tvoja aplikácia dokáže otvárať (tie isté, ktoré nastavíš pre SaveDialog navrhujem zvoliť aj pre OpenDialog). Názorná ukážka:
| kód: | Textový súbor (*.txt) | *.txt
Všetky súbory (*.*) | *.* |
Štandardnú príponu, ktorá by sa mala ukladať najčastejšie, napíš ako prvú, aby sa zobrazila ako prvá v SaveDialog-u. V každom ukladacom dialógu by namala chýbať možnosť *.*, pretože užívateľ môže chcieť uložiť dokument už do nejakého iného existujúceho súboru, ktorý môže mať inú príponu (ktorú by si mu napríklad zabudol ponúknuť), trebars *.dat |
| |
   |
 |
LordMMX
 Užívateľ
 Založený: 12.05.2007 Príspevky: 230 Bydlisko: Halič, Lučenec Vek: 20
 | Zaslal: Pi 26.06.09 13:49 |   |
ďakujem za komplet zdrojový kód, ale má to jeden drobný háčik
Ja chcem dosiahnúť to, aby pri otvorení textového dokumentu bola vytvorená záložka, pri otvorení ďalšieho, ďalšia záložka, a pri vytvorení nového prázdneho dokumentu sa vytvorila ďalšia záložka ... a aby aj ukladanie fungovalo takým štýlom že sa uloží len aktívna záložka. a ešte docieliť to aby sa 2 kliknutiami záložka zavrela.
asi chcem moc, čo? =) ak si to popísal vyššie tak sorry, len zbežne som ten zdroják prebehol. A asi by bol lepší TabControl ako Page Control, nie?
priradenie prípony som sprevádzkoval ako si napísal , dík. Avšak ide o to, aby program pri otvorení trebars "Prazdnydoc.txt" nastavil komponent "Richedit" tak, aby položka "Plaintext" bola na "True" a pri otvorení "prazdnydoc.RTF" bola položka Plaintext nastavená na FALSE.
Ja sa s tým naťahujem už asi 2 mesiace a som v koncoch... bol by som ti vďačný za pomoc |
_________________ Daewoo Nexia GLX 1.5 DOHC 16V r.v. 96 | |
   |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |