Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

"Вдавленая" кнопка [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 меню.


Наверх

Титульная страница Поиск, карта сайта Написать письмо