Cannot focus a disabled or invisible window как исправить

Ошибка "Cannot focus a disabled or invisible window", проблема с SetFocus Delphi Решение и ответ на вопрос 2433360

rolandas

23 / 12 / 2

Регистрация: 20.04.2011

Сообщений: 382

1

08.04.2019, 22:50. Показов 12574. Ответов 6

Метки setfocus (Все метки)


выбрасывает ошибку « Cannot focus a disabled or invisible window »
после только после закрывания окна ошибки ставиться правильно в Edit1
Embarcadero.

Delphi
1
2
3
4
5
6
7
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.visible := True;
Edit1.Enabled := True;
//Edit1.SetFocus;
Edit1.AutoSelect := False;
end;

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



1



5442 / 4266 / 1375

Регистрация: 14.04.2014

Сообщений: 19,204

Записей в блоге: 19

09.04.2019, 00:59

2

FormCreate — это форма создана, но окна на экране нет
поэтому странно переводить фокус на него

зато у формы есть свойство ActiveControl



0



23 / 12 / 2

Регистрация: 20.04.2011

Сообщений: 382

10.04.2019, 19:26

 [ТС]

3

и как мне сразу после запуска программы автоматически запихать курсор в Edit1 ??



0



231 / 163 / 54

Регистрация: 26.10.2014

Сообщений: 928

10.04.2019, 20:08

4

rolandas, у формы есть свойство ActiveControl



0



679 / 4406 / 262

Регистрация: 11.08.2016

Сообщений: 2,909

12.04.2019, 18:22

5

Событие onShow.



0



zh_ka

1 / 1 / 0

Регистрация: 02.03.2019

Сообщений: 9

12.04.2019, 19:39

6

Delphi
1
2
3
4
5
6
7
8
procedure TForm1.OnShow(Sender: TObject);
begin 
 
   Edit1.visible := True;
   Edit1.Enabled := True;
   Edit1.SetFocus;
 
end;



1



D1973

Модератор

8254 / 5477 / 2248

Регистрация: 21.01.2014

Сообщений: 23,576

Записей в блоге: 3

13.04.2019, 06:03

7

Ivandur, zh_ka, да зачем??? Ответ ведь уже был дан! Если кровь из носу надо, чтобы при старте приложения фокус находился именно в Эдит1 — все, что надо для этого:

Delphi
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  ActiveControl := Edit1;
end;

Или еще проще, вообще без кода: в режиме проектирования формы из главного меню Edit выбрать пункт меню TabOrder и поставить требуемый компонент на первое место…



1



Ошибка «Cannot focus a disabled or invisible window», проблема с SetFocus

выбрасывает ошибку « Cannot focus a disabled or invisible window »
после только после закрывания окна ошибки ставиться правильно в Edit1
Embarcadero.

cannot focus a disabled or invisible window
На форме имеется PageControl с двумя вкладками на одной TreeView. В момент срабатывания структуры.

Cannot focus a disabled or invisible window
В рабочий проект (D7) были внесены изменения, в частности при определенном событии запрещена смена.

