DSkinlite 使用技巧(二):MessageBox

DSkinLite V3.2 添加了MessageBox支持,通过dsMessageBox API实现美化效果。用户可在XML中配置相关参数,如字体、按钮宽高、间距等,并在程序中直接替换原有MessageBox调用。未来的版本还会增加更多功能。

image

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的字体。
    • 指定MessageBox区域之间的间隙。如下图所示:

      image



    • 指定Messagebox的dialog风格,此风格为xml中定义的类型为dialog的风格。
    • 如果需要使用自定义的Ico图片,可以在此定义四种类型的image图片,id为dsimage中定义的图片。如果此值不定义,将使用Windows默认的图标。

    • 定义语言,如果需要在非英语环境中使用dsMessageBox,在此定义对应语言的字符串。 例如中文:

      •  

      在程序中调用dsMessageBox

      在应用程序中调用dsMessageBox即可显示skin后的messagebox,其参数和Windows API MessageBox参数一样。

      int nRet = dsMessageBox( GetSafeHwnd(), strText, _T("Hint"), MB_OK|MB_ICONSTOP);

      综上所述,DSkinLite提供的dsMessageBox简单易用,今后的版本中,我们还将向MessageBox加入新的功能。

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值