Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: CreateWindowEx Добавлено: 11.01.04 14:20  

Автор вопроса:  cresta

Создаю листвбю таким способом:   

mWnd = CreateWindowEx(0, "SysListView32", "LVControl", WS_VISIBLE Or WS_CHILD, 0, 0, 50, 100, Me.hwnd, ByVal 0&, ByVal 0&, ByVal 0&)

А как к нему потом обращаться, например чтобы добавить Headers или еще чего нибудь с ним сделать, например:
LVControl.Move 50,50 вызывает ошибку: переменная блока не установлена. Пробовал определить LVControl как объект или как контрол - ничего не дает. Может кто знает, как к нему надо обращаться?

 

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 KAM



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
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 11.01.04 15:32

Общаться со вновь созданным окном ты сможешь только через hWnd, для назначения окну оконной процедуры используй SetWindowLong с параметром GWL_WNDPROC.

Ответить

Номер ответа: 3
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #3 Добавлено: 11.01.04 15:56

А из VB  получается никак нельзя?

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 11.01.04 16:00
А по хандлу разве не из VB?

Ответить

Номер ответа: 5
Автор ответа:
 KAM



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #5 Добавлено: 11.01.04 16:05

Ну смотри, у тебя есть хэндл твоего окна (mWnd) следовательно ты можешь использовать все API функции по манипуляции над окнами.

Чтобы сменить позицю используй SetWindowPos, чтобы сменить надпись используй SetWindowText. Ты создал не контрол, ты создал ОКНО. Вот и используй функции для работы с окнами.

Ответить

Номер ответа: 6
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #6 Добавлено: 11.01.04 16:25
А можно какой-нибудь пример, ну допустим, как добавлять ColumnHeaders  или  ListItem? Как мне определить эти стили окна, ведь SetWindowLong нужно указать стиль, если я правильно понял

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 11.01.04 16:33
Это делается не стилями, это делается ссобщениями. Качаешь справочник по сообщениям Windows и смотришь из них те, что начинаются на LV_

Ответить

Номер ответа: 8
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #8 Добавлено: 11.01.04 16:37
А в MSDN нет этого? Там я видел LVM_, это не то?

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 11.01.04 16:42
Думаю, что почти все, что начинается с LV, имеет какое-то отношение к ListView

Ответить

Номер ответа: 10
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #10 Добавлено: 11.01.04 17:01
А где можнл скачать справочник по стилямWindows

Ответить

Номер ответа: 11
Автор ответа:
 KAM



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #11 Добавлено: 11.01.04 17:28

Когда я поставил Делфи 6.0, то там увидел кучу хэлпов, среди которых увидел и справочник по программированию в Win32 API. Оттуда я черпаю практически всё.

Ответить

Номер ответа: 12
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #12
Добавлено: 11.01.04 18:36

2KAM: Delphi снеси, справочник оставь :)

Ответить

Номер ответа: 13
Автор ответа:
 KAM



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #13 Добавлено: 11.01.04 19:03

А я так и сделал ;)

Хотел Делфи учить, поучил-поучил и бросил... Я к VB привык...

Ответить

Номер ответа: 14
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #14
Добавлено: 12.01.04 02:05

Я тоже помню хотел сделать ListView на API. Но потом обламался. Хотелось бы конечно самому сделать, но обломно.

У меня есть начало примера, создающего ЛВ и пару стобцов. Могу выслать. VB сейчас не установлен, а копий примера в разных стадиях разработки несколько. По этому не уверен в работоспособности. Хотя может и пашет.

Ответить

Номер ответа: 15
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #15
Добавлено: 12.01.04 02:33

CyRax, закинь,а ?
sne_pro@mail.ru

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам