Ĺadny brzuch
1. Jak zrobić taką wysuwaną formę? Chodzi mi o coś takiego: po prawej bądź lewej stronie głównej jest ma być taki przycisk, po kliknięciu na niego wysuwa się tak płynnie inna forma.
2. Jak zrobić wysuwane menu XP, takie jak jest w lewej części folderów?
ad1
procedure WysunForme(Forma: TForm; Speed, Step, Wait: Integer; Wysow: Boolean); begin if Wysow then begin Forma.Top:=Screen.WorkAreaHeight; Forma.Left:=Screen.WorkAreaWidth-Forma.Width; repeat Forma.Top:=Forma.Top-Step; Application.ProcessMessages; Sleep(Speed); until Forma.Top-Step<=Screen.WorkAreaHeight-Forma.Height; Forma.Top:=Screen.WorkAreaHeight-Forma.Height; if Wait>0 then begin Sleep(Wait); WysunForme(Forma, Speed, Step, Wait, not Wysow); end; end else begin Forma.Top:=Screen.WorkAreaHeight-Forma.Height; Forma.Left:=Screen.WorkAreaWidth-Forma.Width; repeat Forma.Top:=Forma.Top+Step; Application.ProcessMessages; Sleep(Speed); until Forma.Top+Step>=Screen.WorkAreaHeight; Forma.Top:=Screen.WorkAreaHeight; end; end;
Gdzie:
Speed - ilość ms pomiędzy kolejnym krokiem im mniej tym szybciej
Step - ilość o ile pixeli przesuwana będzie Forma z każdym krokiem
Wait - ile ms ma odczekać po wyjechaniu; jeśli ustawione na 0 to Forma zostaje w finałowej pozycji, jeśli większe niż 0 to forma czeka daną ilość ms i chowa się po tym czasie.
Wysow - okresla kierunek ruchu; True wysuwa, False chowa
Użycie :
if Button1.Tag=0 then begin  WysunForme(Form1,10,2,0,True);  Button1.Tag:=1; end else begin  WysunForme(Form1,10,2,0,False);  Button1.Tag:=0; end;
ad2
nie czaje :D /// a już wiem o co chodzi :D::D:D
Użytkownik Bełdzio edytował ten post 27 marzec 2005, 17:43
AD1. Może zrób to w pęli (i zmieniaj położenie formy ;) )
Ad2. komponent dxWinXPBar
...
Dzięki, ale nie o takie coś mi chodziło. Ty zrobiłeś, że forma wyjedzie od paska zadań. Mi chodzi o takie coś jak jest w niektórych programach, że po prawj stronie jest przycisk ze strzałką i po kliknięciu na niego, to z prawej wyjeżdża coś formopodobnego. Niestety nie pamiętam nazwy programu w jakim coś takiego jest :(
masz działający kod więc przerób go tak, aby spełniał Twoje wymagania, a nie oczekujesz, że ktoś zrobi to za Ciebie ;)
masz działający kod więc przerób go tak, aby spełniał Twoje wymagania, a nie oczekujesz, że ktoś zrobi to za Ciebie ;)
1. chroni przed "efektem zwiechy"
2. wstrzymuje czas działania programu
3. przerywa pętle gdy Forma.Top-Step<=Screen.WorkAreaHeight-Forma.Height;
oj podstawy ;)
1. Może nie tyle chroni przed zwiechą co rozsyła komunikaty z kolejki, dzięki temu program będzie normalnie funkcjonował podczas wykonywania jakiejś długiej i skomplikowanej pętli, np. przesuwanie formy, minimalizowanie, zmiana rozmiarów itp.
Należy też pamiętać, że Application.ProcessMessages, nie jest zalecane do krótkich pętli, bo ponieważ iż sama jest wybawieniem dla petli długich to sama też spowalnia jej działanie.
[chyba]
Użytkownik programista1101 edytował ten post 28 marzec 2005, 11:33
Należy też pamiętać, że Application.ProcessMessages, nie jest zalecane do krótkich pętli, bo ponieważ iż sama
Bo poniewaz iz ?? Naucz sie najpierw jezyka a potem mysl o programowaniu :roll1:
Aha a to slynne xpkowskie menu Beldzia (juz nie tylko beldzia ;) ) to ExBar - http://maxxdelphisit...ee.fr/exbar.htm ale ma wade : wszystko trza dodawac kodem, nic w designtime
Użytkownik migajek edytował ten post 29 marzec 2005, 10:45
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
2. Jak zrobić wysuwane menu XP, takie jak jest w lewej części folderów?
ad1
procedure WysunForme(Forma: TForm; Speed, Step, Wait: Integer; Wysow: Boolean); begin if Wysow then begin Forma.Top:=Screen.WorkAreaHeight; Forma.Left:=Screen.WorkAreaWidth-Forma.Width; repeat Forma.Top:=Forma.Top-Step; Application.ProcessMessages; Sleep(Speed); until Forma.Top-Step<=Screen.WorkAreaHeight-Forma.Height; Forma.Top:=Screen.WorkAreaHeight-Forma.Height; if Wait>0 then begin Sleep(Wait); WysunForme(Forma, Speed, Step, Wait, not Wysow); end; end else begin Forma.Top:=Screen.WorkAreaHeight-Forma.Height; Forma.Left:=Screen.WorkAreaWidth-Forma.Width; repeat Forma.Top:=Forma.Top+Step; Application.ProcessMessages; Sleep(Speed); until Forma.Top+Step>=Screen.WorkAreaHeight; Forma.Top:=Screen.WorkAreaHeight; end; end;
Gdzie:
Speed - ilość ms pomiędzy kolejnym krokiem im mniej tym szybciej
Step - ilość o ile pixeli przesuwana będzie Forma z każdym krokiem
Wait - ile ms ma odczekać po wyjechaniu; jeśli ustawione na 0 to Forma zostaje w finałowej pozycji, jeśli większe niż 0 to forma czeka daną ilość ms i chowa się po tym czasie.
Wysow - okresla kierunek ruchu; True wysuwa, False chowa
Użycie :
if Button1.Tag=0 then begin  WysunForme(Form1,10,2,0,True);  Button1.Tag:=1; end else begin  WysunForme(Form1,10,2,0,False);  Button1.Tag:=0; end;
ad2
nie czaje :D /// a już wiem o co chodzi :D::D:D
Użytkownik Bełdzio edytował ten post 27 marzec 2005, 17:43
AD1. Może zrób to w pęli (i zmieniaj położenie formy ;) )
Ad2. komponent dxWinXPBar
...
Dzięki, ale nie o takie coś mi chodziło. Ty zrobiłeś, że forma wyjedzie od paska zadań. Mi chodzi o takie coś jak jest w niektórych programach, że po prawj stronie jest przycisk ze strzałką i po kliknięciu na niego, to z prawej wyjeżdża coś formopodobnego. Niestety nie pamiętam nazwy programu w jakim coś takiego jest :(
masz działający kod więc przerób go tak, aby spełniał Twoje wymagania, a nie oczekujesz, że ktoś zrobi to za Ciebie ;)
masz działający kod więc przerób go tak, aby spełniał Twoje wymagania, a nie oczekujesz, że ktoś zrobi to za Ciebie ;)

