21.4.2 创建资源
已有的对话框上需要有一个启动新订单创建过程的按钮,因此添加一个标签为New Order、ID为IDC_NEWORDER的按钮,并且使用Format | Make Same Size | Both菜单确保新的按钮与Cancel按钮具有相同的宽度和高度。之后,如果愿意可以将新按钮放在与Cancel按钮重合的位置,因为任何时刻这两个按钮中间都只有一个是可见的,默认情况下New Order按钮可见。从另一方面来说,如果不希望所处理的资源有一个掩盖另一个的情况,也可以使这两个按钮分开。
如果希望New Order按钮在与Cancel按钮位置相同时出现在上面,则需要确保在制表键顺序中该按钮跟在Cancel按钮后面,通过使用Format | Tab Order菜单项检查这一点。图21-13是经过修改的IDD_SIMPLEUPDATE_FORM对话框窗体,其中New Order按钮与Cancel按钮重合,因此后者被挡在后面。
|
| (点击查看大图)图 21-13 |
可以右击New Order按钮,从弹出菜单中选择Add Event Handler,给COrderDetailsView类添加该按钮的处理程序。如果愿意,可以将处理程序的默认名称缩写为OnNewOrder()。或许需要移动一下New Order按钮,之后再进行右击,这样才能为正确的按钮添加事件处理程序。我们稍后再添加该处理程序的代码。当然,这里只使用Cancel按钮也行,那样我们需要根据COrderDetailsView类中m_Mode成员的状态,修改该按钮的标签并更改其处理程序的作用。但使用这里的这种方法,您将了解到处理两个按钮的技术。
通过在Resource View中右击Dialog文件夹,并从弹出菜单中选择Insert Dialog,可以创建两个新的对话框窗体。将IDD_CUSTOMER_FORM和IDD_PRODUCT_FORM两个ID分别分配给这两个新的对话框窗体。两个窗体都需要使Style属性中的Child和Border属性中的None被选中。还可以使所有这3个对话框窗体大小相同,并比原来的窗体稍微大一些。