MFC对话框中***添加对话框关联类为何没有ID?
我们选择新建工程MFC默认的对话框,然后我新建类向导,增加一个新类,但是他的ID却是空白的。而我在资源中再插入一个对话框,然后新建类向导里增加一个新类,这个时候对话框ID...
我们选择新建工程MFC默认的对话框,然后我新建类向导,增加一个新类,但是他的ID却是空白的。
而我在资源中再插入一个对话框,然后新建类向导里增加一个新类,这个时候对话框ID选择才有ID
这是为什么 展开
而我在资源中再插入一个对话框,然后新建类向导里增加一个新类,这个时候对话框ID选择才有ID
这是为什么 展开
展开全部
在前一种方式中,因为没有可用ID,所以是空的,但是你先添加对话框资源后,向导会认为有可用对话框ID.就是这样的原因,如果采用前一种方法创建对话框时,为对话框类创建的资源需要自己手动添加到对话框类里面进行对话框类与对话框资源的关联。后一种方式所有的关联代码向导会自动添加,这样就很方便。
追问
有对话框,就应该会有对应的ID啊,在资源中他是有ID的,但是添加对话框类的时候他ID选项却是空白。
我想问的是,一个是默认创建的对话框(新建工程MFC,基本对话框),一个是后面插入的对话框,为何添加对话框类关联对话框的时候,其关联的ID选项,只有后面插入的对话框ID,而没有之前默认创建的对话框ID?
追答
一般来说已经被关联的对话框资源就不会再显示了。而且应该不显示,供用对话框资源在向导进行消息映射时引起混乱;不过在使用中确实有显示最近已经关联的一个对话框资源ID的情况,不过比较少见,而且也不会影响使用。只要记住已经被关联了的对话框资源,就不要在向导里面进行关联,如果确实需要,可以自己动手添加。代码就是这样:
enum { IDD = IDD_TEST_DIALOG };
IDD = IDD_TEST_DIALOG就是被关联的对话框资源。修改这个就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询