Avatar billede joanlegind Nybegynder
13. juni 2001 - 14:07 Der er 6 kommentarer og
1 løsning

Canvas

Jeg har en form med en listbox og lidt knapper. Når jeg trykker på en af knapperne fremkommer der en listbox.

Jeg kunne godt tænke mig at baggrunden (Form1) blev nedtonet (mørk) mens dialogboxen er synlig. Hvordan nedtoner man alt på Formen ?

Programmet skal køre på en WinME derfor kan jeg ikke udnytte transparant effekten i Win2000 :-(
Avatar billede joanlegind Nybegynder
13. juni 2001 - 14:08 #1
....fremkommer der en \"listbox\". (rettelse: Dialogbox)

Avatar billede martinlind Nybegynder
13. juni 2001 - 14:13 #2
Er det Disabled det hele skal være eller vil du tegne selv ??

Hvis du skal rundt på hele formen kan du bruge

ComponentCount
Components[Cnt]

Tegne Selv er sådan evt.:


Procedure Paint; override;


Procedure Form1.Paint;
begin
  Inherited;
  Canvas.DrawText(10,10,\'Hej Du !!\');
end;

/Martin
Avatar billede joanlegind Nybegynder
13. juni 2001 - 15:11 #3
Alt hvad der er på Form1 skal nedtones, uanset hvilke komponenter der måtte være.
Altså noget i retningen af

Tæller:
  Form1.canvas.pixels[x, y] := Form1.canvas.pixels[x, y]-40;

Men det ville nok være lidt gøg og gokke på denne måde.
Joan.
Avatar billede martinlind Nybegynder
13. juni 2001 - 15:18 #4

procedure ToggleCmp;
begin
for Cnt := Componentcount-1 do
Components[Cnt].Enabled := not Components[Cnt].Enabled;
end;

/Martin
Avatar billede joanlegind Nybegynder
13. juni 2001 - 16:32 #5
Det var nu ikke rigtigt det jeg efterlyste.

Effekten jeg vil have svarer til at man skruer ned for lyset på skærmen (men dialogboxen forbliver med samme lysstyrke)
Ved du hvordan man gør det ?
Avatar billede martinlind Nybegynder
13. juni 2001 - 16:53 #6
Override Paint på din form, og leg med brush\'en på canvas\'en;

Procedure Paint;
begin
  inherited; 
  if aFlag then Canavs.Brush.Color := clDarkGray
  else Canavs.Brush.Color := clBtnFace;
end;

procedure ShowDlg;
begin
  aFlag := TRUE;
  Invalidate;
  <ShowDlg>
  aFlag := FALSE;
  Invalidate;
end;

Du kan også lave en masse mønster med din brush, så prøv at leg lidt med det.

/Martin
Avatar billede joanlegind Nybegynder
13. juni 2001 - 16:57 #7
Jeg prøver, og takker. Opretter spørgsmålet igen hvis jeg ikke får det til at virke.
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