Cannot focus a disabled or invisible window [Delphi 7]
Ребят, проблема опять, с этими тупыми вкладками Приступим. Дано: С лева панель кнопок (програмку.

Есть две формы, при переходе с одной на другую, вылетает cannot focus a disabled or invisible window
В общем хочу что бы у меня были открыты две формы сразу, но при переходе между ними вылетает.

FormCreate — это форма создана, но окна на экране нет
поэтому странно переводить фокус на него

зато у формы есть свойство ActiveControl

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка: Cannot focus a disabled or invisible window
Добрый день, подскажите пожалуйста, при нажатии на кнопку выходит вот такая ошибка. Cannot.

Ошибка «cannot focus disabled or visible window»
Здравствуйте. После запуска программы при нажатии на image2 выходит ошибка «проект вызвал класс.

Cannot focus a disabled or invisible window
Здравствуйте. Через TeamViewer показывал человеку как работает моя программа, и когда он вводил.

Ошибка: не удалось найти имя типа или пространства имен «Window» и «RoutedEventArgs»
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;.

Ошибка: Cannot implicitly convert type «string» to «System.Window.Media.Color»
Доброго времени суток! Возникла небольшая проблемка, совсем мизерная: ColorToneEffect effect1 =.

input[type=»submit»][disabled!=disabled]:hover
Здравствуйте. У меня для кнопок типа submit и button есть стили input, input, button < . >.

Источник

Cannot focus a disabled or invisible windows перевод

Есть процедура:
procedure Myform1.BtClick(. ;
begin
.
MyForm2.show;
.
Myform2.hide; //после етого появляєтся ошибка
// Cannot focus a disabled or invisible window
.
end;
ПОчему ета ошибка появляэтся? Кто нибудь знает?
Я пробовал перед Myform2.hide; писать
Myform1.BringToFront;
Myform1.show;
Myform1.Visible:=true;
ничего не помагаэт


harismatik ( 2003-01-25 15:40 ) [1]

А у тебя форма с которой вызывается окно видимо и доступно? Откуда ты его вызываешь?


Kventin ( 2003-01-25 15:43 ) [2]

Да.
Вызываю из обработчика клика по некоторой кнопке.


Юрий Зотов ( 2003-01-25 17:42 ) [3]

После Myform2.hide происходит какое-то обращение к Myform2 (или к одному из ее контролов), которое требует, чтобы Myform2 была видимой. Myform1 здесь ни при чем.

Пройдите отладчиком и найдите ТОЧНОЕ место.


Stager ( 2003-01-25 19:33 ) [4]

Абсолютно согласен с Юрием. От себя добавлю, что эта ошибка часто бывает, когда выполняется метод SetFocus. Чтобы не заниматься развернутой интеллектуальной обработкой, я обычно пользуюсь конструкцией:

try
Edit1.SetFocus;
except
end;

C уважением, Алексей.

Можно и проще — Windows.SetFocus(Edit1.Handle). При этом, если Edit1 не может получить фокус, то ничего не происходит, но и Exception не возникает. Значит try-except не нужны, а в итоге экономится машинный код (поскольку любой блок try — это немалые накладные расходы).


Stager ( 2003-01-25 20:41 ) [6]

2 Юрий Зотов.
Понял, спасибо, буду использовать.

Источник

Cannot focus a disabled or invisible windows перевод

FORUM_NAME: АРМ Орион Про версии 1.20 и выше
Описание: АРМ «Орион Про» — пакет программного обеспечения для аппаратно-программного комплекса ИСО «Орион», на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии 1.20 и выше
Модератор: Модераторы

BlackCat
Автор темы
BlackCat
Автор темы
Репутация: 0
Сообщения: 1
Зарегистрирован: 28.01.2022
С нами: 1 год
Профессия: инженер

В Мониторе ОЗ постоянно выскакивает ошибка: Application error: Cannot focus a disabled or invisible window

Куда копать ?


Vse
Активный участник
Активный участник
Vse
Активный участник
Активный участник
Репутация: 35
Сообщения: 907
Зарегистрирован: 10.07.2013
С нами: 9 лет 6 месяцев
Профессия: всё и сразу

Непрочитанное сообщение #2 Vse » 08.02.2022, 15:19

BlackCat, антивирусное программное обеспечение установлено? Модули ПО АРМ»ОрионПро» добавить в исключения. Желательно посмотреть журналы событий операционной системы.



  • 4
    3321

    DruG
    Перейти к последнему сообщению
    12.04.2018, 16:18
  • 3
    1325

    DmitryK
    Перейти к последнему сообщению
    26.12.2019, 13:52
  • 5
    477

    DiGreez
    Перейти к последнему сообщению
    18.02.2022, 14:49
  • 2
    3072

    yurbaj
    Перейти к последнему сообщению
    24.01.2022, 08:26
  • 6
    908

    DruG
    Перейти к последнему сообщению
    17.07.2020, 07:04
  • 7
    10486

    MDoc
    Перейти к последнему сообщению
    29.12.2018, 08:28
  • 1
    944

    DruG
    Перейти к последнему сообщению
    24.12.2019, 21:03
  • 4
    849

    Vlad_ru
    Перейти к последнему сообщению
    28.12.2020, 17:34
  • 2
    976

    slipmann
    Перейти к последнему сообщению
    18.11.2019, 14:26
  • 10
    1888

    dima-r-88
    Перейти к последнему сообщению
    18.01.2020, 21:08

Вернуться в «АРМ Орион Про версии 1.20 и выше»

Кто сейчас на форуме

Сейчас этот раздел просматривают: 4 гостя
Боты: Google [Bot]

I’m getting an error when running my compiled program. I’ve taken every precaution I can think of to prevent the error such as enabling forms before I hide or focus them. The application shows a DimmerForm (grey fade overlay) and then a NewFileForm on top of the overlay. The NewFileForm does its stuff and determines the file that is to be made and creates a new tabsheet in the page control on the MainForm and shows the newly created tab sheet. All this works so far (I can break before the NewFileForm closes and any error occurs and see that the tab sheet has been created and shown successfully). The NewFileForm then closes, which is again working fine.

The error happens when anything then tries to set the focus back to the MainForm. Hiding the DimmerForm, or clicking on the MainForm, or setting focus to the MainForm through code all cause the error message to occur. Placing the code in a {try, except, end} doesn’t prevent the error message either. I’ve searched every other method in the code that could possibly be triggered by the focusing of the MainForm and none are entered before the error occurs (so can’t be causing it).

I wrote pretty much the exact same code in a previous version of my application and then decided to restructure it all from the ground up. The previous version of the application worked without a hitch with the form focusing.

Here is the code to open up the NewFileForm:

procedure TMainForm.NewFilesToolButtonClick(Sender: TObject);
begin

  ShowDimmer;
  NewFileForm.ShowModal;
  HideDimmer;

end;

Here is the code to show the dimmer form:

procedure ShowDimmer;
begin

  // Enable to prevent errors
  DimmerForm.Enabled := true;

  // Hide dimmer form and show mainform
  DimmerForm.Show;

end;

Here is the code to hide the dimmer form:

procedure HideDimmer;
begin

  // Enable to prevent errors
  DimmerForm.Enabled := true;
  MainForm.Enabled := true;

  // Hide dimmer form and show mainform
  DimmerForm.Hide;
  MainForm.SetFocus;

end;

 
Kventin
 
(2003-01-25 15:38)
[0]

Есть процедура:

procedure Myform1.BtClick(…;

begin



MyForm2.show;



Myform2.hide; //после етого появляєтся ошибка

// Cannot focus a disabled or invisible window



end;

ПОчему ета ошибка появляэтся? Кто нибудь знает?

Я пробовал перед Myform2.hide; писать

Myform1.BringToFront;

Myform1.show;

Myform1.Visible:=true;

ничего не помагаэт


 
harismatik
 
(2003-01-25 15:40)
[1]

А у тебя форма с которой вызывается окно видимо и доступно? Откуда ты его вызываешь?


 
Kventin
 
(2003-01-25 15:43)
[2]

Да.

Вызываю из обработчика клика по некоторой кнопке.


 
Юрий Зотов
 
(2003-01-25 17:42)
[3]

После Myform2.hide происходит какое-то обращение к Myform2 (или к одному из ее контролов), которое требует, чтобы Myform2 была видимой. Myform1 здесь ни при чем.

Пройдите отладчиком и найдите ТОЧНОЕ место.


 
Stager
 
(2003-01-25 19:33)
[4]

2 Kventin

Абсолютно согласен с Юрием. От себя добавлю, что эта ошибка часто бывает, когда выполняется метод
SetFocus. Чтобы не заниматься развернутой интеллектуальной обработкой, я обычно пользуюсь конструкцией:

try

Edit1.SetFocus;

except

end;

C уважением, Алексей.


 
Юрий Зотов
 
(2003-01-25 20:16)
[5]

Можно и проще — Windows.SetFocus(Edit1.Handle). При этом, если Edit1 не может получить фокус, то ничего не происходит, но и Exception не возникает. Значит try-except не нужны, а в итоге экономится машинный код (поскольку любой блок try — это немалые накладные расходы).


 
Stager
 
(2003-01-25 20:41)
[6]

2 Юрий Зотов.

Понял, спасибо, буду использовать.

С уважением, Алексей.


п. 2 исправлен в сборке 6.2.148. Спасибо.

Замечания по поводу п. 1. В сборке 6.2.148 выпадающий список фильтра после закрытия — переоткрывается, что влечет за собой несколько ошибок:
1.1 После переоткрытия выпадающего списка фильтра не восстанавливается его размер, позиция вертикальной полосы прокрутки и выбранный элемент.
Последовательность действий:
— Запустить мой пример из вложения в этом сообщении.
— Открыть выпадающий список фильтра колонки ‘a’.
— Изменить размер списка, чтобы было видно только значения с ‘1’ по ‘5’. Можно растянуть и его ширину.
— Установить галочку на элементе ‘1’.
— Скролируем вертикальной полосой прокрутки до элемента ’10’ и устанавливаем галочку на элементе ’10’ — размер выпадающего списка фильтра изменился на первоначальный, бегунок вертикальной полосы прокрутки переместился вверх.
— Кликнуть мышкой по элементу ’10’ — подсветка этого элемента пропала, если немножко подвигать курсор мыши, то она снова появляется.

1.2 После переоткрытия выпадающего списка фильтра отображаются только выбранные элементы, если у Column[i].STFilter.DataSource <> nil.
Последовательность действий:
— Запустить мой пример из вложения в этом сообщении.
— Открыть выпадающий список фильтра колонки ‘b’.
— Установить галочку на элементе ‘a’.
— Установить галочку на элементе ‘b’ — в выпадающем списке остались только 2 элемента ‘a’ и ‘b’.
— Снять галочку с элемента ‘b’ — в выпадающем списке остался только 1 элемент ‘a’.

И еще несколько ошибок:
3. Если выпадающий список расположен прижатым к правому краю экрана, чтобы SizeGrip выводился слева, то при скролинге не правильно перерисовываются Checkbox’ы.
Последовательность действий:
— Запустить мой пример из вложения в этом сообщении.
— Перетянуть окно так, чтобы правая вертикальная линия колонки ‘b’ совпала с правым краем экрана.
— Открыть выпадающий список фильтра колонки ‘b’.
— Кликнуть мышкой 1 раз по нижней кнопке полосы прокрутки.
— Захватить бегунок прокрутки и потянуть вниз на несколько точек. Получим примерно следующее, смотри скриншот.

Вложение:

3.png
3.png [ 18.13 KiB | Просмотров: 3463 ]

4. Последовательность действий:
— Открыть в Delphi мой пример из вложения в этом сообщении.
— В дизайнере 2 раз кликнуть по MemTableEh1.
— В окне редактора перейти на закладку ‘Edit data structure’.
— Кликнуть мышкой на в позицию чуть ниже линии закладок (см. скриншот) — получим ошибку ‘Cannot focus a disabled or invisible window’.

Вложение:

2.png
2.png [ 6.05 KiB | Просмотров: 3463 ]

Понравилась статья? Поделить с друзьями:
  • Cannot find os partition s for disk 0 как исправить windows
  • Cannot find file gamedata config system ltx как исправить lost alpha
  • Cannot find file gamedata config system ltx как исправить anomaly
  • Cannot find engineer mode app mediatek chipset is mandatory and stock rom как исправить
  • Cannot find appropriate setup exe file matlab ошибка