Avatar billede loproc Praktikant
10. september 2001 - 18:11 Der er 5 kommentarer og
1 løsning

System Modal vindue

Hejsa! Jeg har læst et eksempel på hvordan jeg laver et vindue modal til hele systemet... Det er som følger:

procedure TForm1.Button1Click(Sender: TObject);
var
  x : word ;
begin
    x := SetSysModalWindow(Form2.handle) ;
    Form2.showmodal ;
    SetSysModalWindow(x) ;
end;

Men det virker ikke! Jeg får:
Undeclared indetifier: \'SetSysModalWindow\'
Og så vil jeg jo tro det er fordi jeg skal skrive en unit ind under uses, men hvilken?

Hvis der eventuelt er nogle som har en anden løsning kan det også bruges :)
Avatar billede morten_s Nybegynder
10. september 2001 - 18:15 #1
Fra hjælpen

The SetSysModalWindow function is obsolete. This function is provided only for compatibility with 16-bit versions of Windows. The new input model does not allow for System Modal windows.
Avatar billede loproc Praktikant
10. september 2001 - 18:16 #2
Det løser jo ikke mit problem...
Avatar billede morten_s Nybegynder
10. september 2001 - 18:19 #3
ja men når du skriver Form2.showmodal så bliver det modalt, det andet er ikke nødvendigt.

Hvis du gerne vil have vinduet til at ligge øverst så gå ind under formens property og sæt FormStyle til fsStayOnTop
Avatar billede loproc Praktikant
10. september 2001 - 18:23 #4
Du kan stadig alt+tab til andre vinduer og processer kører stadig væk... den skal være modal til hele systemet, som ctrl+alt+del boksen... alt stopper når den kommer...
Avatar billede morten_s Nybegynder
10. september 2001 - 18:29 #5
Fra ? 16459

Hvis man laver programmer, der på en eller anden måde skal køres færdig uden at brugeren har mulighed for at hindre dette (ud over via elværket), så kan der være brug for at slå tastkombinationerne alt+tab samt ctrl+alt+del. I de to følgende metoder er vist koden til at slå tastkombinationerne fra og til.
procedure
TForm1.Button1Click(Sender: TObject);
var
dummy: integer;
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @dummy, 0);
end;

// I denne metode slås
tastkombinationerne til igen
procedure
TForm1.Button2Click(Sender: TObject);
var
dummy: integer;
begin
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @dummy, 0);
end;


DISSE METODER VIRKER IKKE UNDER WINDOWS NT/2000
Avatar billede loproc Praktikant
10. september 2001 - 18:39 #6
DOH! Dem kendte jeg faktisk godt!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester