Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12

Форма не активна при нажатии

02.07.2012, 08:43. Показов 4162. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Мне нужно как-то сделать что бы форма была видна но не активна.
Если я щёлкаю на форму активным становиться то, что сзади, а формы как будто и нету.
Так можно сделать и как?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2012, 08:43
Ответы с готовыми решениями:

Нужно при нажатии checkbox чтобы кнопка становилась активна
Нужно при нажатии checkbox чтобы кнопка становилась активна. В onclick я это задал. Но встала проблема чтобы при убирании галочки кнопка...

Не активна точка при нажатии в слайдере
Здравствуйте, проблема такая: при нажатии на определенную точку на слайдере она не активна хотя слайдер перелистывает картинки. При нажатии...

Сделать, чтобы при нажатии на форме 2 на кнопку, форма 2 закрывалась, а форма 1 открывалась
Здравствуйте подскажите как обнулить форму. Вобщем у меня форма form1 как бы с тестом там есть ComboBox при помощи которого выбирается тема...

28
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
02.07.2012, 08:45
C++
1
Form1->Enabled = false
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
02.07.2012, 08:54  [ТС]
нет я опять непонятно написал?

Добавлено через 8 минут
Форма должна быть как что - то приклеенное на монитор.
Она видна, но нажимая в то место мышкой активно то что за формой, а форма не активна.
Как такое сделать?
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
02.07.2012, 09:59
ivan.-94, хоспади... Ну у Вас и формулировочки
Вы про AlwaysOnTop, что ли?
C++
1
this->FormStyle=fsStayOnTop;
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
02.07.2012, 12:02
Скорее всего надо обрабатывать нажатие мыши на форме, передавая его нижележащему окну.
Вопрос только нафига это может понадобиться?
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.07.2012, 18:03
при клике на форме писать
C++
1
2
return;
SetFocus = false;
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
02.07.2012, 19:08  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
при клике на форме писать
C++
1
2
return;
SetFocus = false;
Мне компилятор говорит, что незнает что такое SetFocus
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.07.2012, 20:06
может,
C++
1
OnFocus
, или
C++
1
Focused
, не помню .

Добавлено через 2 минуты
о, смотрите сюда: Фокус на форму
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
03.07.2012, 05:50
интересная задачка кстати.
Цитата Сообщение от mimicria Посмотреть сообщение
Скорее всего надо обрабатывать нажатие мыши на форме, передавая его нижележащему окну.
именно это и надо делать, только как?)
Цитата Сообщение от mimicria Посмотреть сообщение
Вопрос только нафига это может понадобиться?
например, полупрозрачный гаджет с погодой, на который надо только смотреть и чтоб не мешался)
0
03.07.2012, 05:54

Не по теме:

полупрозрачный гаджет пишется иначе

0
03.07.2012, 06:05

Не по теме:

gramota.ru утверждает, что пишется именно так. шутка)

1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
03.07.2012, 12:33  [ТС]
Извените я не уточнил у меня на форме лежит Image и щёлкаю я по нему.
У Image нету свойств SetFocus, FocusControl, SetFocusedControl.
Я пробывал на OnClick Image
C++
1
2
3
Form1->FocusControl(0);
//...
Form1->SetFocusedControl(NULL)
А когда написал так:
C++
1
Form1->SetFocusedControl(0);
Мне выскачила ошибка:

Но если я открываю программу с *.exe а не компилирую то по щелчку не происходит ничего.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.07.2012, 13:11
Фишка в том, что фокус надо сбрасывать не с контролов на форме, а с самой формы.
Брать в таймере хэндл верхнего окна функцией GetForegroundWindow() с интервалом, скажем, 300мс. Написать обработчик TApplication.OnActivate с помощью TApplicationEvents - причем, именно OnActivate класса TApplication, а не формы. В этом обработчике сбрасывать фокус функцией SetForegroundWindow() на хэндл, получаемый в таймере.
По идее винда должна позволить это, так как наш процесс получил последнее сообщение ввода в виде щелчка мышью.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
03.07.2012, 13:24  [ТС]
я сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
HWND hWnd;
//...
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    hWnd=GetForegroundWindow();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ApplicationEvents1Activate(TObject *Sender)
{
    SetForegroundWindow(hWnd);
}
//---------------------------------------------------------------------------
Так так неработает ничего.
Но как мне сделать что бы оно работало на клик по Image.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.07.2012, 13:34
Что возвращает SetForegroundWindow?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
03.07.2012, 13:38  [ТС]
Цитата Сообщение от BRcr Посмотреть сообщение
Что возвращает SetForegroundWindow?
HWND
А как узнать что именно? всмысле просмотреть строкой или ещё как.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.07.2012, 13:52
Тип возвращаемого значения SetForegroundWindow - bool. HWND он принимает.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
03.07.2012, 13:58  [ТС]
C++
1
SetForegroundWindow(hWnd)=true;
Ругаеться
C++
1
[BCC32 Error] Glavnaja.cpp(110): E2277 Lvalue required
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
03.07.2012, 14:20
И правильно делает. Я б на месте разработчиков билдера научил бы его ругаться еще и матом.
C++
1
bool ret_val = SetForegroundWindow(hWnd); // что в итоге содержится в ret_val ?
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
03.07.2012, 14:33  [ТС]
Я прописал так:
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::ApplicationEvents1Activate(TObject *Sender)
{
    bool ret_val = SetForegroundWindow(hWnd);
    if (ret_val==true) {
        ShowMessage("true");
    }else{
        ShowMessage("false");
    }
}
Когда я разварачиваю окошко мне выдаёт false
Если на рабочем стале просто перехожу на своё окошко щедчком то выдаёт true
Если я закрываю приложение он не закрывает а выдаёт мне очень много сообщений true
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2012, 14:33
Помогаю со студенческими работами здесь

Созданная форма не активна
В созданной 2 форме операции не активны, кнопки и др. не работают. Delphi XE, помогите не знаю в чем проблема.

Проверка, активна ли форма
Подскажите пожалуйста, как правильно оформить код: на активной форме А есть процедура вызова формы B Forms!B.SetFocus Но...

Если форма активна, то
И снова у меня проблемы с PHP (извините, я только начинаю учить). Есть несколько форм и рядом с ними находится некоторый текст, например:...

Проверить активна ли подчиненная форма
Можно ли средствами VBA узнать активна ли подчененная форма. Активность обычной формы проверяю If...

Как узнать какая форма активна?
Здравствуйте. Есть три запущенных формы. Как узнать, не перебирая все формы проекта в цикле, какая форма на переднем плане?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru