Страница: 1 |
Страница: 1 |
Вопрос: combo box
Добавлено: 27.03.05 13:33
Автор вопроса: Нукен
А вот в С++ в комбо есть метод FindString, т.е. вводишь руками текст в поле и автоматом подставляются подходящие строки из списка. Достаточно распространенный прием, но как его сделать в Васике?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 27.03.05 13:51
Через API. Пошли ему сообщение:
CB_FINDSTRING
wParam = (WPARAM) indexStart; // item before start of search
lParam = (LPARAM) (LPCSTR) lpszFind // prefix string address
Номер ответа: 2
Автор ответа:
Нукен
Вопросов: 11
Ответов: 2
Профиль | | #2
Добавлено: 27.03.05 20:58
А подробнее можно...
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 27.03.05 22:39
MSDN:
SendMessage
The SendMessage function sends the specified message to a window or windows. The function calls the window procedure for the specified window and does not return until the window procedure has processed the message. The PostMessage function, in contrast, posts a message to a thread's message queue and returns immediately.
LRESULT SendMessage(
HWND hWnd, // handle of destination window
UINT Msg, // message to send
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
Parameters
hWnd
Handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.
Msg
Specifies the message to be sent.
wParam
Specifies additional message-specific information.
lParam
Specifies additional message-specific information.
Return Values
The return value specifies the result of the message processing and depends on the message sent.
Remarks
Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.
If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, the system switches to that thread and calls the appropriate window procedure. Messages sent between threads are processed only when the receiving thread executes message retrieval code. The sending thread is blocked until the receiving thread processes the message.
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 27.03.05 23:12
Вот здесь
Private Sub Combo1_KeyPress(KeyAscii As Integer)
End Sub
При ловишь когда кликают по клаве и посылаешь окну комбобокса это сообщение. Оно вернёт тебе индекс в списке (если найдёт), а ты уже по нему установишь текущий индекс. Опять же либо через VB (Combo1.ListIndex либо через API (сообщение CB_SETCURSEL).