2010-07-02 1 views
0

1.i получили класс из CStatic под названием CLed_arr. 2.a в диалоговом окне в редакторе ресурсов было добавлено cstatic control с именем IDC_leds. 3.a для этого IDC_leds был создан оператор var, называемый m_led_arr класса CLed_arr. 4. класс CLed_arr содержит массив Led [16] объектов класса CLed. 5. Класс CLed сам по себе происходит от CStatic. 6.i не захотелось поместить эти 16 светодиодных окон в редактор ресурсов, но захотелось создать их во время выполнения. Для создания этих 16 окон требуются координаты материнского окна ieIDC_leds. Я попытался создать процесс в конструкторе CLed_arr. Но, вероятно, в этот момент окно класса недоступно, поэтому я получаю exception.so я хотел сделать это с помощью некоторого обработчика сообщений, используя создание окна сообщения этого класса, т.е. CLed_arr.but единственное сообщение доступно для этого класса BN_CLICKED.сообщения для cstatic

7.pls поможет мне понять, почему для этого окна доступно только сообщение BN_CLICKED, а также какой метод, если он доступен для добавления дополнительных сообщений для этого окна. 8.i'm может создать эти 16 окон, если я создам их в OnitDialog(), но я хочу развить этот CLed_arr как класс, основные процедуры которого входят в класс.

PLS. HLP.

Thnx

ответ

1

В MFC CWnd является базовым классом для большинства классов пользовательского интерфейса, для CStatic, а также конечно. Так что попробуйте обработать сообщение WM_CREATE из CWnd. Он появится, как только окно будет создано, но как только оно станет видимым. Для получения дополнительной информации см. here

Смежные вопросы