Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Не получается TButton.Default :(   Найти похожие ветки 

 
Seldon ©   (2004-04-22 21:42) [0]

for B := 0 to 5 do
begin
 Button:=TButton.Create(Form1);
 with Button do
 begin
   Parent := Form1;
   Left:=B*75;
   Default:=B=1;
 end;
end;

Создаёт 5 кнопок. Вызывается в Form1.OnCreate. Дефолтной должна быть 2 кнопка. Но остаётся первая. Почему?


 
Fay ©   (2004-04-22 21:52) [1]

1) Должен создавать 6 кнопок
2) Попробуй
B := 0
repeat
 with TButton.Create(Form1) do
   begin
      Parent := Form1;
      Left := B * 75;
      Default := B = 1;
   end;
 Inc(B);
until B = 5;

Я не проверял 8)


 
Алхимик ©   (2004-04-22 21:55) [2]


> for B := 0 to 5 do

6 кнопок
0 - не дефолт
1 - дефолт
2 - не дефолт
3 - не дефолт
4 - не дефолт
5 - не дефолт


 
Yanis ©   (2004-04-22 21:57) [3]

Что значит
>Дефолтной должна быть 2 кнопка
???


 
Seldon ©   (2004-04-22 22:00) [4]

Да, 6 кнопок, не в этом суть.

>Что значит
>>Дефолтной должна быть 2 кнопка
>???
Значит после цикла 2 кнопка (если счётвести от 1) должна иметь фокус, и, как следствие, реагировать на Enter.


 
Fay ©   (2004-04-22 22:01) [5]

Блин! Не сменил критерий дефолтности...


 
Seldon ©   (2004-04-22 22:06) [6]

>Fay ©   (22.04.04 22:01) [5]
>Это мне или себе?


 
Yanis ©   (2004-04-22 22:07) [7]

А почему бы не использовать  windows.SetFocus(Button2.Handle);
???


 
Fay ©   (2004-04-22 22:26) [8]

2Seldon ©   (22.04.04 22:06) [6]
Себе


 
Anatoly Podgoretsky ©   (2004-04-22 22:31) [9]

Если какая то из кнопок имеет фокус, то ни о какой дефолтности и речи быть не может. А фокус задается не Default, а установкой фокуса на нужный элемент.


 
Fay ©   (2004-04-22 22:36) [10]

2Anatoly Podgoretsky ©   (22.04.04 22:31) [9]

> Если какая то из кнопок имеет фокус, то ни о какой дефолтности
> и речи быть не может

В каком смысле?


 
Seldon ©   (2004-04-22 22:38) [11]

>windows.SetFocus(Button2.Handle);
Да не подумал как-то. Сейчас вот попробовал - понравилось.

>В каком смысле?
Присоединяюсь


 
Gero ©   (2004-04-22 22:39) [12]


> В каком смысле?

Когда на кнопку попадает фокус, она становится дефолтной.


 
Anatoly Podgoretsky ©   (2004-04-22 22:50) [13]

В таком смысле, что если фокус на другой кнопке, то она имеет приоритет перед дефолтной, при этом ни в коей мере она сама дефолтной не становится.
Дефолтная кнопка действует только если фокус стоит не на кнопке, например на эдит.


 
Gero ©   (2004-04-22 22:58) [14]


> этом ни в коей мере она сама дефолтной не становится

Визуально становится.
Да и вести себя начинает так же.
Но Default, конечно же останется в False.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.078 c
6-1079338786
Аноним
2004-03-15 11:19
2004.04.11
TClientSocket, TServerSocket


1-1082464362
Юля
2004-04-20 16:32
2004.04.11
На другом компьютере программа не запускается


3-1081926798
tech|work
2004-04-14 11:13
2004.04.11
Сохранение связей в отчетности из delphi в excell?


1-1082742943
Федя Мегатронов
2004-04-23 21:55
2004.04.11
Компилятор пишет "Undeclared identifier: FileExists "


4-1079083081
BillyJeans
2004-03-12 12:18
2004.04.11
Как в WndProc обработать сообщения от конролов с формы?