Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
1

Фокусируемся на форме

09.11.2010, 09:43. Показов 1727. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Вопрос такой. Пишу прогу со большим количеством форм. Нужно, чтобы при вызове, например, формы опций блокировалась возможность переключать фокус на других приложениях или формах, т.е., чтобы фокус был на форме опций и только на ней, без возможности переключиться на любой другое окно, в том числе на окно другого приложения. Как этого добиться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2010, 09:43
Ответы с готовыми решениями:

Поиск записей в подчиненной форме по значению поля со списком в главной форме
Доброго времени суток уважаемые Форумчане! Очередной раз необходима Ваша помощь!!! Суть...

Создать PictureBox на второй форме с размерами из TextBox'ов, расположенных на первой форме
Добрый вечер, столкнулся с проблемой. У меня есть 2 TextBox'a, они находятся на первой форме. Мне...

Как на доп. форме вывести список данных, вводимых на основной форме?
Есть 2 формы: основная и дополнительная(Мемо). Нужно чтобы при вводе в основную форму, а именно:...

Как в дочерней форме определить какой контрол нажат в родительской форме
Есть textbox на дочерней форме и если на родительской форме нажат button1, то textbox остаётся со...

26
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
09.11.2010, 17:03 21
Author24 — интернет-сервис помощи студентам
аналогично и у меня, но блокируется все!
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,urlmon, ExtCtrls;
 
function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Memo1: TMemo;
    Timer1: TTimer;
    Label1: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
uses Unit2;
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows (@EnumProc, 0);
end;
 
 
function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall;
var HW:hWnd;
Begin
 HW:=FindWindow(nil,'Form1') ; 
if (Wd<>HW)and(Param=0) then begin
 EnableWindow(Wd,false); //блокируем
end else
 EnableWindow(Wd,true); //разблокируем
 
  EnumProc:=true;
 
End;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
EnumWindows (@EnumProc, 1);
end;
 
 
 
 
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
EnumWindows (@EnumProc, 1);
end;
 
 
 
end.
Да ну ее, надоела возиться с ней

сейчас попробовал на другом компе, тоже все блокируется
0
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
09.11.2010, 17:35 22
Delphi
1
2
3
4
if (Wd<>HW)and(Param=0) then begin
 EnableWindow(Wd,false); //блокируем
end else
 EnableWindow(Wd,true); //разблокируем
вот этот if не правильно написан надо так
Delphi
1
2
3
4
5
6
7
8
  if (Wd <> HW) then
  begin
    if (Param=0) then
      EnableWindow(Wd,false) //блокируем
    else
      EnableWindow(Wd,true); //разблокируем
  end else
    EnableWindow(HW,true);
чего-то я уверен, что так заработает
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
09.11.2010, 17:43 23
вот этот if не правильно написан надо так
да что вы говорите, если не так как у вас это не значит что условие не верно.
Мое условие аналогично вашему, только короче
0
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
09.11.2010, 18:00 24
Цитата Сообщение от anonimus Посмотреть сообщение
да что вы говорите, если не так как у вас это не значит что условие не верно.
Мое условие аналогично вашему, только короче
тоесть я так понимаю, что мое условие так же отрабатывает, как и твое, просто твой if у меня блокировал все окна включая и мою форму.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
09.11.2010, 18:03 25
ну ты пройдись в уме по условию и все станет ясно.

P.S.
ради интереса попробовал твое условие, такая же байда все блокируется
0
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
09.11.2010, 18:27 26
да, действительно, интересно получается, может из-за разных версий делфей, по разному отрабатывает.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
09.11.2010, 19:05 27
Sanprof, вот и я так думаю, может кто попробует запустить код на delphi 2007

Добавлено через 20 минут
счас попробовал на домашнем компе, на нем тоже delphi 2007, тоже блокируется все (
0
09.11.2010, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2010, 19:05
Помогаю со студенческими работами здесь

Поиск записей в подчиненной форме по различным параметрам полей в главной форме
Доброго времени суток уважаемые Форумчане! Пожалуй, заключительный вопрос. Суть вопроса: на...

Добавление текста из TextBox на одной форме в ComboBox на другой форме
Добрый вечер. У меня небольшая проблема. Я сделал кнопку &quot;Настройки&quot; что бы открывался User Form...

Изменение цветом поля в подчиненной форме в зависимости от значения в форме
Добрый день. Есть такой вопрос. Есть БД, где в поле под Статусом печати выбирается номер List ID...

Одна кнопка на одной форме, активирует другую на другой форме
Нажатием на кнопку активирует другую кнопку на другой форме не совсем понимаю


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru