居中消息框 .NET - Progress Developer Studio for OpenEdge 11.6(32 位)
Centered Message Box .NET - Progress Developer Studio for OpenEdge 11.6 (32-bit)
我一直在 Progress OpenEdge 文档 (https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/message-statement.html) 中寻找消息对齐,但找不到。
如何原生设置消息框以父窗体居中?
谢谢
简而言之,你不能!
长答案是您可以调用 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
解决方法可能是使用定义为 dialog-box 的框架。
这是一个非常快速但不完整的代码,可以帮助您入门:
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.
您可以使用 System.Windows.Forms.MessageBox。
这样您就可以在所需位置显示消息。
我一直在 Progress OpenEdge 文档 (https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/message-statement.html) 中寻找消息对齐,但找不到。
如何原生设置消息框以父窗体居中?
谢谢
简而言之,你不能!
长答案是您可以调用 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
解决方法可能是使用定义为 dialog-box 的框架。
这是一个非常快速但不完整的代码,可以帮助您入门:
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.
您可以使用 System.Windows.Forms.MessageBox。
这样您就可以在所需位置显示消息。