[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Delphi - taby

Registrovaný: 12.05.07
Prihlásený: 07.03.24
Príspevky: 257
Témy: 33 | 33
Bydlisko: Halič, Luče...
NapísalOffline : 26.06.2009 2:11 | Delphi - taby

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úť?? :cry:


_________________
PC: Intel XEON E3-1220 v2, 24GB DDR3 RAM, GeForce GT1030, 500GB Kingston SSD, 2TB WD Caviar + 2TB Seagate Barracuda, MSI Motherboard.
NTB: Intel Core i7 2600, 8GB DDR3 RAM, GeForce GTX530, 250GB WD SSD, 750GB WD Caviar Black, Toshiba :)
Daewoo Leganza 2.0 CDX + Daewoo Leganza 2.0 SX
Online

Skúsený užívateľ
Skúsený užívateľ
Delphi - taby

Registrovaný: 11.01.09
Prihlásený: 29.04.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOnline : 26.06.2009 9:45 | Delphi - taby

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


Offline

Užívateľ
Užívateľ
Delphi - taby

Registrovaný: 12.05.07
Prihlásený: 07.03.24
Príspevky: 257
Témy: 33 | 33
Bydlisko: Halič, Luče...
Napísal autor témyOffline : 26.06.2009 13:49 | Delphi - taby

ď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


_________________
PC: Intel XEON E3-1220 v2, 24GB DDR3 RAM, GeForce GT1030, 500GB Kingston SSD, 2TB WD Caviar + 2TB Seagate Barracuda, MSI Motherboard.
NTB: Intel Core i7 2600, 8GB DDR3 RAM, GeForce GTX530, 250GB WD SSD, 750GB WD Caviar Black, Toshiba :)
Daewoo Leganza 2.0 CDX + Daewoo Leganza 2.0 SX
 [ Príspevkov: 3 ] 


Delphi - taby



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Gitarové taby

v Diskusia

15

4639

27.09.2009 12:17

Skyro

V tomto fóre nie sú ďalšie neprečítané témy.

delphi zapis cisla do editu v delphi

v Ostatné

3

1210

11.05.2008 12:02

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

Taby vo WL Messenger 2009

v Sieťové programy

0

410

23.12.2008 1:31

petanorech

V tomto fóre nie sú ďalšie neprečítané témy.

Internet Explorer 7.0 a taby

v Sieťové programy

7

655

19.11.2006 11:25

chio

V tomto fóre nie sú ďalšie neprečítané témy.

Zrazu prepína klávesnica taby vo Firefoxe aj cez CTRL+bežné čísla...

v Sieťové programy

3

475

18.02.2021 18:24

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Odmocnina (delphi)

v Ostatné

4

1041

13.01.2012 15:47

jucho29

V tomto fóre nie sú ďalšie neprečítané témy.

[Delphi] Delay

v Ostatné

4

1223

07.01.2010 14:19

ha2

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Priklad Delphi

v Ostatné

3

619

25.01.2017 8:46

focko

V tomto fóre nie sú ďalšie neprečítané témy.

Delphi - príklad

v Ostatné

2

789

07.11.2010 23:16

majso

V tomto fóre nie sú ďalšie neprečítané témy.

Delphi - Polkruh

v Ostatné

3

779

08.07.2011 13:51

Gumeny

V tomto fóre nie sú ďalšie neprečítané témy.

Delphi 7

v Ostatné programy

3

381

08.10.2013 19:11

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Delphi class

v Ostatné

1

901

10.09.2009 16:35

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Najnovsie Delphi

v Ostatné

7

777

30.06.2010 12:08

Manny

V tomto fóre nie sú ďalšie neprečítané témy.

[Delphi] komponent

v Ostatné

21

2076

16.03.2010 17:05

zy-zy-zyrixi

V tomto fóre nie sú ďalšie neprečítané témy.

[Delphi] video

v Ostatné

4

805

15.01.2011 14:26

vama

V tomto fóre nie sú ďalšie neprečítané témy.

[Delphi] Okno

v Ostatné

6

803

15.01.2010 21:42

vama



© 2005 - 2026 PCforum, edited by JanoF