/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Proceslinjen rykker ved skift af resolutio~
Fra : Sven Storm


Dato : 11-06-01 08:48

Hej

Mit problem er, at når jeg skifter min skærms opløsning med funktionen
ChangeResolution, så flyttes proceslinjen.

Jeg har tidligere stillet et lignende spørgsmål i gruppen og fik det gode
råd at vise proceslinjen med:
> hTaskBar := FindWindow('Shell_TrayWnd', nil);
> showwindow(hTaskBar, sw_show);

Ovennævnte virker fint - men proceslinjen rykker bort fra sin normale
placering i bunden af skærmen. Det betyder, at hvis jeg går op i opløsning
fx fra 800x600 til 1024x768 - ja så rykker proceslinjen 5 cm op på skærmen.
Hvis jeg går ned i opløsning fx fra 800x600 til 640x480 - ja så rykker
proceslinjen helt ud af skærmen. Og jeg kan ikke få den vist igen ved at
bruge: showwindow(hTaskBar,sw_show);

Nogen der har et bud på, hvordan jeg får vist proceslinjen i bunden af
skærmen - uanset om jeg går op eller ned i opløsning?

Mvh
Sven


Procedure ChangeResolution(Width: integer; Height : integer);
var
a: boolean;
i: integer;
DevM: TDEVMODE;
begin
I:=0;
with DevM do begin
repeat
a:= EnumDisplaySettings(PChar(0),i,DevM);
I:=i+1;
until (a=false);
end;
DevM.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
DevM.dmPelsWidth:=Width;
devM.dmPelsHeight := Height;
ChangeDisplaySettings(DevM,0);
end;






 
 
Sven Storm (02-07-2001)
Kommentar
Fra : Sven Storm


Dato : 02-07-01 10:27

Fejlen kan rettes ved at skrive:
ChangeDisplaySettings(CurMode, CDS_UPDATEREGISTRY);
i stedet for:
ChangeDisplaySettings(CurMode, 0);
i procedure ChangeResolution.

Mvh
Sven

"Sven Storm" <sven.storm@skolekom.dk> skrev i en meddelelse
news:9g1t4b$11pi$1@news.net.uni-c.dk...
> Hej
>
> Mit problem er, at når jeg skifter min skærms opløsning med funktionen
> ChangeResolution, så flyttes proceslinjen.
>
> Jeg har tidligere stillet et lignende spørgsmål i gruppen og fik det gode
> råd at vise proceslinjen med:
> > hTaskBar := FindWindow('Shell_TrayWnd', nil);
> > showwindow(hTaskBar, sw_show);
>
> Ovennævnte virker fint - men proceslinjen rykker bort fra sin normale
> placering i bunden af skærmen. Det betyder, at hvis jeg går op i opløsning
> fx fra 800x600 til 1024x768 - ja så rykker proceslinjen 5 cm op på
skærmen.
> Hvis jeg går ned i opløsning fx fra 800x600 til 640x480 - ja så rykker
> proceslinjen helt ud af skærmen. Og jeg kan ikke få den vist igen ved at
> bruge: showwindow(hTaskBar,sw_show);
>
> Nogen der har et bud på, hvordan jeg får vist proceslinjen i bunden af
> skærmen - uanset om jeg går op eller ned i opløsning?
>
> Mvh
> Sven
>
>
> Procedure ChangeResolution(Width: integer; Height : integer);
> var
> a: boolean;
> i: integer;
> DevM: TDEVMODE;
> begin
> I:=0;
> with DevM do begin
> repeat
> a:= EnumDisplaySettings(PChar(0),i,DevM);
> I:=i+1;
> until (a=false);
> end;
> DevM.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
> DevM.dmPelsWidth:=Width;
> devM.dmPelsHeight := Height;
> ChangeDisplaySettings(DevM,0);
> end;




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste