Вниз
Скачать: CL | DM;

"Вдавленая" кнопка   Найти похожие ветки 

 
Elec3C ©   (2007-11-25 15:42) [0]

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

Код(Возможно код нужно пихать не в OnClick):
procedure TForm1.But1Click(Sender : PObj);
begin
 // Здесь "вдавливание" кнопки
 MenuPR.Popup(Form.Left + 265, Form.Top + 310); // Мои координаты вывода popupmenu
 // Здесь "выдавливание" кнопки
end;

P.S. Возможно нужно пихать код в OnMouseDown, но при этом я не знаю, как вдавить кнопку.


 
Vladimir Kladov ©   (2007-11-25 17:44) [1]

Я бы не заморачивался. В XP+ вдавленная кнопка скорее не вдавлена, а выделена. А тем много, и они разные. Вам же не кнопка нужна, а popup меню.


 
Compiler ©   (2007-11-25 21:18) [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;


 
Elec3C ©   (2007-11-26 16:37) [3]


> Compiler ©

Спасибо.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
15-1222743186
Slider007
2008-09-30 06:53
2008.11.30
С днем рождения ! 30 сентября 2008 вторник


2-1224600668
romychk
2008-10-21 18:51
2008.11.30
dat файлы


3-1210753890
tommy
2008-05-14 12:31
2008.11.30
ADO + postgresql OLE DB Provider


2-1224678984
Int23
2008-10-22 16:36
2008.11.30
Как получить (и записать) значение свойства Menu у формы


2-1224497497
tonick2001
2008-10-20 14:11
2008.11.30
Не ловится исключение




   Наверх