DELPHI自定义消息框(MessageBox)〖源码和透明背景图标资源〗1包括实现效果,自定义消息框封装函数和调用方法的源代码
http://download.csdn.net/detail/wozengcong/6263775
自定义消息框封装函数:
unit MyMsgBox;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
{-------------------------------------------------------------------------------
作者: 曾聪
日期: 2013.09.13
过程名: MsgBox
功能: 自定义消息对话框,支持DELPHI7~XE5
参数: lText, lCaption: PChar; lStyle: DWord; lIcon: Integer; lBeep: Cardinal
返回值: Integer
说明: lText:消息框内容,lCaption:消息框标题,lStyle:按钮类型(MB_OK或者MB_YESNO等等) + MB_USERICON,lIcon为加载的RES图标资源文件的标号,lBeep为消息框声音(MB_OK或者MB_ICONHAND等等)
-------------------------------------------------------------------------------}
function MsgBox(lText, lCaption: PChar; lStyle: DWord; lIcon: Integer; lBeep: Cardinal): Integer;
implementation
function MsgBox(lText, lCaption: PChar; lStyle: DWord; lIcon: Integer; lBeep: Cardinal): Integer;
var
Msg: TMsgBoxParams;
begin
Msg.cbSize := Sizeof(Msg);
Msg.hwndOwner := Application.Handle;
Msg.hInstance := hinstance;
Msg.lpszText := lText;
Msg.lpszCaption := lCaption;
Msg.dwStyle := lStyle;
Msg.lpszIcon := MakeIntResource(lIcon);
Msg.dwContextHelpId := 1;
Msg.lpfnMsgBoxCallback := nil;
Msg.dwLanguageId := LANG_NEUTRAL;
if lBeep = MB_OK then
MessageBeep(MB_OK)
else if lBeep = MB_ICONASTERISK then
MessageBeep(MB_ICONASTERISK)
else if lBeep = MB_ICONEXCLAMATION then
MessageBeep(MB_ICONEXCLAMATION)
else if lBeep = MB_ICONHAND then
MessageBeep(MB_ICONHAND)
else if lBeep = MB_ICONQUESTION then
MessageBeep(MB_ICONQUESTION);
Result := Integer(MessageBoxIndirect(Msg));
end;
end.