DSkinLite V3.2 加入了对MessagBox的支持,可以通过调用API dsMessageBox来得到经过DSkinLite绘制后的MessageBox。dsMessageBox的函数参数跟windows API MessageBox是一样了,用户可以直接将现有程序中的MessageBox替换成dsMessageBox。
在xml中定义 标签
首先,需要在XML文档中配置messagebox所需要的相关参数。如下表所列:
1: <messagebox>
2: <font id="default" />
3: <button width="70" height="30" checkboxHeight=""/>
4: <space leftSpace="0" topSpace="20" buttonSpace="20"
5: verticalSpace="20" iconSpace="0" />
6: <dialogstyle id="dialog" />
7: <ico>
8: <information file="#messagebox.info" />
9: <error file="#messagebox.error" />
10: <question file="#messagebox.question" />
11: <warning file="#messagebox.warning" />
12: ico>
13: <lang>
14: <Abort value="Abort"> Abort>
15: <Cancel value="Cancel"> Cancel>
16: <Continue value="Continue"> Continue>
17: <DoNotAskAgain value="Do not ask again!"> DoNotAskAgain>
18:
19: <DoNotTellAgain value="Do not tell again!"> DoNotTellAgain>
20:
21: <DoNotShowAgain value="Do not show again!"> DoNotShowAgain>
22:
23: <Help value="Help"> Help>
24: <Ignore value="Ignore"> Ignore>
25: <IgnoreAll value="Ignore All"> IgnoreAll>
26: <No value="No"> No>
27: <NoToAll value="No to All"> NoToAll>
28: <Ok value="OK"> Ok>
29: <Report value="Report"> Report>
30: <Retry value="Retry"> Retry>
31: <Skip value="Skip"> Skip>
32: <SkipAll value="Skip All"> SkipAll>
33: <TryAgain value="Try Again"> TryAgain>
34: <Yes value="Yes"> Yes>
35: <YesToAll value="Yes to All"> YesToAll>
36: lang>
37:
38: messagebox>
对上面参数解释如下:
-
定义字体,此字体为MessageBox中文字所需字体,不包含button,dialog的字体。
在程序中调用dsMessageBox
在应用程序中调用dsMessageBox即可显示skin后的messagebox,其参数和Windows API MessageBox参数一样。
int nRet = dsMessageBox( GetSafeHwnd(), strText, _T("Hint"), MB_OK|MB_ICONSTOP);
综上所述,DSkinLite提供的dsMessageBox简单易用,今后的版本中,我们还将向MessageBox加入新的功能。