另外,在delphi中能控制messagebox的弹出位置吗?
15 个解决方案
#1
什么呀
#2
关注 接分
#3
唉,一直没有答案。只有把分给自己了。。。
#4
如果是API的MessageBox,没办法的吧。
如果是ShowMessage,那么可以用ShowMessagePos;
如果是MessageDlg,那么可以用MessageDlgPosHelp;
=================================================================
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000; //一个确定按钮
MB_OKCANCEL = $00000001; //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_ICONASTERISK = $00000040; //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
MB_ICONERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000; //Help Button
3、函数返回值
0 //对话框建立失败
idOk = 1 //按确定按钮
idCancel = 2 //按取消按钮
idAbout = 3 //按异常终止按钮
idRetry = 4 //按重试按钮
idIgnore = 5 //按忽略按钮
idYes = 6 //按是按钮
idNo = 7 //按否按钮
如果是ShowMessage,那么可以用ShowMessagePos;
如果是MessageDlg,那么可以用MessageDlgPosHelp;
=================================================================
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000; //一个确定按钮
MB_OKCANCEL = $00000001; //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_ICONASTERISK = $00000040; //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
MB_ICONERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000; //Help Button
3、函数返回值
0 //对话框建立失败
idOk = 1 //按确定按钮
idCancel = 2 //按取消按钮
idAbout = 3 //按异常终止按钮
idRetry = 4 //按重试按钮
idIgnore = 5 //按忽略按钮
idYes = 6 //按是按钮
idNo = 7 //按否按钮
#5
楼上。猛人也... |
#6
Application.MessageBox('你好,请试一下这个方法', 'test', mb_OK)
#7
这都可以 你也太牛了吧! o(∩_∩)o...哈哈
看下你窗体的位置
把窗体位置设置为居中 看看
具体问题参考下4楼 6楼
#8
MessageBox(Handle, '...', '...', MB_OK);
第一个Handle不要省略,它表示MessageBox的Owner,你要在哪个窗体居中显示就用那个窗体的Handle,用0表示在全屏幕居中,但是有时好像不好用,用Application.Hanlde不知道什么意思,有时候好用有时不好用,因为Application.Handle是个隐藏的主窗体。
第一个Handle不要省略,它表示MessageBox的Owner,你要在哪个窗体居中显示就用那个窗体的Handle,用0表示在全屏幕居中,但是有时好像不好用,用Application.Hanlde不知道什么意思,有时候好用有时不好用,因为Application.Handle是个隐藏的主窗体。
#9
Application.MessageBox
应该在中间才对,不应该在右下角啊
应该在中间才对,不应该在右下角啊
#10
4楼说的真详细
#11
我也遇到过
没事的,不用管它,过段时间,他自动就好拉.
没事的,不用管它,过段时间,他自动就好拉.
#12
很可能是出现了一个小错误,那个提示被盖住了,
之后其他的提示框都会在那个位置出现,建议检查下进程
或者看看重启系统后会否发生
之后其他的提示框都会在那个位置出现,建议检查下进程
或者看看重启系统后会否发生
#13
这是头痛的事
#14
关注
#15
谢谢各位兄弟姐妹的回答。
总结:
是操作系统的问题。在2000环境下编译的,到了NT下面使用的时候经常会出现这样的情况。但不知道和系统的什么参数有关。重装系统好了。
总结:
是操作系统的问题。在2000环境下编译的,到了NT下面使用的时候经常会出现这样的情况。但不知道和系统的什么参数有关。重装系统好了。
#1
什么呀
#2
关注 接分
#3
唉,一直没有答案。只有把分给自己了。。。
#4
如果是API的MessageBox,没办法的吧。
如果是ShowMessage,那么可以用ShowMessagePos;
如果是MessageDlg,那么可以用MessageDlgPosHelp;
=================================================================
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000; //一个确定按钮
MB_OKCANCEL = $00000001; //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_ICONASTERISK = $00000040; //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
MB_ICONERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000; //Help Button
3、函数返回值
0 //对话框建立失败
idOk = 1 //按确定按钮
idCancel = 2 //按取消按钮
idAbout = 3 //按异常终止按钮
idRetry = 4 //按重试按钮
idIgnore = 5 //按忽略按钮
idYes = 6 //按是按钮
idNo = 7 //按否按钮
如果是ShowMessage,那么可以用ShowMessagePos;
如果是MessageDlg,那么可以用MessageDlgPosHelp;
=================================================================
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000; //一个确定按钮
MB_OKCANCEL = $00000001; //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_ICONASTERISK = $00000040; //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
MB_ICONERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000; //Help Button
3、函数返回值
0 //对话框建立失败
idOk = 1 //按确定按钮
idCancel = 2 //按取消按钮
idAbout = 3 //按异常终止按钮
idRetry = 4 //按重试按钮
idIgnore = 5 //按忽略按钮
idYes = 6 //按是按钮
idNo = 7 //按否按钮
#5
楼上。猛人也... |
#6
Application.MessageBox('你好,请试一下这个方法', 'test', mb_OK)
#7
这都可以 你也太牛了吧! o(∩_∩)o...哈哈
看下你窗体的位置
把窗体位置设置为居中 看看
具体问题参考下4楼 6楼
#8
MessageBox(Handle, '...', '...', MB_OK);
第一个Handle不要省略,它表示MessageBox的Owner,你要在哪个窗体居中显示就用那个窗体的Handle,用0表示在全屏幕居中,但是有时好像不好用,用Application.Hanlde不知道什么意思,有时候好用有时不好用,因为Application.Handle是个隐藏的主窗体。
第一个Handle不要省略,它表示MessageBox的Owner,你要在哪个窗体居中显示就用那个窗体的Handle,用0表示在全屏幕居中,但是有时好像不好用,用Application.Hanlde不知道什么意思,有时候好用有时不好用,因为Application.Handle是个隐藏的主窗体。
#9
Application.MessageBox
应该在中间才对,不应该在右下角啊
应该在中间才对,不应该在右下角啊
#10
4楼说的真详细
#11
我也遇到过
没事的,不用管它,过段时间,他自动就好拉.
没事的,不用管它,过段时间,他自动就好拉.
#12
很可能是出现了一个小错误,那个提示被盖住了,
之后其他的提示框都会在那个位置出现,建议检查下进程
或者看看重启系统后会否发生
之后其他的提示框都会在那个位置出现,建议检查下进程
或者看看重启系统后会否发生
#13
这是头痛的事
#14
关注
#15
谢谢各位兄弟姐妹的回答。
总结:
是操作系统的问题。在2000环境下编译的,到了NT下面使用的时候经常会出现这样的情况。但不知道和系统的什么参数有关。重装系统好了。
总结:
是操作系统的问题。在2000环境下编译的,到了NT下面使用的时候经常会出现这样的情况。但不知道和系统的什么参数有关。重装系统好了。