Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2015, 10:43   #1
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
Сообщение как переделать код, чтобы окно сворачивалось сверху вниз

привет, подскажите, как переделать код, чтобы окно сворачивалось «сверху-вниз», а не «снизу-вверх»



Код:
procedure TForm1.Hide_Off;
var
   t: DWORD;
   r: TRect;
begin
  {$IFNDEF WHND}
  SystemParametersInfo(SPI_GETWORKAREA, 0,@r,0);
  {$ENDIF}
  {$IFDEF WHND}
  SystemParametersInfo(SPI_GETWORKAREA, 0,r,0);
  {$ENDIF}
 while Form1.Left < r.Bottom do
  begin
   t := GetTickCount;
    while GetTickCount - t < 1 do
    Application.ProcessMessages;
    Form1.Height := Form1.Height - 10;
    if Form1.Height < 160  then
    begin
   Form1.Height := 160;
    Exit;
   end;
  end;
end;
Вложения
Тип файла: rar FormHide_Off.rar (1.8 Кб, 9 просмотров)

Последний раз редактировалось beegl; 26.02.2015 в 10:45.
beegl вне форума Ответить с цитированием
Старый 26.02.2015, 10:45   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
сворачивалось сверху вниз,
= опускалась бы верхняя граница, а нижняя оставалась бы на месте ?
Код:
form.top:=form.top + ???
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 26.02.2015, 10:47   #3
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
form.top:=form.top + ???
проект движется, надо только часть окна

оо, спасибо, теперь нормально)

Код:
 while Form1.Left < r.Bottom do
  begin
   t := GetTickCount;
    while GetTickCount - t < 1 do
    Application.ProcessMessages;
    Form1.Top := Form1.Top - 10;
    Form1.Height := Form1.Height + 10;
    if Form1.Height > 360  then
    begin
   Form1.Height := 360;
    Exit;
   end;

Последний раз редактировалось beegl; 26.02.2015 в 10:58. Причина: add img
beegl вне форума Ответить с цитированием
Старый 26.02.2015, 11:15   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Опускайте left, top окна одновременно с уменьшением высоты. Получите нужный эффект.
Человек_Борща вне форума Ответить с цитированием
Старый 26.02.2015, 16:14   #5
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

подскажите, как записать числовой ClassName в FindWindow:

Код:
PostMessage(FindWindow(nil,'Intertelecom'), WM_CLOSE, 0, 0);
хочу закрыть сообщение об ошибке, но закрывается вся программа, т.к. Caption наследуется из Caption самой программы. Думал, хендлом как-то закрыть


Последний раз редактировалось beegl; 26.02.2015 в 16:22. Причина: добавил текст
beegl вне форума Ответить с цитированием
Старый 26.02.2015, 16:21   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

так же как и заголовок окна. ClassName как и Caption это всегда строка.
Содержимое поля "Class" копируете целиком.

Последний раз редактировалось Человек_Борща; 26.02.2015 в 16:24.
Человек_Борща вне форума Ответить с цитированием
Старый 26.02.2015, 16:23   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А так не '#32770' ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.02.2015, 16:32   #8
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А так не '#32770' ?
почему-то не закрывает:

beegl вне форума Ответить с цитированием
Старый 26.02.2015, 16:37   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Может сообщение не то?
Человек_Борща вне форума Ответить с цитированием
Старый 26.02.2015, 16:41   #10
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Может сообщение не то?
WM_HIDE нет для PostMessage

поймал сообщение и закрыл))

Код:
if (Pos('/login', URL) > 0) then
  begin
    if (ErrorExists(Browser, ErrorText)) then
      raise Exception.CreateFmt(ERROR_LOGIN, [ErrorText]);

    if (not FillForm(Browser, 'phone', EditUsername.Text)) then
    begin
    Timer7.Enabled := True;
      raise Exception.Create(ERROR_FIELD_PHONE_NOT_FOUND);
    end;

    if (not FillForm(Browser, 'pass', EditPassword.Text)) then
      raise Exception.Create(ERROR_FIELD_PASSWORD_NOT_FOUND);

    if (not AcceptForm(Browser)) then
      raise Exception.Create(ERROR_SUBMIT_FAILED);
  end else
  if (Pos('/statistic', URL) > 0) then
  begin
    List := TStringList.Create();
    try
таймер:

Код:
procedure TIntertelecomForm.Timer7Timer(Sender: TObject);
begin
Timer7.Enabled := False;
PostMessage(FindWindow(nil,'Intertelecom'), WM_CLOSE, 0, 0);
end;
end.

Последний раз редактировалось beegl; 26.02.2015 в 18:38. Причина: добавил код
beegl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кор-ка Макроса_протягивание верхних значений сверху вниз Alexsandrr Microsoft Office Excel 13 16.10.2013 13:03
как поменять Height сверху вниз? Host-2013 Общие вопросы Delphi 1 22.02.2013 09:26
ошибки не пойму((. Таблично управляемый синтаксический разбор сверху вниз Huligan799 Общие вопросы Delphi 6 05.12.2012 10:54
просьба! как можно переделать код макроса, чтобы корректно искал? Nick31 Microsoft Office Excel 7 19.05.2012 00:34
Добавление строк сверху-вниз Rapala Общие вопросы Delphi 6 30.04.2010 18:50