powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Управление формами
25 сообщений из 121, страница 3 из 5
Управление формами
    #39305568
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GVOVПанург,

Не часто, но отчетов в базе много и держать в голове отключение и подключение мешает. Буду пробовать что-то попроще.Что проще чем условная компиляция? Обрамляешь код условием
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub...
...'текст программы
#If not Debugging then
'тут код который требует отключения
#End If
...'продолжение текста программы
End Sub


А в общем модуле объявляешь
Код: vbnet
1.
#Const Debugging = -1'код не исполняется или 0-наоборот

или как на картинке. Причём значение константы в свойствах проекта по приоритету выше, если константа объявлена обоими способами сразу.
Таким образом меняешь значение этой константы и все участки кода перекрытые условным компилированием либо будут, либо не будут компилироваться и исполнятся в зависимости от значения этой константы.
...
Рейтинг: 0 / 0
Управление формами
    #39305614
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знал такого. Попробую использовать.
...
Рейтинг: 0 / 0
Управление формами
    #39305623
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
В вашем крайнем примере. Запускаем форму 1 - на панели задач Форма 1, нормально. Дальше запускаем форму 2 - на панели форма 2, форма 1 скрывается, нормально. Запускаем отчет - на панели появляется две кнопки: Форма 1 - активная и отчёт. Хотя все формы скрыты. Отчёт постоянно неактивный (судя по виду и панели задач), хотя всегда вверху и под ним ничего нет (хотя пользователи видят на панели кнопку формы 1 по которой в форму 1 перейти нельзя). В принципе все работает но как то не логично выглядит. Логично если окно на экране и кнопка соответствуют друг другу и активны или на панели всегда одна кнопка которая активизирует самое верхнее окно программы.
...
Рейтинг: 0 / 0
Управление формами
    #39305669
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GVOV, ты же вроде на своём остановился варианте?
...
Рейтинг: 0 / 0
Управление формами
    #39306177
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Остановка на одном из вариантов не значит прекращения работ по поиску лучших и более функциональных вариантов...
...
Рейтинг: 0 / 0
Управление формами
    #39306185
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

По варианту Программа_09.mdb возникли вопросы.
1. Форма 2 отличается от формы 1 и 3 вдавленной клиентской областью, как окно аксеса тогда как остальные формы этого эффекта не имеют. его можно устранить и на форме 2?
2. Несмотря на условную компиляцию при открытом окне VB открытие отчёта подвесило аксес и пришлось снимать задачу.
...
Рейтинг: 0 / 0
Управление формами
    #39306245
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GVOV1. Форма 2 отличается от формы 1 и 3 вдавленной клиентской областью, как окно аксеса тогда как остальные формы этого эффекта не имеют. его можно устранить и на форме 2?Нет, это особенности отображения окна (границы). Даже если ты уберёшь весь код, ничего не изменится.

GVOV2. Несмотря на условную компиляцию при открытом окне VB открытие отчёта подвесило аксес и пришлось снимать задачу.Ну усовершенствуй процедуры перехвата сообщений окон. Тут есть примеры, в том числе с ассемблерными вставками.
...
Рейтинг: 0 / 0
Управление формами
    #39306250
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургНу усовершенствуй процедуры перехвата сообщений окон. Тут есть примеры, в том числе с ассемблерными вставками.
Ну вы и загнули TC с API не может разобраться, а вы ассемблер!
Вы сами то ассмемблерные вставки пользовали?
Прежде чем советовать думайте.
К стати я программировал на ассемблере и даже пытался делать вставки в VBA (ж.па полная)
Этот совет не для ТС ну и наверно не для вас.
С уважением.
...
Рейтинг: 0 / 0
Управление формами
    #39306255
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIК стати я программировал на ассемблере и даже пытался делать вставки в VBA Молодец, чо! Пирожок на полочке...
...
Рейтинг: 0 / 0
Управление формами
    #39306256
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, С уважением.
...
Рейтинг: 0 / 0
Управление формами
    #39306280
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургТут есть примеры, в том числе с ассемблерными вставками.
А можно ссылочку? Поиском найти ничего, кроме трепа не удалось. Это, конечно, еще то извращение, даже если можно это делать недокументировано, интересно принципиальное наличие такой возможности без использования сторонних dll
...
Рейтинг: 0 / 0
Управление формами
    #39306297
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinПанургТут есть примеры, в том числе с ассемблерными вставками.
А можно ссылочку? Поиском найти ничего, кроме трепа не удалось. Это, конечно, еще то извращение, даже если можно это делать недокументировано, интересно принципиальное наличие такой возможности без использования сторонних dllПожалуйста - Прокрутка формы колесиком мыши
Посмотри и другие примеры этого мембера. Бенедикт правда и гостем иногда пишет
...
Рейтинг: 0 / 0
Управление формами
    #39306308
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinЭто, конечно, еще то извращение, даже если можно это делать недокументированоЯ так не считаю (вставки ассемблерные не использую). В Access есть множество недокументированных свойств и процедур, и если знаешь о них, то вполне себе можно использовать. Нет всего лишь гарантии, что в какой-либо версии их не отключат. Но перебираясь с версии на версию, иногда всё равно приходится в той или иной степени подправлять. Или не приходится...
...
Рейтинг: 0 / 0
Управление формами
    #39306312
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургПожалуйста - Прокрутка формы колесиком мыши
Нуу, это неинтересно :) просто выделяем память, даем ей разрешение на выполнение, заливаем туда машинные коды - какие же это ассемблерные вставки? Такой трюк можно сделать в любой среде, где есть возможность вызова API и запретить это нельзя, могут только поменять структуру памяти для пи-кода, понадобится коррекция заливаемого дампа.

Нормальные вставки выглядят так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
void __declspec(naked) main()
{
    // Naked functions must provide their own prolog...
    __asm {
        push ebp
        mov ebp, esp
        sub esp, __LOCAL_SIZE
    }

    // ... and epilog
    __asm {
        pop ebp
        ret
    }
}



Тем не менее, Панург, спасибо за ссылку, а товарищу Бенедикту - за код спасибо, вполне может пригодится.
...
Рейтинг: 0 / 0
Управление формами
    #39306315
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, понял что дальше углубляться не для меня, но и того что узнал уже достаточно для улучшения вида форм программы.
И хотелось услышать ответ на вопрос который уже звучал выше. Можно ли перехватывать событие минимизации формы и в этот момент минимизировать Access. Звучит как будто несложно но насколько сложным есть решение?
...
Рейтинг: 0 / 0
Управление формами
    #39306317
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinНуу, это неинтересноЧем богаты...

MrShinНормальные вставки выглядят такИ как ты себе представляешь это запускать?
...
Рейтинг: 0 / 0
Управление формами
    #39306324
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GVOVМожно ли перехватывать событие минимизации формы и в этот момент минимизировать Access
Элементарно. В событии Resize формы проверяешь, что с ней произошло. Для проверки на максимизацию и минимизацию есть API функции

Код: vbnet
1.
2.
    Public Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Integer
    Public Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Integer



В событии проверяем и делаем, что нужно:
If CBool(IsZoomed(Me.hwnd)) = True Then
'окно формы макиимизировано
funSetAccessWindow (SW_SHOWMAXIMIZED)
DoCmd.Maximize
ElseIf CBool(IsIconic(Me.hwnd)) = True Then
'окно формы минимизировано
funSetAccessWindow (SW_SHOWMINIMIZED)
Else
'просто окно
End If
...
Рейтинг: 0 / 0
Управление формами
    #39306330
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROI, С уважением.
Да ладно проехали.
...
Рейтинг: 0 / 0
Управление формами
    #39306332
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургИ как ты себе представляешь это запускать?
Если язык поддерживает вставки, то способ запуска также встроен. В VBA пока не увидел даже недокументированного способа ассемблеронй вставки, только запуск произвольного кода из дампа.
Это я говорю только к тому, что способ, использованный Бенедиктом нельзя называть ассемблерной вставкой, эта технология называется по-другому. В общем, я домотался до термина :)
...
Рейтинг: 0 / 0
Управление формами
    #39306335
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в свое время активно использовал ассемблерные вставки в Паскале и Дельфи, иногда удавалось прилично ускорить ответственные короткие куски кода.
...
Рейтинг: 0 / 0
Управление формами
    #39306342
GVOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShin,
Спасибо, попробую.
...
Рейтинг: 0 / 0
Управление формами
    #39306347
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinЭлементарно. В событии Resize формы проверяешь, что с ней произошло.только у отчёта до 2007 нет такого события
...
Рейтинг: 0 / 0
Управление формами
    #39306352
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургтолько у отчёта до 2007 нет такого события
Тогда по таймеру только опрашивать, похоже.
...
Рейтинг: 0 / 0
Управление формами
    #39306362
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinТогда по таймеру только опрашивать, похоже.Таймера там тоже нет...
...
Рейтинг: 0 / 0
Управление формами
    #39306367
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все события...
...
Рейтинг: 0 / 0
25 сообщений из 121, страница 3 из 5
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Управление формами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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