Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Kan godt være dette hører til et helt nyt spg, men eftersom 50% er i smith1's interesse, prøver jeg lige alligevel:
1) hvordan får han(vi) den til at køre ned igen.. altså ikke bare close;
2) effekten med at den "kører op" via en timer, har jeg lidt problemer med når jeg har flere forms.
I Form1 har jeg en OnClick, der skal trigge Form2 (altså den der skal køre op). Men det virker jo ikke med "Form2.Show;" for så vises den bare statisk i stedet for at "køre op".. Hvordan får man den til det? :-/
type TForm1 = class(TForm) Timer: TTimer; Button1: TButton; procedure FormCreate(Sender: TObject); procedure TimerTimer(Sender: TObject); procedure Button1Click(Sender: TObject); private IsOpen : boolean; public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin IsOpen := False; Left := Screen.WorkAreaRect.Right - Width - 10; Top := Screen.WorkAreaRect.Bottom - 10; end;
procedure TForm1.TimerTimer(Sender: TObject); begin if isOpen then begin // vi skal køre formen ned if (Top > Screen.WorkAreaRect.Bottom) then begin Timer.Enabled := False; IsOpen := False; Close; // undlad denne, hvis du har en anden måde at åbne formen på igen end else Top := Top + 5; end else begin // vi skal køre formen op if (Top + Height) < Screen.WorkAreaRect.Bottom then begin Timer.Enabled := False; IsOpen := True; end else Top := Top - 5; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin Timer.Enabled := True; end;
end.
Hvis du har flere forms, så lav det i hver enkel - eller evt. i formens OnShow(),
****************** procedure TForm4.Timer1Timer(Sender: TObject); begin if isOpen then begin // vi skal køre formen ned if (Top > Screen.WorkAreaRect.Bottom) then begin Timer1.Enabled := False; IsOpen := False; Close; // undlad denne, hvis du har en anden måde at åbne formen på igen end else Top := Top + 5; end else begin // vi skal køre formen op if (Top + Height) < Screen.WorkAreaRect.Bottom then begin Timer1.Enabled := False; IsOpen := True; end else Top := Top - 5; end; end;
procedure TForm4.FormShow(Sender: TObject); begin List_Drives; Timer1.Enabled := True; end; ******************
Og den måde jeg "aktiverer" den på, er med et click på trayicon;
procedure TForm1.TextTrayIcon1Click(Sender: TObject); begin if Form4.Active <> TRUE then Form4.Show; end;
Men det der sker er når jeg trykker på ikonet at den viser Form4 fuldt og så kører/slider den så ned og lukker Form4. Men trykker jeg så igen, kører den op og bliver der - ligesom den egentlig skulle allerede første gang...?? :/
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.