powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / форма перехода на нужную строку
12 сообщений из 37, страница 2 из 2
форма перехода на нужную строку
    #36849768
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
king_k,

Что-то никак не пойму, в чем-же тут проблема. Эксперементировал по всякому.
При изменении ячейки и нажатия Enter, фокус переходит в поле формы, но курсор не отображается. Если нажимать кнопку Backspace, то содержимое текстового поля стирается по символьно после каждого нажатия, но если нажимать какие-то буквы или цифры, то они не появляются в форме, как будто какая-то фильтрация на ввод символов.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36849801
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
king_k,

Что-то никак не пойму, в чем-же тут проблема. Эксперементировал по всякому.
При изменении ячейки и нажатия Enter, фокус переходит в поле формы, но курсор не отображается. Если нажимать кнопку Backspace, то содержимое текстового поля стирается по символьно после каждого нажатия, но если нажимать какие-то буквы или цифры, то они не появляются в форме, как будто какая-то фильтрация на ввод символов.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36849804
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player,
Всё дело в функциях WinAPI, которые выводят форму на экран. Для себя я не стал заморачиваться и
сделал обычную маленькую форму с текстовым полем, которая появляется в определённом месте экрана.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36849815
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cursky,

Я уже заремарил код, который меняет стиль формы с помощью WinAPI, теперь он не используется и файл перезапускал, всё равно эффект такой-же.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36849941
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player,

Кстати, модуль modForm был мной позаимствован из этой надстройки, с последующим удалением лишних деталей.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36850498
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
king_k,

В конец запутавшись в чужом коде, решил подстроить его под себя, убрал всё лишнее
Кажется получилось.
Правда содержимое листов Товар и Товар 2 попорчено в ходе экспериментов.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36850585
Cursky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Player,

Ну вот примерно так и я себе сделал. Извиняюсь, что не выложил, а заставил вас ломать голову. Лень было.:))
Там ещё функцию, определяющая последнюю ячейку надо немного поправить или заменить на другую,
т.к. если в столбце есть пустые ячейки, то не все данные будут найдены.
Вот все 3 варианта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function LastCell(Sheet As String, Column As Long) As Long
    LastCell = Application.CountA(Sheets(Sheet).Columns(Column))
End Function

Public Function LastCell2(Sheet As String, Column As Long) As Long
    LastCell2 = Sheets(Sheet).Cells(Sheets(Sheet).Rows.Count, Column).End(xlUp).Row
End Function

Public Function LastCell3(Sheet As String, Column As Long) As Long
    LastCell3 = Sheets(Sheet).Columns(Column).SpecialCells(xlCellTypeLastCell).Row
End Function
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36850642
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CurskyDjon Player,

Ну вот примерно так и я себе сделал. Извиняюсь, что не выложил, а заставил вас ломать голову. Лень было.:))
Там ещё функцию, определяющая последнюю ячейку надо немного поправить или заменить на другую,
т.к. если в столбце есть пустые ячейки, то не все данные будут найдены.
Ну ничего, для мозга полезно, вспомнил былое, давно уже формы не программировал.
А так там ещё много чего поправить можно и нужно, в частности в коде, который ищет строку по значению в форме надо добавить проверку, что строка поиска не пустая, а если пустая, то искать не надо.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36851462
king_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Playerking_k,

В конец запутавшись в чужом коде, решил подстроить его под себя, убрал всё лишнее
Кажется получилось.

Если в варианте который предложил Cursky в modForm выключить AdjustWindowStyle GetHwnd(frmSearch, False) то из него получится похожий на ваш вариант с внешним окном формы и в нем тоже после операций с данными активируется курсор.
А вот с встроенной формой AdjustWindowStyle GetHwnd(frmSearch, True) курсор не появляется и я никак не могу найти причину.
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36851718
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
king_k,

Надо разбираться, что делает эта функция GetHwnd, когда Var2=True
Тут я помочь не могу, т.к. не знаю специфику функций WinApi GetWindowLong, SetWindowLong, SetWindowPos, возможно какой-то из параметров отключает курсор, в частности например какой-то из нулей 0.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Function GetHwnd(Var1 As Object, Optional Var2 As Boolean = False) As Long
    Dim Var3 As Long
    Dim Var4 As Long
    Dim Var5 As Long
    Dim PosX As Long
    Dim PosY As Long
    PosX =  10                                          'Расположение формы на листе
    PosY =  45                                         'Расположение формы на листе
    Var3 = FindWindow("ThunderDframe", Var1.Caption)
    If Var2 Then
        Var4 = GetWindowLong(Var3, GWL_STYLE)
        Var4 = Var4 And Not WS_CAPTION And Not WS_BORDER
        Var5 = SetWindowLong(Var3, GWL_STYLE, Var4)
        Var5 = SetWindowLong(Var3, GWL_EXSTYLE,  0 )
        SetWindowPos Var3,  0 , PosX, PosY,  0 ,  0 , SWP_NOSIZE Or SWP_NOOWNERZORDER Or SWP_NOZORDER Or SWP_FRAMECHANGED
    End If
    GetHwnd = Var3
End Function
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36852110
king_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,

Эти функции здесь описаны http://www.firststeps.ru/mfc/winapi/win/r.php?96 но не стоит ломать голову, это не столь важно. Надо будет поэкспериментировать когда будет время,а пока что форма работает как надо с внешним окном и это главное:)
...
Рейтинг: 0 / 0
форма перехода на нужную строку
    #36856669
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
king_kDjon Player,

Эти функции здесь описаны http://www.firststeps.ru/mfc/winapi/win/r.php?96 Спасибо, почитаю.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / форма перехода на нужную строку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]