Re[5]: Умоляю!!! Как связать control-переменную с элементом?
От: Serguei666 Беларусь  
Дата: 29.07.03 18:21
Оценка: 3 (1)
Здравствуйте, Рома, Вы писали:

Р>Здравствуйте, Serguei666, Вы писали:


S>>Здравствуйте, Рома, Вы писали:


Р>>>Здравствуйте, Serguei666, Вы писали:


Р>>>Не работало, кстати.

S>>Неправильно использовали.
Р>

Р>Делаем так — валится на ASSERT.

Р>
Р>    CStatic myStatic;
Р>    myStatic.Create(_T("my static"), WS_CHILD|SS_BLACKRECT|WS_VISIBLE|SS_CENTER, 
Р>                            CRect(10,10,150,50), this, IDS_PICTSTATIC);
Р>    myPicture.SubclassWindow(myStatic.m_hWnd);
Р>

Р>Вот тут.
Р>
Р>    ASSERT(FromHandlePermanent(hWndNew) == NULL);// must not already be in permanent map
Р>


Р>Делаем так

Р>
Р>    CStatic myStatic;
Р>    myStatic.Create(_T("my static"), WS_CHILD|SS_BLACKRECT|WS_VISIBLE|SS_CENTER, 
Р>                            CRect(10,10,150,50), this, IDS_PICTSTATIC);
Р>    myPicture.SubclassWindow(myStatic.Detach());
Р>

Р>Тоже не работает

В чем выражается "не работает"? Тоже ASSERT? В каком месте?

Р>Я пробовал эти два варианта.

Р>Можно узнать как правильно?

У вас не написано, какой тип имеет переменная myPicture. Буду считать, что тоже CStatic.
если нет, то укажите, какой тип.
Итак, для myPicture типа CStatic:

myPicture.Create(_T("my static"), WS_CHILD|SS_BLACKRECT|WS_VISIBLE|SS_CENTER, 
 CRect(10,10,150,50), this, IDS_PICTSTATIC);


В обоих примерах у вас написано слишком много. Вы или вызываете Create, или SubclassWindow. И то, и другое одновременно — это лишнее, хотя можно заставить работать и такое.
Хотите сказать 'спасибо'? Тогда поставьте оценку
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.