Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210

VB 6 Что делать если имеется два текстовых поля с одним названием класса ? TLabeledEdit

07.06.2014, 01:16. Показов 1707. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется два текстовых поля у обоих одинаковый класс название TLabeledEdit

Когда я вписываю текст в класс под названием TLabeledEdit то он вписывается только в один из них

Вот часть этого кода
Visual Basic
1
2
k = FindWindowEx(g, 0, TLabeledEdit, vbNullString) '
SendMessage k, &HC, 0, ByVal "Привет!"
Код работает но текст помещается в одно нижнее поле с названием TLabeledEdit а как вписать в первое не пойму ведь у него то же самое название класса TLabeledEdit различаются лишь они хендлами я попытался указать вместо класса Хендл но так вообще не реагирует почему ? Надеюсь на помощь
Visual Basic
1
2
k = FindWindowEx(g, 0, 004002DA, vbNullString) '
SendMessage k, &HC, 0, ByVal "Привет!"
И так
Visual Basic
1
2
k = FindWindowEx(g, 0, &004002DA, vbNullString) '
SendMessage k, &HC, 0, ByVal "Привет!"
Но ничего Спасибо надеюсь на помощь
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2014, 01:16
Ответы с готовыми решениями:

Как скролить одним скролом два текстовых поля?
Есть два текстовых поля(Multiline=true) и ScrollBar. Как мне скролить два поля одновременно?

Имеется ли заданное слово в заданном тексте из разделенных одним пробелом слов и, если имеется, то сколько бук
Имеется ли заданное слово в заданном тексте из разделенных одним пробелом слов и, если имеется, то сколько букв «а» в этом слове? ...

Не суммирует поля если хотя в одном пусто, что делать?
В таблице есть 12 полей: январь, февраль и т.д. В форме производится ввод данных в эту таблицу. Если введу данные только в одно поле...

9
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
07.06.2014, 06:49
Цитата Сообщение от Rad0n Посмотреть сообщение
попытался указать вместо класса Хендл
Цитата Сообщение от Rad0n Посмотреть сообщение
k = FindWindowEx(g, 0, &004002DA, vbNullString)
Эта строчка ищет как раз хендл. Если вам он уже известен - &004002DA, то она лишняя. Кстати, если у вас там HEX значение, то его надо написать так &H004002DA
Visual Basic
1
SendMessage &H004002DA, &HC, 0, ByVal "Привет!"
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
07.06.2014, 12:59
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Pro_grammer, хендлы каждый раз разные, не нужно писать их статично. Во-вторых 3-й параметр это указатель на имя класса либо атом. В данном случае у него вообще ошибка. Rad0n, для того чтобы использовать api функции, нужно скачал прочитать по ним документацию, а не пользоваться ими бездумно.
Для чего нужен 2-й параметр FindWindowEx? Это ответ на твой вопрос. Опять ты проигнорил мой пост про vbNullString.
1
-18 / 3 / 0
Регистрация: 12.01.2014
Сообщений: 210
07.06.2014, 13:13  [ТС]
Спасибо! Я не думая решаю вопросы быстрее чем думая) Мне нет времени разбираться что какая функция возвращает итд! Достаточно знания англ языка для меня

Ну vbNullString судя по всему означает Полная строка и переводить а смысле что она возвращает хз наверное получает то что находится в текстовом поле

ДА И ПРИ ЧЕИ ТУТ vbNullString вообще ? Работает что так "" что vbNullString

Отсдуа вопрос как мне найти хендл в hex ? Текстового окна Под курсором ? Чтобы постоянно его не вводить
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
07.06.2014, 15:12
Цитата Сообщение от The trick Посмотреть сообщение
Опять ты проигнорил мой пост про vbNullString.
А что тут не так?
http://www.allapi.net/
Примеры:
Visual Basic
1
2
3
4
 'Get the taskbar's window handle
    tWnd = FindWindow("Shell_TrayWnd", vbNullString)
    'Get the start-button's window handle
    bWnd = FindWindowEx(tWnd, ByVal 0&, "BUTTON", vbNullString)
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
08.06.2014, 00:24
Цитата Сообщение от Pro_grammer Посмотреть сообщение
А что тут не так?
Visual Basic
1
2
Debug.Print StrPtr(vbNullString)
Debug.Print StrPtr("")
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
08.06.2014, 06:43
Цитата Сообщение от The trick Посмотреть сообщение
Debug.Print StrPtr(vbNullString) Debug.Print StrPtr("")
Ну всё верно. Не вижу противоречий.
Обратимся к MSDN
Syntax C++
C
1
2
3
4
HWND WINAPI FindWindow(
  _In_opt_  LPCTSTR lpClassName,
  _In_opt_  LPCTSTR lpWindowName
);
If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
lpWindowName [in, optional]
The window name (the window's title). If this parameter is NULL, all window names match.
Таким образом, согласно MSDN, параметры можно заменить на NULL, согласен?
А NULL в C++ это макрос, значением этого макроса является null pointer constant. Константа нулевого указателя — это целочисленное константное выражение со значением 0.
Т.о. NULL может быть определен как (void*)0 или как 0.
У нас vbNullString = 0
И как это влияет на конечный результат работы FindWindow или FindWindowEx в нашем случае? Всё отлично работает.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
08.06.2014, 09:49
Имея такой код
Visual Basic
1
2
3
4
5
6
7
8
9
Option Explicit
 
Private Declare Function FindWindowExA Lib "user32" (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowExW Lib "user32" (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long
 
Private Sub Form_Load()
    FindWindowExA 0, 0, vbNullString, vbNullString
    FindWindowExW 0, 0, 0, 0
End Sub
Стек при каждом вызове будет таким
Миниатюры
VB 6 Что делать если имеется два текстовых поля с одним названием класса ? TLabeledEdit  
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
08.06.2014, 14:50
Цитата Сообщение от The trick Посмотреть сообщение
Стек при каждом вызове будет таким
Я как то в этих стеках не разбираюсь. И как это повлияет на конечный результат? Что, handle будет не верный?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
08.06.2014, 15:50
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Я как то в этих стеках не разбираюсь. И как это повлияет на конечный результат? Что, handle будет не верный?
Невсегда. Вот он давал предыдущий код, там не работало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.06.2014, 15:50
Помогаю со студенческими работами здесь

Определить, имеется ли книга с названием «Информатика». Если да, то напечатать фамилию автора и год издания
В условиях предыдущей задачи определить, имеется ли книга с названием «Информатика». Если да, то напечатать фамилию автора и год издания....

Определить, имеется ли книга с названием информатика если да то сообщить фамилию автора и год издания
Дан файл f, содержащий сведения о книгах. Сведения о каждой из книг - автор, название, издательство и год издания. определить имеется ли...

Два класса содержат объекты друг друга. Отсюда зацикливание деструкторов. Что делать?
Спасибо.

Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода
Поле шахмотной доски определяеся парой натуральных чисел, каждая из которых не превосходит восьми: первое число номер вертикали (при счете...

Имеется два текстовых файла. Переписать строки из первого во второй файл
Порядок строк должен совпадать, а из 2 файла переписать в 1, порядок строк заменить на обратный.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru