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: 1301
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);
|
|
|