在属性页中添加字体对话框

[来源] 达内    [编辑] 达内   [时间]2013-03-07

在属性页中添加字体对话框

  mfc提供了三种属性页类:cfontproppage、ccolorproppage和cpictureproppage。但是,它们只能与ole

  automation一起使用。在本文中将介绍如何在属性对话框中添加字体属性页。解决的办法是你自己建立字体属性页。为了让你能定制通用对话框的行为,sdk提供了这些对话框的对话框资源。“choose

  font”对话框是在include目录中的font.dlg文件中,相应的符号在dlgs.h文件中。使用这些文件作为出发点,我们可以为字体属性页建立资源,并且添加一个使用这些资源的cpropertypage继承类。下面的实现可能是有限的的,但也有一定的参考价值。如果你想增强它,可以查看mfc源程序目录中的cfontproppage源文件。

  第一步:添加对话资源

  你可以在devstudio中打开下面的rc文件devstudio,然后把对话框资源复制到你的主资源文件中,或者你也可以把该资源文件包含进去。为了复制资源文件,请在devstudio中打开“fontpage.rc”文件,然后展开资源的outline。然后 打开resourceview,以便对话框资源是可见的。最后,从fontpage.rc中拖动idd_fontpage资源到你的应用程序resourceview的资源中。如果你想包含fontpage资源文件,只要把“fontpage.rc”和“fontpagerc.h”文件(在下面列出)到项目目录中的“res”目录中即可。然后在该目录中已有的“rc2”文件中添加下面这段。资源图像也列在下面。

  #include "fontpage.rc"

  listing of fontpage.rc

  /////////////////////////////////////////////////////////////////////////

  //listing

  of fontpage.rc//

  #include "winresrc.h"

  #include

  "fontpagerc.h"

  idd_fontpage dialog discardable 13, 54, 264, 133

  style

  ws_child | ws_caption | ws_sysmenu

  caption "font"

  font 8,

  "helv"

  begin

  ltext "&font:",stc1,6,3,40,9

  combobox idc_font,6,13,131,54,cbs_simple | cbs_autohscroll |

  cbs_sort | cbs_disablenoscroll | ws_vscroll | ws_tabstop

  ltext "font st&yle:",stc2,153,3,44,9

  combobox idc_style,153,13,64,54,cbs_simple |cbs_disablenoscroll

  |ws_vscroll | ws_tabstop

  ltext "&size:",stc3,224,3,30,9

  combobox idc_fontsize,224,13 ,54,cbs_simple |cbs_disablenoscroll

  |ws_vscroll |ws_tabstop

  groupbox

  "effects",grp1,6,72,84,34,ws_group

  control

  "stri&keout",idc_strikeout,"button",bs_autocheckbox

  |ws_tabstop,10,82,49,10

  control

  "&underline",idc_underline,"button",bs_autocheckbox,10,94,51,10

  groupbox

  "sample",grp2,98,72,160,49,ws_group

  ctext

  "aabbyyzz",idc_sample,104,81,149,37,ss_noprefix

  end

  /////////////////////////////////////////////////////////////////////////

  //

  listing of fontpagerc.h

  /////////////////////////////////////////////////////////////////////////

  #define

  idc_strikeout 0x0410

  #define idc_underline 0x0411

  #define grp1

  0x0430

  #define grp2 0x0431

  #define stc1 0x0440

  #define stc2

  0x0441

  #define stc3 0x0442

  #define idc_sample 0x0444

  #define idc_font

  0x0470

  #define idc_style 0x0471

  #define idc_fontsize 0x0472

  #define

  idd_fontpage

  1543

资源下载