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

BorderStyle=bsNone?

[es] :: Pascal / Delphi / Kylix :: BorderStyle=bsNone?

[ Pregleda: 2103 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

VRKY

Član broj: 21087
Poruke: 4690
*.net.t-com.hr.



+8 Profil

icon BorderStyle=bsNone?12.12.2004. u 14:54 - pre 235 meseci
Ovako:
Stavio sam da mi je BorderStyle bsNone, i želi
U aplikaciji Cool Shutdown vidio sam nešto što mi se sviđa, a to je da je BorderStyle bsNone i da se ipak ta forma može micati, kao to napravit? Uradio sam neke Border Ikone (Close itd.) i sad mi još samo fali da se ta forma može pomicati (bsNone). Znači kako to uradit
 
Odgovor na temu

Aleksandar Ilić
Software Developer
Beograd

Član broj: 15867
Poruke: 417

Sajt: www.ailic.rs


+3 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 15:07 - pre 235 meseci
Pogledaj ovaj primer i videćeš kako.
„Naposletku, suština saznavanja nije u tome gubimo li igru, već kako je gubimo,
šta time spoznajemo, čemu nas je poraz naučio i kako nas to menja. Gubiti na određen
način znači - dobijati.”

Richard Bach
Prikačeni fajlovi
 
Odgovor na temu

Voodoo
Novi Beograd

Član broj: 3508
Poruke: 488
*.beograd-2.tehnicom.net.



+1 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 16:01 - pre 235 meseci
Ubaci sledece globalne promenljive:

Moving: Boolean;
OldX, OldY: Integer;

a za navedene evente kucaj:

MouseDown:

Moving := True;
OldX := X;
OldY := Y;

MouseMove:

if Moving then
begin
Form.Left := Form.Left + X - OldX;
Form.Top := Form.Top + Y - OldY;
end;

MouseUp:

Moving := False;

PS. Nisam pogledao Aleksandrov primer, cisto da ne bude da sam prepisao iz njega ukoliko je isto/slicno izvedeno...
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 16:14 - pre 235 meseci
Primer koji je Alekstrade poslao je definitivno bolji. Time definises region koji se ponasao kao da je Title bar. Dakle ako recimo duplo kliknes na odredjeni deo forme za koji si definisao da je title bar windows ce poslati poruku WM_MAXIMIZE ili WM_RESTORE u zavisnosti od trenutnog stanja tvoje aplikacije. Ako imas okrugao prozor ovim nacinom mozes recimo definisati region koji je spoljni prsten tog tvog okriglog prozorcica, itd, itd... :)

P.S.
Hocu u tvoj tim :)
 
Odgovor na temu

Voodoo
Novi Beograd

Član broj: 3508
Poruke: 488
*.beograd-2.tehnicom.net.



+1 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 16:46 - pre 235 meseci
Pa i u ovom mom primeru moze to da se uradi... razvuces jedan TImage koji ce ti biti title bar, i umesto za Formu, napises MouseUp, MouseMove i MouseDown evente za taj TImage...
 
Odgovor na temu

Aleksandar Ilić
Software Developer
Beograd

Član broj: 15867
Poruke: 417

Sajt: www.ailic.rs


+3 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 19:06 - pre 235 meseci
Citat:

PS. Nisam pogledao Aleksandrov primer, cisto da ne bude da sam prepisao iz njega ukoliko je isto/slicno izvedeno...


Ovaj kod nisam ja pisao, našao sam ga internetu.
Autor je Marco Cantu.
„Naposletku, suština saznavanja nije u tome gubimo li igru, već kako je gubimo,
šta time spoznajemo, čemu nas je poraz naučio i kako nas to menja. Gubiti na određen
način znači - dobijati.”

Richard Bach
 
Odgovor na temu

VRKY

Član broj: 21087
Poruke: 4690
*.net.t-com.hr.



+8 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 20:07 - pre 235 meseci
@bancika
kao si ti to napravio u svom programu?
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 20:37 - pre 235 meseci
ima sve u source-u, stavi dogadjaj OnMouseDown za komponentu koja hoces da ti pomera ceo prozor (recimo TImage koji ti sluzi kao novi TitleBar) i napisi sledece
Code:

 if Button = mbLeft then
  begin
   ReleaseCapture;
   Perform(WM_SYSCommand, $f019,0);
  end;

to je sve.
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

VRKY

Član broj: 21087
Poruke: 4690
*.net.t-com.hr.



+8 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 20:46 - pre 235 meseci
Nisam te dobro shvatio što sa OnMouseDown i onim kodom?
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: BorderStyle=bsNone?12.12.2004. u 23:01 - pre 235 meseci
cekaj: ako te dobro razumem, ti hoces da dragujes formu klikom na neku komponentu posto TitleBar-a vise nema. Napravi dogadjaj OnMouseDown za tu komponentu i upisi kod koji sam ti dao. Recimo napravi slicicu Image1 i Image1OnMouseDown sa tim kodom. Efekat je to sto ces klikom na slicicu mocu da pomeras formu. Mozes i za formu da definises OnMouseDown...
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: BorderStyle=bsNone?13.12.2004. u 00:20 - pre 235 meseci
I dalje tvrdim da je WM_NCHITTEST bolje resenje jer ne zahteva nikakve dodatne komponente na formi, a osim title bara mogu se definisati i nove pozicije za bordere (top-left, top, top-right... itd) i windows sam pomera, menja velicinu ili sta vec treba kao da border stvarno postoji + panel i ostale komponente ne mogu biti recimo okrugle (jedino ako ne napravis nekoliko malih panelcica pa ih poredjas u krug), a kada radis hittest mozes da napravis okrugao region koji ce reagovati kao title bar ili nesto drugo. Mozes napraviti proizvoljan oblik za bilo sta.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: BorderStyle=bsNone?13.12.2004. u 00:42 - pre 235 meseci
oket, ali za ovako jednostavne stvari nema potrebe komplikovati
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: BorderStyle=bsNone?13.12.2004. u 00:51 - pre 235 meseci
Otkud znamo da nije komplikovana stvar :P
Salim se. Upravu si. Uvek treba program uraditi sto jednostavnije... tako se lakse debug-uje i lakse kasnije dodaju nove stvarcice. Onda mu u tom kodu jos samo nedostaje da na OnDblClick doda da se forma maximizuje odnosno vrati na pravu velicinu ako je vec bila maximizirana, a to je prilicno lako :)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: BorderStyle=bsNone?

[ Pregleda: 2103 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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