SetWindowText CLng(Text1.text), "lalalala"

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

SetWindowText CLng(Text1.text), "lalalala"

Сообщение EvilCoder » 06.11.2004 (Сб) 8:04

:arrow: :arrow: <DELETED> :twisted: 8)
Последний раз редактировалось EvilCoder 14.08.2008 (Чт) 1:42, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

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

Сообщение Amed » 06.11.2004 (Сб) 10:33

Потому что надо писать так:
Код: Выделить всё
SetWindowText Text1.hwnd, "lalalala"

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.11.2004 (Сб) 10:52

Да нет, всё правильно ты делаешь... Я тоже так делал :)
Spy++ даёт всё в hex. Так что clng("&h" & text1.text).
Если и это не поможет, значит, ты ошибся в декларации setwindowtext.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.11.2004 (Сб) 12:25

Есть еще один ньюанс. Если ты изменяешь текст чужого окна, а не своего, то перед SetWindowText надо выполнить GetWindowTextLength. Смысл сего шаманства мне неведом, о нем тебе может разве что Шаман рассказать :)
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.11.2004 (Сб) 12:51

alibek, ты открываешь мне новые горизонты :)
Никогда не знал об этом фичебаге, и всегда работало без него :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 06.11.2004 (Сб) 14:37

:arrow: :arrow: <DELETED> :twisted: 8)
Последний раз редактировалось EvilCoder 14.08.2008 (Чт) 1:52, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.11.2004 (Сб) 15:25

А...
Ага...
Что за текстбокс?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение Amed » 06.11.2004 (Сб) 19:32

EvilCoder, мой пример не работает? У меня всё отлично, специально проверял!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.11.2004 (Сб) 19:34

Ты ставишь текст в текстбокс.
А он хочет поставить текст в окно, чей hWnd находится в текстбоксе...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение Amed » 06.11.2004 (Сб) 19:57

У меня с кодом от EvilCoder всё ставится... Заголовок меняется на заданный.

alibek: у меня, как и у уважаемого GSerg, текст в чужое окно ставится без проблем...

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 06.11.2004 (Сб) 21:45

Есть ли возможность имитировать нажатие по кнопке в чужом окне по hwnd-хе.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.11.2004 (Сб) 22:26

А як же... BM_CLICK ей послать...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 07.11.2004 (Вс) 0:24

:arrow: :arrow: <DELETED> :twisted: 8)
Последний раз редактировалось EvilCoder 14.08.2008 (Чт) 1:52, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 09.11.2004 (Вт) 11:52

Кидаешь на форму текстбокс и
Код: Выделить всё
' API
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
' событие
Private Sub Form_Click()
' Буфер
Dim P() As Byte
' преобразуем строку в массив и заодно из Unicode
P() = StrConv("text", vbFromUnicode)
' втыкаем строку
SendMessage Text1.hwnd, WM_SETTEXT, 0, P(0)
End Sub


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList