![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Вдавленая" кнопка [Delphi, Vista]
Elec3C © (2007-11-25 15:42:00)Есть код, который при нажатии на кнопку показывает popupmenu под этой под кнопкой. Как сделать, так, чтобы перед показом popupmenu, кнопка вдавливась и оставалась вдавленой до скрытия popupmenu?
Код(Возможно код нужно пихать не в OnClick):
procedure TForm1.But1Click(Sender : PObj);
begin
// Здесь "вдавливание" кнопки
MenuPR.Popup(Form.Left + 265, Form.Top + 310); // Мои координаты вывода popupmenu
// Здесь "выдавливание" кнопки
end;
P.S. Возможно нужно пихать код в OnMouseDown, но при этом я не знаю, как вдавить кнопку.
Elec3C (2007-11-26 16:37:00) [1]
> Compiler ©
Спасибо.
Compiler (2007-11-25 21:18:00) [2]Если в Button1.OnClick(..) ничего нет то
procedure TForm1.KOLFormFormCreate(Sender: PObj);
begin
Button1.Style:=button1.Style or BS_AUTOCHECKBOX ;
end;
procedure TForm1.Button1MouseDown(Sender: PControl;
var Mouse: TMouseEventData);
var
i:integer; p:Tpoint;
begin
if mouse.Button=mbRight then
begin
GetCursorPos(p);
SendMessage(Button1.Handle,WM_LBUTTONDOWN,0,0);
SendMessage(Button1.Handle,WM_LBUTTONUp,0,0);
popupmenu1.Popup(p.X,p.Y);
SendMessage(Button1.Handle,WM_LBUTTONDOWN,0,0);
SendMessage(Button1.Handle,WM_LBUTTONUp,0,0);
end;
end;
Vladimir Kladov (2007-11-25 17:44:00) [3]Я бы не заморачивался. В XP+ вдавленная кнопка скорее не вдавлена, а выделена. А тем много, и они разные. Вам же не кнопка нужна, а popup меню.