C语言里面的MessageBox对话框用法:
MessageBox(title,text{,icon{,button{,default}}})
参数title:string类型,指定消息对话框的标题。text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值。icon:Icon枚举类型,可选项,指定要在该对话框左侧显示的图标。button:Button枚举类型,可选项,指定显示在该对话框底部的按钮。default:数值型,可选项,指定作为缺省按钮的按钮编号,按钮编号自左向右依次计数,缺省值为1,如果该参数指定的编号超过了显示的按钮个数,那么MessageBox()函数将使用缺省值返回值Integer。函数执行成功时返回用户选择的按钮编号(例如1、2、3等),发生错误时返回-1。如果任何参数的值为NULL,MessageBox()函数返回NULL。
用法
MessageBox()函数的icon参数指定显示在窗口中的图标,它是枚举类型,可能取值为: 取值 图标Information!StopSign! Exclamation! ! None!无图标其中Information!是Icon参数的缺省值。Button参数指定在窗口中显示哪些按钮,有效取值为:取值中文Windows95下显示OK!“确定”按钮OKCancel!“确定”、“取消”按钮YesNo!“是”、“否”按钮YesNoCancel!“是”、“否”、“取消”按钮RetryCancel!“重试”、“取消”按钮AbortRetryIgnore!“终止”、“重试”、“忽略”按钮
函数原型
int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINTUType);
参数
hWnd:标识将被创建的消息框的拥有窗口。如果此参数为NULL,则消息框没有拥有窗口。
lpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。
lpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。
uType:指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。
指定下列标志中的一个来显示消息框中的按钮,标志的含义如下。
MB_ABORTRETRYIGNORE:消息框含有三个按钮:Abort,Retry和Ignore。
MB_OK:消息框含有一个按钮:OK。这是缺省值。
MB_OKCANCEL:消息框含有两个按钮:OK和Cancel。
MB_RETRYCANCEL:消息框含有两个按钮:Retry和Cancel。
MB_YESNO:消息框含有两个按钮:Yes和No。
MB_YESNOCANCEL:消息框含有三个按钮:Yes,No和Cancel。
指定下列标志中的一个来显示消息框中的图标:标志的含义如下。
MB_ICONEXCLAMATION:
MB_ICONWARNING:一个惊叹号出现在消息框。
MB_ICONINFORMATION:
MB_ICONASTERISK:一个圆圈中小写字母i组成的图标出现在消息框。
MB_ICON:一个问题标记图标出现在消息框。
MB_ICONSTOP:
MB_ICONERROR:
MB_ICONHAND:一个停止消息图标出现在消息框。
指定下列标志中的一个来显不缺省的按钮:标志的含义如下。
MB_DEFBUTTON1:第一个按钮为缺省按钮。如果MB_DEFBUTTON2,MB_DEFBUTTON3,MB_DEFBUTTON4没有被指定,则MB_DEFBUTTON1为缺省值。
MB_DEFSUTTON2;第二个按钮为缺省按钮。
MB_DEFBUTTON3:第三个按钮为缺省按钮。
MB_DEFBUTTON4:第四个按钮为缺省按钮。
指定下列标志中的一个来显示对话框的形态:标志的含义如卜。
MB_APPLMODAL:在hwnd参数标识的窗口中继续工作以前,用户一定响应消息框。但是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母消息框的子窗口自动地失效,但是弹出窗口不是这样。如果既没有指定MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL为缺省的。
MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST类型,MB_APPLMODAL和WS_EX_TOPMOST一样。用系统模态消息框来改变各种各样的用户,主要的损坏错误需要立即注意(例如,内存溢出)。如果不是那些与hwnd联系的窗口,此标志对用户对窗口的相互联系没有影响。
MB_TASKMODAL:如果参数hwnd为NULL,除了所有属于当前线程高层次的窗口足失效的,MB_TASKMODALL和MB_ApPLMODAL一样。当调用应用程序或库没有一个可以得到的窗口句柄时,使用此标志。但仍需要阻止到调用应用程序甲其他窗口的输入而不是搁置其他线程。
另外,可以指定下列标志。
MB_DEFAULT_DESKTOP_ONLy:接收输入的当前桌面一定是一个缺省桌面。否则,函数调用失败。缺省桌面是一个在用户已经纪录且以后应用程序在此上面运行的桌面。
MB_HELP:把一个Help按钮增加到消息框。选择Help按钮或按F1产生一个Help事件。
MB_RIGHT:文本为右调整。
MB_RTLREADING:用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。
MB_SETFOREGROUND:消息框变为前景窗口。在内部系统为消息个调用SetForegroundWindow函数。
MB_TOPMOSI:消息框用WS_EX_TOPMOST窗口类型来创建MB_SERVICE_NOTIFICATION。
7、获取窗口句柄-一般用于C语言,可以设置弹出对话框的所属窗口,我试着就这一个好用,不知道还有没有别的办法
HWND hwnd;
hwnd=GetForegroundWindow();
8、改变窗口位置和大小
HWND hwnd;
hwnd=GetForegroundWindow();
MoveWindow(hwnd,0,0,1366,768,TRUE);
9、注册表文件读写
Dim objWshShell
Set objWshShell = CreateObject("Wscript.Shell")
Dim shell
shell="regedit.exe /s " & HMIRuntime.ActiveProject.Path & "OCX" &"Set_yy-m-d.reg"
objWshShell.Run shell, 1
10、单按钮启停-好像也叫乒乓键...
VBS HMIRuntime.Tags("A").Write 1-HMIRuntime.Tags("A").Read
C:SetTagBit("A",!GetTagBit("A"));
11、多层次画面对象设置
VBS画面嵌套多了,对象查找少麻烦点,比如主画面“A.PDL"内有画面窗口控件“PIC_WIN_A”,该画面窗口调用画面“B.PDL”,在B.PDL画面中又有一个画面窗口控件“PIC_WIN_B”,这个画面窗口调用画面“C.PDL”,在C.PDL画面里面有一个按钮名称为“BT_A”,如果想设置成这个对象,需要如下设置:
dim a
SETa=HMIRunTime.Screens("A.PIC_WIN_A:B.PIC_WIN_B:C").ScreenItems("BT_A")
C脚本里面的对象设置相对来说简单一些,直接选择对象所在的画面就可以了。
就这个问题,在WINCC帮助里面也有说明目录是:使用WINCC->用于创建过程和动作的VBS->VBSReference->Objects and list->ScreensObject(List)