我一直在Progress OpenEdge文档(https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/message-statement.html)中寻找消息对齐,但无法找到它。
如何以本机方式设置以父表单为中心的消息框?
谢谢
答案 0 :(得分:0)
简短的回答是你不能!
答案很长,您可以调用win32 API并以特定方式设置消息框。
然而,快速浏览Win32 API(以及.NET)显示无法修改默认位置:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox.show(v=vs.110).aspx
解决方法可能是使用定义为对话框的框架。
这是一个非常快速和脏的代码,可以帮助您入门:
DEFINE BUTTON b1 LABEL "OK".
DEFINE VARIABLE cMsg AS CHARACTER NO-UNDO FORMAT "x(30)" .
DEFINE FRAME fr1
cMsg NO-LABEL
b1
cMsg AT COLUMN 1 ROW 1
b1 AT COLUMN 5 ROW 3
WITH VIEW-AS DIALOG-BOX SIZE 40 BY 5
.
ENABLE b1 WITH FRAME fr1.
ON "choose":U OF b1
DO:
MESSAGE "You pressed OK!" VIEW-AS ALERT-BOX.
APPLY "close" TO FRAME fr1.
END.
/* Set the location */
FRAME fr1:ROW = 10.
FRAME fr1:COL = 30.
cMsg = "This is the message".
DISPLAY cMsg WITH FRAME fr1.
WAIT-FOR "close" OF FRAME fr1.
答案 1 :(得分:0)
您可以使用System.Windows.Forms.MessageBox。
这使您可以在所需位置显示消息。