1. chroni przed "efektem zwiechy"
2. wstrzymuje czas działania programu
3. przerywa pętle gdy Forma.Top-Step<=Screen.WorkAreaHeight-Forma.Height;
oj podstawy ;)
1. Może nie tyle chroni przed zwiechą co rozsyła komunikaty z kolejki, dzięki temu program będzie normalnie funkcjonował podczas wykonywania jakiejś długiej i skomplikowanej pętli, np. przesuwanie formy, minimalizowanie, zmiana rozmiarów itp.
Należy też pamiętać, że Application.ProcessMessages, nie jest zalecane do krótkich pętli, bo ponieważ iż sama jest wybawieniem dla petli długich to sama też spowalnia jej działanie.
[chyba]
Użytkownik programista1101 edytował ten post 28 marzec 2005, 11:33
Należy też pamiętać, że Application.ProcessMessages, nie jest zalecane do krótkich pętli, bo ponieważ iż sama
Bo poniewaz iz ?? Naucz sie najpierw jezyka a potem mysl o programowaniu :roll1:
Aha a to slynne xpkowskie menu Beldzia (juz nie tylko beldzia ;) ) to ExBar - http://maxxdelphisit...ee.fr/exbar.htm ale ma wade : wszystko trza dodawac kodem, nic w designtime
Użytkownik migajek edytował ten post 29 marzec 2005, 10:45