Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Loš redosled prikaza dinamički kreiranih frame-ova

[es] :: Pascal / Delphi / Kylix :: Loš redosled prikaza dinamički kreiranih frame-ova

[ Pregleda: 1773 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 575
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Loš redosled prikaza dinamički kreiranih frame-ova12.06.2008. u 11:15 - pre 133 meseci
Ovako. Svi znamo kako se ponaša TPageControl - klikom na karticu se prikazuje njen sadržaj. Ono što ja hoću da napravim je da se klikom na karticu prikaže njen sadržaj a odmah ispod i sadržaj narednih kartica ako za taj sadržaj ima mesta na kontroli (ekranu).

Ovo sam uspeo da napravim upotrebom TTabControl i TFrame-ova. Frejmovi se kreiraju dinamicki i prikazuju se po potrebi i po raspoloživom prostoru. Ono što mi nikako ne uspeva je da se ti frejmovi prikazuju u ispravnom redosledu.

U programu kojeg sam atačovao postoji TabControl sa četiri taba. Kada se klikne na prvi tab on prikaže sadržaj prvog frejma, a ako ima mesta pokazuje i sadržaj drugog, i trećeg, itd. Kada se klikne na drugi tab on prikazuje sadržaj drugog frejma, pa onda i trećeg ako ima mesta, i četvrtog itd. Videćete ponašanje programa kada budete povećavali i smanjivali visinu glavnog prozora kao i kada budete menjali tabove.

Problem je što program ne prikazuje frejmove redom: prvi, drugi, treći, četvrti, nego se prikazuju nekim (random) redosledom kojeg ne mogu da utvrdim, a i ne pada mi na pamet kako da utičem na njega.

Da li neko ima lek za ovo?
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
Prikačeni fajlovi
 
Odgovor na temu

nikomak
Nikola Makić
Beograd

Član broj: 177053
Poruke: 65
*.eunet.yu.



+1 Profil

icon Re: Loš redosled prikaza dinamički kreiranih frame-ova12.06.2008. u 12:15 - pre 133 meseci
Koliko sam uspeo da pohvatam, HideFrames je krivac.

Pokusaj ovako

Code:

procedure TxFrameManager.HideFrames;
  var
    i: Integer;
begin
  // sakrivanje svih frameove
  for i := FrameCount - 1 downto 0 do
    FrameInfos[i].Frame.Parent := nil;
end;


Od poslednjeg ka prvom, ako sam dobro shvatio poentu :)
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 575
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Loš redosled prikaza dinamički kreiranih frame-ova12.06.2008. u 13:09 - pre 133 meseci
Interesantno - promena redosleda nilovanja je doprinela da se frejmovi prikazuju od poslednjeg ka prvom!

Nažalost - meni treba da se frejmovi prikazuju od prvog ka poslednjem.

Probao sam i da u jednoj petlji prvo pohvatam sve frejmove koji se mogu prikazati, a da onda u drugoj petlji te frejmove i prikažem. I ne vredi :(
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 575
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Loš redosled prikaza dinamički kreiranih frame-ova12.06.2008. u 13:17 - pre 133 meseci
Ah, kako je rešenje prosto :) (radi i sa originalnom verzijom HideFrames procedure)

Samo sam nakon prikaza Frema postavio njegov Top na dovoljno veliki broj :)
Code:
procedure TxFrameManager.ShowFrame(pIndex: Integer; pWinControl: TWinControl);
...
      if lCanDraw then begin
        lFrameInfo.ShowFrame(pWinControl);
        lFrameInfo.Frame.Top := 2000; // <- dovoljno veliki broj :)
      end;
...
end;

Hvala nikomak, a hvala i svima ostalima koji su posvetili barem i sekund vremena :)
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Loš redosled prikaza dinamički kreiranih frame-ova

[ Pregleda: 1773 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.