- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Semitransparent formulär Kategori: Forms
Inlagt: 2005-09-29
Läst: 1375
Inlagt av: Staffan Berg
Beskrivning
Bestäm graden av genomskinlighet genom att ställa in värdet för TR_BLEND.
Kod
CONST TRBLEND_DEFAULT   = 254; 
VAR  TR_BLEND : INTEGER = TRBLEND_DEFAULT; 
   RGB_RED  : INTEGER = 0; 
   RGB_GREEN : INTEGER = 0; 
   RGB_BLUE : INTEGER = 0; 
 
//Transparent Code for forms, XP /2000 
const 
 BLEND_COLOR   = $00000001; 
 BLEND_ALPHA   = $00000002; 
 
//the procedure for blending dialogs/forms 
procedure DMBlend(Handle : THandle; Blend, 
          rgbred,rgbgreen,rgbblue:Integer); 
var 
  ExtStyle : LongInt; 
begin 
 ExtStyle := GetWindowLong(Handle, GWL_EXSTYLE); 
 SetWindowLong(Handle, GWL_EXSTYLE, ExtStyle or 
                    WS_EX_LAYERED); 
 SetLayeredWindowAttributes(Handle, 
        RGB(rgbred,rgbgreen,rgbblue), 
        TR_BLEND, BLEND_ALPHA or BLEND_COLOR); 
end; 
 
//calling the procedure 
DMBlend(form.Handle,TR_BLEND, 
              RGB_RED,RGB_GREEN,RGB_BLUE); 
 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -