Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12

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

02.07.2012, 08:43. Показов 4155. Ответов 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): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru