![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
игнорировать biMinimaze, biMaximize.. [D7, XP]
AlexDan © (2009-10-16 23:50:00)можно ли сделать чтобы клавиши оставались, но игнорировались?
AlexDan (2009-10-17 23:46:00) [1]а я ничего против и не имею.:)..
Юрий Зотов (2009-10-17 23:36:00) [2]> AlexDan © (17.10.09 23:32) [17]
О чем, собственно, и говорил Игорь.
:o)
Юрий Зотов (2009-10-17 23:35:00) [3]
> AlexDan © (17.10.09 23:25) [16]
Естественно. Это же два РАЗНЫХ сообщения.
AlexDan (2009-10-17 23:32:00) [4]да, всё, порядок procedure WmNclButtonDblClk(var Message: TWMNCLButtonDblClk);message WM_NCLButtonDblClk;
тогда всё работает..).
AlexDan (2009-10-17 23:25:00) [5]> Игорь Шевченко © (17.10.09 23:16) [15]
только нужно было вот так
procedure WmSysCommand(var Message: TWMSysCommand);message WM_SYSCOMMAND;
а с WmNclButtonDblClk(var Message: TWMNCLButtonDblClk); я ещё не разобрался, но тоже вроде нужно дописать немного..
Игорь Шевченко (2009-10-17 23:16:00) [6]AlexDan © (17.10.09 23:08) [14]
Из панели задач все равно сворачивается
AlexDan (2009-10-17 23:08:00) [7]> Игорь Шевченко © (17.10.09 23:01) [13]
похоже, спасибо, сейчас проверю.:).
Игорь Шевченко (2009-10-17 23:01:00) [8]
procedure TForm1.WmNclButtonDblClk(var Message: TWMNCLButtonDblClk);
begin
if Message.HitTest = HTCAPTION then
Message.Result := 0
else
inherited;
end;
procedure TForm1.WmSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType = SC_MINIMIZE) or (Message.CmdType = SC_MAXIMIZE) then
Message.Result := 0
else
inherited;
end;
AlexDan (2009-10-17 22:35:00) [9]потом по ней два раза кликаешь и она улетает в верхний левый угол..?)
faiwer (2009-10-17 22:21:00) [10]AlexDan поставь ограничение на Constraints, минимальные и максимальные той величине чему равна форма =)
AlexDan (2009-10-17 18:52:00) [11]и вот тоже интересно
Case Message.Msg Of
WM_SYSCOMMAND : IF Message.wParam = SC_MAXIMIZE
Then Begin
// делаем то, что нужно
End
Else Inherited;
WM_NCLBUTTONDBLCLK : IF Message.wParam = HTCAPTION
Then
//делаем то, что нужно
Else Inherited;
end;
клавиша MAXIMIZE игнорируется, а WM_NCLBUTTONDBLCLK как распахивал форму, так и дальше распахивает..?(
AlexDan (2009-10-17 10:22:00) [12]да, но с WM_NCLBUTTONDBLCLK что то у меня не очень вяжется..
procedure TForm1.WMGetSysCommand(var Message: TMessage);
var Msg: PMsg;
begin
if Msg^.message = WM_NCLBUTTONDBLCLK then
begin
if Msg^.wParam = HTCAPTION then
begin
MessageDlg('дв клик ',mtInformation,[mbOk],0);
end;
end
else Inherited;
end;
AlexDan (2009-10-17 00:58:00) [13]> Юрий Зотов © (17.10.09 00:46) [7]
спасибо преогромное..).
Юрий Зотов (2009-10-17 00:46:00) [14]> AlexDan © (17.10.09 00:32) [5]
См. WM_NCLBUTTONDBLCLK
Юрий Зотов (2009-10-17 00:41:00) [15]> AlexDan © (17.10.09 00:17) [4]
В статье по ссылке есть ошибка. Прочтите комментарии к статье.
AlexDan (2009-10-17 00:32:00) [16]как бы ещё перехватить двойной щелчек по borders..?
AlexDan (2009-10-17 00:17:00) [17]> Юрий Зотов © (17.10.09 00:00) [2]
> Обработать WM_SYSCOMMAND
да, спасибо, вот видимо то, что мне было нужно, http://www.delphikingdom.com/asp/viewitem.asp?catalogid=21
SELECT (2009-10-17 00:00:00) [18]только клавиши?
Юрий Зотов (2009-10-17 00:00:00) [19]Обработать WM_SYSCOMMAND
AlexDan (2009-10-16 23:51:00) [20]отключение не предлагать, ест-но..