Конференция "KOL" » "Вдавленая" кнопка [Delphi, Vista]
 
  • Elec3C © (25.11.07 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 © (25.11.07 17:44) [1]
    Я бы не заморачивался. В XP+ вдавленная кнопка скорее не вдавлена, а выделена. А тем много, и они разные. Вам же не кнопка нужна, а popup меню.
  • Compiler © (25.11.07 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 © (26.11.07 16:37) [3]

    > Compiler ©

    Спасибо.
 
Конференция "KOL" » "Вдавленая" кнопка [Delphi, Vista]
Есть новые Нет новых   [134431   +10][b:0][p:0.001]