我想在程序中动态创建一大堆按钮,并且每个按钮都可以响应不同的消息。单独的用程序创建一个按钮,并且手工添加消息我刚刚弄明白了,可是如果所有按钮都是动态创建的那怎么办呢?1、是不是要事先定义出好多ID号来以供动态创建时使用?2、因为每个按钮响应消息都是对应一条消息响应程序的,这些动态创建的按钮的消
   息响应怎么写呢?我是新手,请大家帮我提一下醒,有时间有精力的帮我说明白一点,谢谢谢谢!!

解决方案 »

  1.   

    ON_COMMAND_RANGE
    最好ID號連續編碼.
    在一個消息響應函數里用分支語名處理.
      

  2.   

    谢谢,那第二个问题呢,我还是不太明白比方说定义一个消息要手工写上以下句子
      ON_BN_CLICKED(IDC_BUTTON2, OnButton2)我知道这一句是将ID为:IDC_BUTTON2的按钮和OnButton2函数相边,可是动态生成的按钮怎么来关联呢?
      

  3.   

    谢谢,那第二个问题呢,我还是不太明白比方说定义一个消息要手工写上以下句子
      ON_BN_CLICKED(IDC_BUTTON2, OnButton2)我知道这一句是将ID为:IDC_BUTTON2的按钮和OnButton2函数相边,可是动态生成的按钮怎么来关联呢?
      

  4.   

    在你的消息处理函数中处理:
    重载DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    if(message == WM_COMMAND){
      switch(wParam){
      case IDC_BUTTON2:
         todo...
         break;
      case IDC_BUTTON3:
         todo...
         break;
      }
    }