/ 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
skærmopløsning Delphi 4.
Fra : Torben Kristiansen


Dato : 28-07-01 19:55

Hejsa

min ide var at jeg ønskede at mit program skulle kunne fremstår ens i alle
skærm opløsninger , og når man maksimerede skulle tingene blive propocinelt
stører , jeg har fundet frem til nedenstående løsning, der skal naturligvis
scales afhængig af skærm opløsning, spørgsmålet er denne løsnings skabelon
problemfri, jeg har kun ca 3 måndedes erfaring i programmering, så jeg kan
ikke rigtig overskue det, og ville gerne have nogle kommentere, evt smartere
metoder at gøre det samme på.

{ Private declarations }
procedure WMSysCommand(var Msg: TWMSysCommand);
message WM_SYSCOMMAND;
----
implementation
{$R *.DFM}


procedure TForm1.WMSysCommand;
begin

if (Msg.CmdType = SC_MAXIMIZE) then
begin
form1.scaleby(133,100); //der scales og formen fylder hele skærmen
form1.position := podefault;
end
else
inherited;


if (msg.CmdType = SC_RESTORE) then
begin
form1.scaleby(75,100); //der scales tilbage til oprindelig størelse
form1.Width := 249; //scal tallet er ikke helt korekt
form1.height := 396;
form1.position := poScreenCenter;
end
else
inherited;
end;

mvh Torben




 
 
P.L. (28-07-2001)
Kommentar
Fra : P.L.


Dato : 28-07-01 21:41

Hej Torben

Jeg gør følgende:

1. Programmerer antid i 1027*768 med små fonte.
2. Altid bruger den standardfont 'MS Sans Serif', som anvises af Delphi.
3. Arbejder med de standardstørrelser for standardfonten ('MS Sans Serif') har, dvs
8-10-12-14-18-24.
4. Form1.Scaled:=True, hvilket er standard, når en form bliver oprettes.
5. i proceduren: Procedure TForm1.FormShow(Sender: TObject), er den første linie;
PixelsPerInch:=Screen.PixelsPerInch*Screen.PixelsPerInch div 96;
// 96 henviser til at jeg bruger små fonte. Det kan du iøvrigt finde 'Object Inspector' i under
'PixelsPerInch'.
// der skal stå 120, hvis du programmeret i store fonte

Det plejer at virke upåklageligt.

Du må aldrig starte Delphi i andet end det format, som du begyndte et programmere i, for så kan du
få balade med skærmbilledet af formen.

Det er iøvrigt et problem, som jeg har sloges med, men til sidst fandt ud ovenstående.

P.L.

"Torben Kristiansen" <Torben-Kristiansen@mail.dk> skrev i en meddelelse
news:9jv1q1$ccm$1@news.cybercity.dk...
> Hejsa
>
> min ide var at jeg ønskede at mit program skulle kunne fremstår ens i alle
> skærm opløsninger , og når man maksimerede skulle tingene blive propocinelt
> stører , jeg har fundet frem til nedenstående løsning, der skal naturligvis
> scales afhængig af skærm opløsning, spørgsmålet er denne løsnings skabelon
> problemfri, jeg har kun ca 3 måndedes erfaring i programmering, så jeg kan
> ikke rigtig overskue det, og ville gerne have nogle kommentere, evt smartere
> metoder at gøre det samme på.
>
> { Private declarations }
> procedure WMSysCommand(var Msg: TWMSysCommand);
> message WM_SYSCOMMAND;
> ----
> implementation
> {$R *.DFM}
>
>
> procedure TForm1.WMSysCommand;
> begin
>
> if (Msg.CmdType = SC_MAXIMIZE) then
> begin
> form1.scaleby(133,100); //der scales og formen fylder hele skærmen
> form1.position := podefault;
> end
> else
> inherited;
>
>
> if (msg.CmdType = SC_RESTORE) then
> begin
> form1.scaleby(75,100); //der scales tilbage til oprindelig størelse
> form1.Width := 249; //scal tallet er ikke helt korekt
> form1.height := 396;
> form1.position := poScreenCenter;
> end
> else
> inherited;
> end;
>
> mvh Torben
>
>
>



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

Månedens bedste
Årets bedste
Sidste års bedste