Создал Tab Control, создал в нем 2 страницы. Как теперь в каждой странице создать контролы? Пробовал через сабклассинг, только что-то это не то. Есть рабочий пример, но в нем используется диалог и половина кода описана в ресурсах и после создания листов используется функция CreateDialogParam. А я использую CreateWindow. Т.е. какую команду надо использовать вместо CreateDialogParam?
IceStudent, Наверное я что-то не так делаю. Совсем запутался. Создал таб, создал 2 страницы, заполнив структуру TC_ITEM. Но надо получить хендл первой страницы, чтобы создать на ней кнопку, поэтому пишу(наверное заполнение структуры здесь не прокатит): Код (Text): invoke CreateWindowEx,0,addr TabClName,addr Child1Name,WS_CHILD or WS_VISIBLE, 0,0,0,0,hwndtab1,tab1ID,hInstance,0 mov hwndtab1ch1,EAX Так странца создается или нет? Вобщем в аттаче код. Можете посмотреть, что я не так делаю? _1909691009__TC.rar
в таб контроле нет никаких страниц, это просто кнопки. поэтому когда ты создал его и добавил закладок, в родительское окно будут приходить уведомляющие (notify) сообщения от него: Код (Text): ... .elseif eax==WM_NOTIFY mov eax, [lParam ] mov ecx, [eax+NMHDR.code] mov eax, [eax+NMHDR.hwndFrom] .if eax==[hTab] && ecx==TCN_SELCHANGE ;Tab control invoke SendMessage, eax, TCM_GETCURSEL, 0, 0 mov [view_vid], eax ...
yureckor, разве у страниц(закладок) не может быть хендлов? Как же тогда создавать контролы на конкретной закладке? Или их(контролы) просто скрывать/показывать при смене закладок, а создавать не учитывая положение закладки?
хендл только у всего контрола. При переключении он посылает WM_NOTIFY родительскому, см. выше код. >Или их(контролы) просто скрывать/показывать при смене закладок, а создавать не учитывая положение закладки? Да.