Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

Полупрозрачный MessageBox   Найти похожие ветки 

 
Sorcerer   (2006-03-27 16:51) [0]

Здравствуйте! Как средствами Win API вывести полупрозрачный MessageBox?


 
Sorcerer   (2006-03-27 16:52) [1]

OS win XP.


 
easy ©   (2006-03-27 21:11) [2]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;
const
 WM_MSGBOX  = WM_USER + 1;
type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
   procedure msgBoxShow(var msg: TMessage); message WM_MSGBOX;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure make50transp(winHWND: HWND);
var
 exStyle: Longint;
begin
 exStyle := GetWindowLong(winHWND, GWL_EXSTYLE);
 if (exStyle and WS_EX_LAYERED = 0) then begin
   exStyle := exStyle or WS_EX_LAYERED;
   SetwindowLong(winHWND, GWL_EXSTYLE, exStyle);
 end;
 SetLayeredWindowAttributes(winHWND, 0, 128, LWA_ALPHA);
end;

procedure TForm1.msgBoxShow(var msg: TMessage);
var
 msgbHandle: HWND;
begin
 msgbHandle := GetActiveWindow;
 if msgbHandle <> 0 then
   make50transp(msgbHandle);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 PostMessage(handle, WM_USER + 1, 0, 0);
 MessageBox(handle, "This Is A Transparent Message Box", "50% MessageBox.", MB_OK or MB_ICONWARNING);
end;

end.


 
Sorcerer   (2006-03-28 16:31) [3]

> easy ©   (27.03.06 21:11) [2]

Спасибо огромное!



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.012 c
2-1149345643
AlexanderMS
2006-06-03 18:40
2006.06.25
TFileStream.CopyFrom


15-1149143398
Игорь Шевченко
2006-06-01 10:29
2006.06.25
Offtopic: Ищется квартира в Москве на предмет снять :)


15-1149155278
Ega23
2006-06-01 13:47
2006.06.25
Питер FM


4-1143146463
Lucefer
2006-03-23 23:41
2006.06.25
Вопросы по обмену сообщениями между TThread ами


2-1149695691
mr1Andersen
2006-06-07 19:54
2006.06.25
DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский