-
Есть код, который при нажатии на кнопку показывает popupmenu под этой под кнопкой. Как сделать, так, чтобы перед показом popupmenu, кнопка вдавливась и оставалась вдавленой до скрытия popupmenu?
Код(Возможно код нужно пихать не в OnClick): procedure TForm1.But1Click(Sender : PObj); begin // Здесь "вдавливание" кнопки MenuPR.Popup(Form.Left + 265, Form.Top + 310); // Мои координаты вывода popupmenu // Здесь "выдавливание" кнопки end;
P.S. Возможно нужно пихать код в OnMouseDown, но при этом я не знаю, как вдавить кнопку.
-
Я бы не заморачивался. В XP+ вдавленная кнопка скорее не вдавлена, а выделена. А тем много, и они разные. Вам же не кнопка нужна, а popup меню.
-
Если в 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;
-
> Compiler ©
Спасибо.
|