![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не дать нажать SpeedButton [D6, WinXP]
Yuri Btr © (2002-08-20 17:57:00)Кто нибудь знает, как например при щелчке мыши по кнопке типа SpeedButton если выполняется условие, то оставить её в отжатом состоянии. (SpeedButtonы находятся в группе) (если в SpeedButtonOnClick написать SpeedButton.Down:=false то ничего не происходит :(
Yuri Btr (2002-08-21 10:18:00) [1]to Ученик
Большое спасибо ещё раз... :-)
Ученик (2002-08-21 10:07:00) [2]Еще вариант
procedure WMNCHitTest(var Message : TWMNCHitTest); message WM_NCHITTEST;
procedure TForm1.WMNCHitTest(var Message : TWMNCHitTest);
var
Control : TControl;
begin
Control := FindDragTarget(Point(Message.XPos, Message.YPos), False);
if Control = SpeedButton3 then
Message.Result := HTNOWHERE
else
inherited
end;
Ученик (2002-08-21 09:57:00) [3]Запоминай текущую нажатую кнопку, если условие не выполняется
в OnClick
LastPressed.Down := True
I_A (2002-08-21 09:56:00) [4]обработчик на 5 батонов
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
if true then begin
Abort;
Exit;
end;
ShowMessage("Click"); месага не выскакивает
end;
Yuri Btr (2002-08-21 09:47:00) [5]to I_A
Просто.... но не работает.
I_A (2002-08-21 09:28:00) [6]procedure TForm1.OnClick ();
begin
if condition = true then begin
Abort;
Exit;
end;
end;
Yuri Btr (2002-08-21 09:21:00) [7]to Андрей Прокофьев
AllowAllUp мне нужно обязательно сделать false (нажимается одна из группы кнопок, другая естесно отжимается)
to Юрий Зотов ©
c Enabled я и так могу поиграться, но кнопка тогда принимает вид Disable (серый) а это не совсем корректно в контексте моей программы. Мне нужно чтобы пользователь видел одинаковые по виду группу кнопок, но смог нажать только определённые из них. Проверку достаточно делать в общем обработчике OnClick для всех кнопок.
Юрий Зотов (2002-08-20 23:11:00) [8]Есть такое свойство - Enabled и такое событие - Application.OnIdle. В обработчике этого события проверяете Ваше условие и выставляете это свойство. Пример обработчика есть в хелпе.
Андрей Прокофьев (2002-08-20 18:07:00) [9]Поставь у всех кнопок AllowAllUp = true
тогда Btn.Down := false будет работать