передача данных между диалоговыми окнами
есть 2 диалоговых окна - родительское и дочернее, и нужно передать структуру из родительского в дочернее... идеи есть, но вот почему-то при попытке реализовать - ничего не получается :( и пытался через класс родительского окна(но почему-то не хочет дочернее воспринимать это), и через сообщения(но возникла глупая проблема - как послать сообщение из родительского в дочернее)..
все это в visual studio 2003
если кто знает - помогите пожалуйста :) желательно прямо указать что и как делать) а то кого из друзей не спрашивал - идеи дают, но ни я, ни они реализовать не могут )) заранее спасибо :)
если есть две формы, и в каждой из них есть объект нужной нам структуры, то, создавая новое дочернее диалговое окно и, объявив в классе этого окна объект нужной нам структуры как public (или указать свойство) мы обычным присваивание сможем передать данные из одного окна в другое.
Цитата: Inq
...
и через сообщения(но возникла глупая проблема - как послать сообщение из родительского в дочернее)..
...
если окно 1 в exe1 и окно 2 в exe2 тогда через сендмесcаге wm_copydata
а если окно 1 и окно 2 в одном exe тогда зачем посылать сообщения ?
GraphDlg - это относится ко 2-му окну.... вот... :(
1.cpp
struct my_struct{
...
};
my_struct mmm;
2.cpp
extern my_struct mmm;
:( есть ли какой-нибудь способ этого избежать? а то не хочется перетаскивать все из отдельного файлика в тот где диалог, слишком уж нечитабельно становится :(
Цитата: Inq
спасибо, но тут проблемка - обьявление структуры производится в отдельном файле(вместе с еще кучей всяких функций и обьявлений для удобства использования) и тут возникает проблема - что если не делать во 2-м файле #include "struct.h"(как раз тут и производится обьявление структуры) то компилятор ругается :( а если делать - то опять же error LNK2005: "double __cdecl delta(struct x__y *,struct x__y *)" (?delta@@YANPAUx__y@@0@Z) already defined in GraphDlg.obj
:( есть ли какой-нибудь способ этого избежать? а то не хочется перетаскивать все из отдельного файлика в тот где диалог, слишком уж нечитабельно становится :(
:( есть ли какой-нибудь способ этого избежать? а то не хочется перетаскивать все из отдельного файлика в тот где диалог, слишком уж нечитабельно становится :(
Просто у тебя в хедере определяются переменные, тебе нужно сделать, чтоб в хедере были только объявления типов, а все определения переменных делать в .cpp, причем в одном обычные определения, а в другом extern
ПС: да, иногда действительно стоит немного отвлечься от программы))