你现在位置:首页>技术论文>软件知识>正文
做wincc项目热线帮助的几个层次(转)
日期:2006-9-5 23:20:14 来源:中华工控网  
点击: 作者:吴 昊
点击【】放大字体.
做wincc项目时,如果做热线帮助的话,我认为有下列几个层次: 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

初级:在画面中用文本来编写,用热键或按钮调出帮助画面; 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

中级:编译*.hlp文件或*.chm文件,用热键或按钮调出windows格式的帮助; 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

高级:编译*.hlp文件或*.chm文件,用C语言实现上下文相关的帮助,根据画面上不同图元显示不同的帮助主题; 
P.L.C.技.术.网——可编程控制器技术门户

各位大侠认为对不对? 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

第二种方式直接运行*.chm文件,例如: 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

ProgramExecute("C:\\WINDOWS\\hh.exe c:\\calc.chm") 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

比较简单,关键是两点: 
plcjs.技.术_网

一、编译一个好看的*.chm文件; 
WWW_P※LCJS_CO※M-PLC-技-.术_网

二、当WINCC项目运行时,如果屏蔽了Ctrl+Alt+Del键,可能会出现多次打开*.chm文件的现象。解决方法是检测程序是否已经运行,已经运行的话,将其设为前台显示;如果尚未运行,则运行它,例如: 
WWW_P※LCJS_CO※M-PLC-技-.术_网

HWND Handle= NULL; 
WWW_PLCJS@_COM%-PLC-技.术_网

Handle= FindWindow("OMAIN",NULL); 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

if(Handle) 
WWW_P※LCJS_CO※M-PLC-技-.术_网

{  
WW.W_PLCJS_COM-PLC-技.术_网

ShowWindow(Handle, SW_MINIMIZE); // This entry is only necessary for Windows 2000  
WWcW_PLCJS_COM-PLC-技.术_网

ShowWindow ( Handle, SW_SHOWNORMAL ); 
WWW_PLCJS_COM-PLC-技.术_网

SetForegroundWindow(Handle);  
WWW_PL※CJS_COM-PLC-技.术_网

}  
WWW_PLCJS_COM-PLC-技.术_网

else 
WWcW_PLCJS_COM-PLC-技.术_网

ProgramExecute("C:\\MSOffice.97\\Office\\ACCESS.EXE");  
WWW_PLCJS@_COM%-PLC-技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

实现第三种所谓的图文相关的帮助其实并不难。有VB或DELPHI编程经验的同行一定记得很多控件有HelpType和HelpContext属性吧。用C语言直接调用HLP文件,实现上下文相关的帮助,直接跳到你所需的页面,也很简单: 
WWW_P※LCJS_CO※M-PLC-技-.术_网

#pragma code("user32.dll") 
WWW_PLCJS_COM-PLC-技.术_网

BOOL WinHelpA(hwnd, lpszHelpFile, fuCommand, dwData); 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

#pragma code() 
P.L.C.技.术.网——可编程控制器技术门户

#define HELP_CONTENTS 0x0003L 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

void WinHelpApi() 
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

HWND hwnd; /* handle of window requesting help */ 
WW.W_PLCJS_COM-PLC-技.术_网

char HelpFile[255]; 
WWW_PL※CJS_COM-PLC-技.术_网

UINT fuCommand; /* type of help */ 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

DWORD dwData; /* additional data */ 
WWW_PLCJS@_COM%-PLC-技.术_网

BOOL bRetVal; 
WWW_P※LCJS_COM-PLC-)技.术_网

LPCTSTR lpszHelp; 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

lpszHelp = HelpFile; 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

strcpy(HelpFile, "c:\\Win.95\\Help\\Calc.hlp"); 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

hwnd = FindWindow("PDLRTisAliveAndWaitsForYou","WinCC Runtime - "); 
W1WW_P4LCJS_COM-PLC-技.术_网

fuCommand = HELP_CONTENTS; 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

dwData = 0L; 
WWW_P※LCJS_COM-PLC-)技.术_网

bRetVal=WinHelpA((DWORD) hwnd,(DWORD) lpszHelp, fuCommand, dwData); 
——可——编——程——控-制-器-技——术——门——户

printf("hwnd: %d \r\n",hwnd); 
WWcW_PLCJS_COM-PLC-技.术_网

printf("HelpFile: %s \r\n",HelpFile); 
WWW_P※LCJS_CO※M-PLC-技-.术_网

printf("bRetVal: %d \r\n",bRetVal); 
WWW.PLCJS.COM——可编程控制器技术门户

WWW_PLCJS@_COM%-PLC-技.术_网

其实困难的倒是编辑图文并茂的.hlp文件,因为你要计划好各个主题,并在WINCC的不同地方调用他们
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行