Главная страница
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.037 c
1-1104872438
KriNeedHelp
2005-01-05 00:00
2005.01.23
kak mozhno avtomati4eski zapustit programku pri zapuske windowsa


9-1097749307
Malefic
2004-10-14 14:21
2005.01.23
Asphyre: Для чего нужна TextureMap и как ее использовать?


1-1105445771
tolstiak
2005-01-11 15:16
2005.01.23
Как сделать RadioGroup многострочным?


3-1103275599
RRA
2004-12-17 12:26
2005.01.23
Использование LIKE при формировании SQL запроса


4-1102015586
Neiron
2004-12-02 22:26
2005.01.23
Удаление секций из PE файла