Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста...
Re: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, OISV, Вы писали:
OIS>Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста...
Используйте функцию SubclassWindow
Хотите сказать 'спасибо'? Тогда поставьте оценку
Re: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, OISV, Вы писали:
OIS>Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста...
Крик души прямо
Static надо создавать вот так. Т.е. не используя MFC обёртку.
40, 140 — ширина, длина.
IDS_PICTSTATIC — идентификатор в ресурсах
void CPictExTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPictExTestDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
if (myWnd)
{
DDX_Control(pDX, IDS_PICTSTATIC, myPicture);
}
}
Это перегруженный DoDataExchange
myWnd — это переменная типа HWHD. Сделай её членом класса.
У меня это работает.
Прикол в том что MFC не хочет сабклассить через DDX_Control, если окна связано уже с обёрткой. Вот и всё.
... << RSDN@Home 1.0 beta 7a >>
Re[2]: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, Serguei666, Вы писали:
S>Здравствуйте, OISV, Вы писали:
OIS>>Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста... S>Используйте функцию SubclassWindow
Не работало, кстати.
... << RSDN@Home 1.0 beta 7a >>
Re[3]: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, Рома, Вы писали:
Р>Здравствуйте, Serguei666, Вы писали:
S>>Здравствуйте, OISV, Вы писали:
OIS>>>Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста... S>>Используйте функцию SubclassWindow Р>Не работало, кстати.
Неправильно использовали.
Хотите сказать 'спасибо'? Тогда поставьте оценку
Re: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, OISV, Вы писали:
OIS>Но элемент создается ДИНАМИЧЕСКИ. Сам уже чуть голову не сломал, издевался над DoDataExchange — так ни к чему и не пришел, а это мне очень надо (для ToolTip'ов, для отображения gif-файлов на этом элементе и т.д.) Как это осуществить, подскажите, пожалуйста...
Справились уже?
Если нет, то показывайте код и давайте детали — как переменную декларируете, как создаете контрол, что в DoDataExchange делаете, что хотите получить, что получается.
Ответ на каждый вопрос должен быть проиллюстрирован парой строчек кода. Тогда я буду иметь возможность вам помочь
Хотите сказать 'спасибо'? Тогда поставьте оценку
Re[4]: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, Рома, Вы писали:
Р>Здравствуйте, Serguei666, Вы писали:
S>>Здравствуйте, Рома, Вы писали:
Р>>>Здравствуйте, Serguei666, Вы писали:
Р>>>Не работало, кстати. S>>Неправильно использовали. Р>
Р>Делаем так — валится на ASSERT. Р>
В чем выражается "не работает"? Тоже ASSERT? В каком месте?
Р>Я пробовал эти два варианта. Р>Можно узнать как правильно?
У вас не написано, какой тип имеет переменная myPicture. Буду считать, что тоже CStatic.
если нет, то укажите, какой тип.
Итак, для myPicture типа CStatic:
В обоих примерах у вас написано слишком много. Вы или вызываете Create, или SubclassWindow. И то, и другое одновременно — это лишнее, хотя можно заставить работать и такое.
Хотите сказать 'спасибо'? Тогда поставьте оценку
Re[6]: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, Serguei666, Вы писали:
S>Здравствуйте, Рома, Вы писали:
Р>>Здравствуйте, Serguei666, Вы писали:
S>>>Здравствуйте, Рома, Вы писали:
Р>>>>Здравствуйте, Serguei666, Вы писали:
Р>>>>Не работало, кстати. S>>>Неправильно использовали. Р>>
Р>>Делаем так — валится на ASSERT. Р>>
Р>>Тоже не работает
S>В чем выражается "не работает"? Тоже ASSERT? В каком месте?
ASSERT, в WinCore.cpp, в SubclassWindow, кажется. Р>>Я пробовал эти два варианта. Р>>Можно узнать как правильно?
S>У вас не написано, какой тип имеет переменная myPicture. Буду считать, что тоже CStatic. S>если нет, то укажите, какой тип.
Ну, вопрос был не мой. Вообще, CPictureEx : CStatic S>Итак, для myPicture типа CStatic:
S>
Короче, сабклассить и не надо было. Был собственно вопрос. Посмотрите ниже, "как правильно static элемент создать"
Это меня и сбило с толку, продолжение темы т.с..
Ладно, спасибо, что закрыли хоть часть бездны моего незнания
... << RSDN@Home 1.0 beta 7a >>
Re[6]: Умоляю!!! Как связать control-переменную с элементом?
Здравствуйте, Serguei666, Вы писали:
S>Здравствуйте, Рома, Вы писали:
Р>>Здравствуйте, Serguei666, Вы писали:
S>>>Здравствуйте, Рома, Вы писали:
Р>>>>Здравствуйте, Serguei666, Вы писали:
Р>>>>Не работало, кстати. S>>>Неправильно использовали. Р>>
Р>>Делаем так — валится на ASSERT. Р>>
Р>>Тоже не работает
S>В чем выражается "не работает"? Тоже ASSERT? В каком месте?
ASSERT, в WinCore.cpp, в SubclassWindow, кажется. Р>>Я пробовал эти два варианта. Р>>Можно узнать как правильно?
S>У вас не написано, какой тип имеет переменная myPicture. Буду считать, что тоже CStatic. S>если нет, то укажите, какой тип.
Ну, вопрос был не мой. Вообще, CPictureEx : CStatic S>Итак, для myPicture типа CStatic:
S>
Короче, сабклассить и не надо было. Был собственно вопрос. Посмотрите ниже, "как правильно static элемент создать"
Это меня и сбило с толку, продолжение темы т.с..
Ладно, спасибо, что закрыли хоть часть бездны моего незнания