Как убрать бордюр и написать поиск

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
moris
Новичок
Новичок
Аватара пользователя
 
Сообщения: 36
Зарегистрирован: 21.01.2005 (Пт) 0:41
Откуда: Питер

Как убрать бордюр и написать поиск

Сообщение moris » 11.02.2005 (Пт) 0:24

У текстового окна есть свойство borderstyle = 0 , а у WebBrowser нет. Что делать?

Подскажите, как его убрать... Киньте код, если можно, плиз.

Заодно вопросик, как можно написать поиска по html страничкам, как в авторанах делают, где про это можно почитать?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.02.2005 (Пт) 0:34

1)
Вот пример для TextBox:
Код: Выделить всё
'This project needs a TextBox
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_STYLE = (-16)
Const WS_BORDER As Long = &H800000

Public Sub SetBorder(NumberText As TextBox, Flag As Boolean)
    Dim curstyle As Long, newstyle As Long

    'retrieve the window style
    curstyle = GetWindowLong(NumberText.hwnd, GWL_STYLE)

    If Flag Then
       curstyle = curstyle Or WS_BORDER
    Else
       curstyle = curstyle And (Not WS_BORDER)
    End If

    'Set the new style
    newstyle = SetWindowLong(NumberText.hwnd, GWL_STYLE, curstyle)
    'refresh
    NumberText.Refresh
End Sub
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    SetBorder Text1, True
End Sub

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.02.2005 (Пт) 0:38

Проблемка: WebBrowser1.HWND выдаёт ошибку:
Method 'HWND' of object 'IWebBrowser2' failed


Как найти hwnd WebBrowser'а?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.02.2005 (Пт) 0:55

Предположительно, FindWindowEx, зная заранее класс.
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.02.2005 (Пт) 10:41

Ага... Класс Web Browser'а - 'Shell Embedding'.

Перебираем FindWindowEx'ом все окна с таким классом, пока GetParent(hWnd)<>Me.Hwnd. Затем всё просто (по моему коду в посте выше).

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.02.2005 (Пт) 11:29

Даже без перебора: просто FindWindowEx(Me.hWnd, 0, "Shell Embedding", vbNullString)
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.02.2005 (Пт) 20:57

Ой, и правда... Я что-то вспомнил декларацию FindWindow :/
:oops:

moris
Новичок
Новичок
Аватара пользователя
 
Сообщения: 36
Зарегистрирован: 21.01.2005 (Пт) 0:41
Откуда: Питер

Сообщение moris » 11.02.2005 (Пт) 22:36

Ух пасиба ...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 12

    TopList