· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› GWL_ID

Посл.отвђт Сообщенiе


Дата: Июл 10, 2004 00:38:01

Всем привет. Люди, объясните, пожалуйста, такую вещь: можно ли менять GWL_ID окна, созданного таким образом:
invoke CreateWindowEx,WS_EX_LEFT or WS_EX_ACCEPTFILES,
ADDR szStaticClass,
ADDR szDisplayName,
WS_POPUP or DS_SETFONT,
Wtx,Wty,168,360,
0,NULL,
hInstance,NULL
mov DlgWnd,eax
invoke SetWindowLong,DlgWnd,GWL_ID,DlgID
На SetWindowLong LastError возвращает ERROR_INVALID_MENU_HANDLE. Причем тут меню - не понимаю.
В другом месте программы создаю таким же образом другое окно, с единственным отличием: вместо WS_POPUP or DS_SETFONT там WS_CHILD or DS_SETFONT и указан Парент. На WS_CHILD - окно навесить свой GWL_ID удается, а на WS_POPUP - нет. Это принципиально невозможно, или я где-то проморгал чего-то?


Дата: Июл 10, 2004 01:38:37

Потому что если это Child-window, то GWL_ID - это id окна (контрола), а если нет - тогда это hMenu менюшки этого окна


Дата: Июл 10, 2004 02:11:01

Получается, обойти эту корягу не получится? GWL_USERDATA использовать не хотелось бы. Хотя может оказаться, что и у неё какой-нибудь прикол :(


Дата: Июл 10, 2004 02:47:13

Да, invoke SetWindowLong,DlgWnd,GWL_USERDATA,DlgID тоже не работает для WS_POPUP. Видно не судьба..


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.083