Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизЛевая/правая кнопа мыши Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c