Вниз
Скачать: 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.007 c
15-1222772538
oldman
2008-09-30 15:02
2008.11.30
Программист и ОС


4-1201263223
BBCHa
2008-01-25 15:13
2008.11.30
Com-порт и CLX


2-1224785102
Wind
2008-10-23 22:05
2008.11.30
Получение адреса переменной


3-1210606073
Вася
2008-05-12 19:27
2008.11.30
Firebird и список БД


15-1222666562
Задачник
2008-09-29 09:36
2008.11.30
Движение с переменным ускорением Помогите посчитать?




   Наверх