Вопрос: CreateWindowEx | Добавлено: 11.01.04 14:20 |
Автор вопроса: ![]() |
Создаю листвбю таким способом: mWnd = CreateWindowEx(0, "SysListView32", "LVControl", WS_VISIBLE Or WS_CHILD, 0, 0, 50, 100, Me.hwnd, ByVal 0&, ByVal 0&, ByVal 0&) А как к нему потом обращаться, например чтобы добавить Headers или еще чего нибудь с ним сделать, например:
|
Ответы | Всего ответов: 19 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 190197618 Вопросов: 25 Ответов: 97 |
Профиль | Цитата | #1 | Добавлено: 11.01.04 14:32 |
Ну, если ты хочешь просто подвинуть этот контрол, то ты должен использовать Функцию SetWindowPos, например: SetWindowPos mWnd, 0, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE А если ты хочешь обрабатываеть события, то воспользуйся функцией модификации окна (SetWindowLong). ЗЫ: Когда я на чистом API создавал окно, а потом приляпал на него кнопку, то эта прога никогда не запускалась с первого раза, вылетала и всё тут |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 11.01.04 15:32 |
Общаться со вновь созданным окном ты сможешь только через hWnd, для назначения окну оконной процедуры используй SetWindowLong с параметром GWL_WNDPROC. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() Вопросов: 117 Ответов: 1538 |
Профиль | Цитата | #3 | Добавлено: 11.01.04 15:56 |
А из VB получается никак нельзя? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 11.01.04 16:00 |
А по хандлу разве не из VB? |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 190197618 Вопросов: 25 Ответов: 97 |
Профиль | Цитата | #5 | Добавлено: 11.01.04 16:05 |
Ну смотри, у тебя есть хэндл твоего окна (mWnd) следовательно ты можешь использовать все API функции по манипуляции над окнами. Чтобы сменить позицю используй SetWindowPos, чтобы сменить надпись используй SetWindowText. Ты создал не контрол, ты создал ОКНО. Вот и используй функции для работы с окнами. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() Вопросов: 117 Ответов: 1538 |
Профиль | Цитата | #6 | Добавлено: 11.01.04 16:25 |
А можно какой-нибудь пример, ну допустим, как добавлять ColumnHeaders или ListItem? Как мне определить эти стили окна, ведь SetWindowLong нужно указать стиль, если я правильно понял |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 11.01.04 16:33 |
Это делается не стилями, это делается ссобщениями. Качаешь справочник по сообщениям Windows и смотришь из них те, что начинаются на LV_ |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() Вопросов: 117 Ответов: 1538 |
Профиль | Цитата | #8 | Добавлено: 11.01.04 16:37 |
А в MSDN нет этого? Там я видел LVM_, это не то? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 11.01.04 16:42 |
Думаю, что почти все, что начинается с LV, имеет какое-то отношение к ListView |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() Вопросов: 117 Ответов: 1538 |
Профиль | Цитата | #10 | Добавлено: 11.01.04 17:01 |
А где можнл скачать справочник по стилямWindows |
Номер ответа: 11 Автор ответа: ![]() ![]() ICQ: 190197618 Вопросов: 25 Ответов: 97 |
Профиль | Цитата | #11 | Добавлено: 11.01.04 17:28 |
Когда я поставил Делфи 6.0, то там увидел кучу хэлпов, среди которых увидел и справочник по программированию в Win32 API. Оттуда я черпаю практически всё. |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 11.01.04 18:36 |
2KAM: Delphi снеси, справочник оставь |
Номер ответа: 13 Автор ответа: ![]() ![]() ICQ: 190197618 Вопросов: 25 Ответов: 97 |
Профиль | Цитата | #13 | Добавлено: 11.01.04 19:03 |
А я так и сделал Хотел Делфи учить, поучил-поучил и бросил... Я к VB привык... |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 12.01.04 02:05 |
Я тоже помню хотел сделать ListView на API. Но потом обламался. Хотелось бы конечно самому сделать, но обломно. У меня есть начало примера, создающего ЛВ и пару стобцов. Могу выслать. VB сейчас не установлен, а копий примера в разных стадиях разработки несколько. По этому не уверен в работоспособности. Хотя может и пашет. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 12.01.04 02:33 |
CyRax, закинь,а ? |
|