СРОЧНА

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
_Sorrey_
Сообщения: 2
Зарегистрирован: 14 дек 2006, 23:55

Народ кто знает как в вижуале Си вызывать переменные, вот например: создал я ,значит, простое диалоговое приложение, создал в нем еще один диалог, потом прописал на кнопке первого диалога, открытие второго, ну и вот, на первом диалоге есть переменные и я никак не могу выполнять над ними действия на втором диалоговом окне. Помогите плиз уже 5 часов ломаю голову над этим(
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Книжки читать нужно... (не помогу Delphi-ст я, си давно забыл)
Dinno
Сообщения: 9
Зарегистрирован: 10 дек 2006, 04:13

Обычно делается так: Ты передаешь в создаваемое окно параметры. В качестве параметра может быть все что угодно, например хэндл вызывающей формы или указатель на связанный с ней класс.

Чтобы передать эти параметры нужно воспользоваться параметром lpParam функции CreateWindow или CreateWindowEx. То, что ты туда передашь, придет в вызванную форму на сообщении WM_CREATE в структуре CREATESTRUCT (см. Хелпы).

Другое дело, что изменять данные хранящиеся в другой форме не стоит. Если тебе нужно вернуть данные в форму из модального диалога, нужно создать для этой цели специальную структурку, передать ее адрес через lpParam и в вызванном диалоге менять поля этой структуры, а не поля в вызывающей форме. В случае с немодальными окнами все сложнее...
Ответить