![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
драсте
подскажите как можно сделать запись на диск кординат формы при их изменении делал через Resize это событие происходит пока идет изменение это пока я буду тащить форму головка будет юлозить по диску хотел совместить Resize с MouseDown но MouseDown на границе формы не работает подскажите как мне быть |
|
#2
|
||||
|
||||
|
а почему не при закрытии?
|
|
#3
|
||||
|
||||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Цитата:
а все остальные действия пишу сразу а тут рещил иэто сразу |
|
#5
|
|||
|
|||
|
Цитата:
это какой уловитель делать проще при выключении сделать но не достаток если напряжение пропадет кординато не сохраниться |
|
#6
|
||||
|
||||
|
Если напряжение пропадет, не только кординато слетит :-)
Методом научного тыка получилась компиляция из обработчиков определенных сообщений, вроде работает Код:
...
private
{ Private declarations }
procedure WMSYSCOMMAND(var Msg: TMessage);
message WM_SYSCOMMAND;
procedure WMNCLBUTTONDOWN(var Msg: TMessage);
message WM_NCLBUTTONDOWN;
...
procedure TForm1.WMNCLBUTTONDOWN(var Msg: TMessage);
begin
if (Msg.WParam = 0) and (Msg.LParam = 0) then
with TStringList.Create do
begin
Add('Form.Top - ' + Inttostr(Form1.Top));
Add('Form.Left - ' + Inttostr(Form1.Left));
Add('Form.Height - ' + Inttostr(Form1.Height));
Add('Form.Width - ' + Inttostr(Form1.Width));
SaveToFile('some.txt');
Free;
end {with}
else
inherited;
end;
procedure TForm1.WMSYSCOMMAND(var Msg: TMessage);
begin
inherited;
SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, 0, 0);
end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
SKIPtr (23.01.2016)
| ||
|
#7
|
|||
|
|||
|
Цитата:
после долгой возни и исправлений вроде получилось сперва думал просто скопировать этот текс себе но он давал ошибку Illegal character in input file:*'*'*($A0) когда я текст вбил вручную эта ошибка исчезла но форма не хотела менять размеры и кординаты после долгих тыканей осталось такое Код:
procedure TForm1.WMNCLBUTTONDOWN(var Msg: TMessage); message WM_NCLBUTTONDOWN;
var s : string;
begin
Inherited;
s := 'Height ' + IntToStr(Height) + #13;
s := s + 'Width ' + IntToStr(Width) + #13;
s := s + 'Left ' + IntToStr(Left) + #13;
s := s + 'Top ' + IntToStr(Top);
Label.Caption := s;
end;Последний раз редактировалось SKIPtr, 23.01.2016 в 08:45. |