Всем здрасьти. Вот решил тут попробовать создавать элементы управления с помощью CallModalDialog,создаю эдит таким методом: Code: DlgEdit WS_TABSTOP,10,10,500,500,IDC_EDIT суть заключается в том что бы поменять размер этого эдита,после получения метрики экрана. Code: .................some code.............. xc dd 0 yc dd 0 .................some code.............. Invoke GetSystemMetrics,SM_CXSCREEN; допустим mov xc,eax ; теперь тут должно быть число точек по горизонтали вот и дальше я не могу понять как мне изменить его размер.нашел вроде бы функцию MoveWindow где можно задать координаты и размеры окна (ведь эдит этот считай то же окно).Но там нужен хэндл.тогда вопрос два возникает:как получить хэндл на эдит созданный таким методо? IDC_EDIT не подходит. Пробовал подставлять как и в саму процедуру обработки сообщений,так и после создания эдит-не работает. сама DlgEdit почему то не принимает xc,yc с криком invalid instruction.Как бытЬ?на апи эдит как то проще сделать,но надо именно таким способом.
разобрался,вопрос снят. на заметку: через findwindowex находим дескриптор дочернего элемента(имя контрола можно посмотреть через программку) и используем его в MoveWindow.rfr то просто,но работает)
Code: /* получить хендл контрола по его идентификатору в заданном окне hDlg */ HANDLE hEdit = GetDlgItem(hDlg, IDC_EDIT); /* получить идентификатор контрола по его хэндлу */ idEdit = GetWindowLong(hEdit, GWL_ID); idEdit = GetDlgCtrlID(hEdit);