Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Левая/правая кнопа мыши   Найти похожие ветки 

 
X3M   (2004-12-26 22:36) [0]

Как определить какая кнопа нажата, а потом выполнить определённые действия для каждой из кнопок?????


 
Shnabs   (2004-12-26 22:41) [1]

Может так?

procedure MouseDown(Sender: TObject; Button:
 Shift: TShiftState; X, Y: Integer);
begin
if Button = mbleft then
begin
...
end;

if Button = mbright then
begin
...
end;

end;


 
X3M   (2004-12-26 22:47) [2]

maybe, ща попробую


 
X3M   (2004-12-26 22:50) [3]

пасиба, работает. тока теперь возникает ещё одна проблема: не могу скрыть главную форму при запуске приложения. Дочерние формы скрываются в трей (но пока почему-то оттуда не вылазят) а главное не могу скрыть.... как сделать?


 
Colonel   (2005-01-05 20:49) [4]

Способов много. У меня допустим в старых прогах, когда нужно было скрывать форму и все такое вот что стояло :


procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnMinimize:=AppMinimize;
 Application.OnRestore:=AppMinimize;
 Application.Minimize;
 AppMinimize(@Self);
 ...................
end;

procedure TForm1.AppMinimize(Sender: TObject);
begin
 ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 icon_(self,nim_add);
 showform(sw_hide,false);
 application.ShowMainForm:=false;
end;

procedure tform1.showform(a:integer;b:boolean);
begin
 ShowWindow(Application.Handle,a);
 ShowWindow(Application.MainForm.Handle,a);
 application.ShowMainForm:=b;
end;

procedure tform1.Icon_(sender:tobject;dwMessage:DWORD);
begin
 with nid do begin
               cbSize:=SizeOf( TNotifyIconData );
               Wnd:=form1.Handle;
               uID:=1;
               uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
               uCallbackMessage:=WM_USER+100;
               hIcon:=Application.Icon.Handle;
               szTip:="Volume control [Designed by Colonel]"+#13+"Регулировка: Num */-/+";
             end;
 Shell_NotifyIcon(dwMessage,@nid);
end;


Это стопудово спрячет прогу при старте в трай, а в таскбаре ничего отображаться не будет.
С FormCreate,Activate, думаю все понятно. Ну, а в Icon_ собсно происходит появление иконки приложения в трее. А вот еще забыл по обработке кнопок :


procedure tform1.FormIcon(var Msg:TMessage);
var
 p:tpoint;
begin
 case Msg.lParam of
                  WM_LBUTTONDOWN : //Нажатие левой кнопки на                                     иконке
                                  begin
                                    getcursorpos(p);
                                    SetForegroundWindow(Handle);
                                    pm.Popup(p.X,p.y);
                                    PostMessage(Handle,WM_NULL,0,0); //чтобы попап не глючил
                                  end;
 end;
end;


В public нужно прописать :

procedure FormIcon(var Msg:TMessage); message WM_USER+100;


Ну, вот и все. Желаю удачи.



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

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1105005494
Progh
2005-01-06 12:58
2005.01.23
Работа с TListView


1-1105539287
Igor_thief
2005-01-12 17:14
2005.01.23
Добавление события


1-1104860295
olookin
2005-01-04 20:38
2005.01.23
Double vs Extended


1-1104869641
MAlexander
2005-01-04 23:14
2005.01.23
Отсуствует стандартный компонент


14-1104471184
Grinders
2004-12-31 08:33
2005.01.23
Новый Год!