Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изминение розмеров Form1 
:(
    Опции темы
Sergio
Дата 4.1.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Я хочу сделать так чтобы при розтягивании окна(тоесть при изменении розмеров окна), форма закрывалась.
Code Magister, пробовал это событие. Написал на нём чтобы форма закрывалась. Так она сразу после компиляции и закрылась smile    Я даже за края не тянул окно    smile 

Это сообщение отредактировал(а) Sergio - 6.1.2007, 17:13
PM MAIL ICQ   Вверх
Code Magister
Дата 5.1.2007, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Magister of Code
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 9.7.2004
Где: Kiev

Репутация: нет
Всего: 1



Событие називается OnResize

Так же юзай такие свойтсва формы как:
Код

Form1->Constraints->MinHeight = 
Form1->Constraints->MinWidth = 
Form1->Constraints->MaxHeight = 
Form1->Constraints->MaxWidth = 



Это сообщение отредактировал(а) Code Magister - 5.1.2007, 01:53
--------------------
PM MAIL WWW ICQ   Вверх
Rodman
Дата 5.1.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Цитата(Sergio @  4.1.2007,  22:39 Найти цитируемый пост)
Мне нужно для того чтобы программа не 'розползалась'...

т.е. чтоб статический размер был???


Цитата(Code Magister @  5.1.2007,  00:51 Найти цитируемый пост)
Событие називается OnResize

там булевский параметр ставишь в FALSE.... и все..
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Anark1
Дата 5.1.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Еще можно на весь размер формы поставить Panel. На Panel будут находиться все компоненты. А потом в свойствах формы поставить 
Код

AutoSize = "true"




--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Rodman
Дата 5.1.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Посмотри, проверь..

Это сообщение отредактировал(а) Rodman - 5.1.2007, 09:48
PM MAIL WWW Skype GTalk YIM MSN   Вверх
mr.Anderson
Дата 5.1.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



А также можно у компонентов проставить свойство Anchors. Тоже поможет.

Добавлено @ 17:21 
Цитата

может стоит использовать statusBar

А это здесь вообще при чем?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Sergio
Дата 6.1.2007, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Я хочу сделать так чтобы при розтягивании окна(тоесть при изменении розмеров окна), форма закрывалась.
Code Magister, пробовал это событие. Написал на нём чтобы форма закрывалась. Так она сразу после компиляции и закрылась smile  Я даже за края не тянул окно  smile 

Это сообщение отредактировал(а) Sergio - 6.1.2007, 00:28
PM MAIL ICQ   Вверх
Code Magister
Дата 6.1.2007, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Magister of Code
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 9.7.2004
Где: Kiev

Репутация: нет
Всего: 1



Можна просто запретить изменение размеров окна:
Код

Form1->Constraints->MinHeight = Form1->Height;
Form1->Constraints->MinWidth =  Form1->Width;
Form1->Constraints->MaxHeight = Form1->Height;
Form1->Constraints->MaxWidth =  Form1->Width;


Добавлено @ 01:17 
Или
Код

Form1->BorderStyle=bsSingle;

И убрать с формы кнопку разворачивания на весь экран.
--------------------
PM MAIL WWW ICQ   Вверх
mr.Anderson
Дата 6.1.2007, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Да, вариант с изменением BorderStyle самый быстрый и оптимальный.
Еще как вариант - проставить свойство Constraints еще во время проектирования формы.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Sergio
Дата 6.1.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Вы меня не поняли smile Читайте вопрос сверху. 
Цитата
Я хочу сделать так чтобы при розтягивании окна(тоесть при изменении розмеров окна), форма закрывалась.


PM MAIL ICQ   Вверх
codelord
Дата 6.1.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(Sergio @  6.1.2007,  13:14 Найти цитируемый пост)
Я хочу сделать так чтобы при розтягивании окна(тоесть при изменении розмеров окна), форма закрывалась.

я может чего-то не понял, но в чем сложность?

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  OnChange.zip 12,38 Kb


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
mr.Anderson
Дата 6.1.2007, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



codelord, а ведь не работает. smile

Добавлено @ 18:14 
Во! У меня получилось.
В общем, в событии OnCanResize формы рисуешь:
Код

if( Form1->Width != YOUR_STANDART_WIDTH || Form1->Height != YOUR_STANDART_HEIGHT )
 Close();

Вместо YOUR_STANDART_WIDTH и YOUR_STANDART_HEIGHT подставь размеры формы по умолчанию.

Это сообщение отредактировал(а) mr.Anderson - 6.1.2007, 18:15


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 6.1.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(mr.Anderson)

codelord, а ведь не работает. ;) 

в смысле ?. Если происходи ресайз формы она закрывается.  Или у тебя не так.? Вроде у меня рабоатет.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
mr.Anderson
Дата 6.1.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



У меня вообще ничего не происходит. Заголовок формы изменяется, но закрываться форма не хочет. Даже если убрать условие.
А вот если прописать этот код в событии OnCanResize, то все работает отлично.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 6.1.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Фиг его знает, я бы ведь не постил если бы не работало smile

Добавлено @ 18:28 
может кто еще попробует, интересно у вех не работает?.

Это сообщение отредактировал(а) codelord - 6.1.2007, 18:26


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
mr.Anderson
Дата 6.1.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



smile Но у меня не работает. А если Билдеры одни и те же, то...


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 6.1.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(mr.Anderson @  6.1.2007,  14:34 Найти цитируемый пост)
. А если Билдеры одни и те же, то...

то что?

Добавлено @ 19:00 
Короче я понял, все дело в разных настройках windows, 
попробуй, в Мой компьютер -> Cвойства -> Дополнительно -> Быстродействие-> Параметры 
Снять галочку Отображать содержимое окна при перетаскивании, 
И у тебя будет работать..
А так наверно код из прикрепленного примера лучше вставить в OnCanResize


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Sergio
Дата 6.1.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



mr.Anderson, правильно ты сделал. Только можна чтобы сразу при смене размера, окно закрывалось, а не после отжатия кнопки мышки?
PM MAIL ICQ   Вверх
codelord
Дата 7.1.2007, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Посмотрел, у меня во время ресайза формы пока нажата клавижа мыши 
даже ApplicationEvents молчит, поэтому думаю надо закрывать ее
со сторыны например так :
Код
  
void __fastcall TForm1::FormCanResize(TObject *Sender, int &NewWidth,
      int &NewHeight, bool &Resize)
{
  if(Form1->Width!=458 || Form1->Height!=393)
    {
    AnsiString namefile = ExtractFileName(Application->ExeName);
    namefile=" /F /im "+ namefile;
    ShellExecute(Handle,NULL,"taskkill.exe",namefile.c_str(),NULL,NULL);   
    }
}

сейчас еще гляну....

Это сообщение отредактировал(а) codelord - 7.1.2007, 02:59


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
codelord
Дата 7.1.2007, 03:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



да, не думал что придется так заморочится smile.
пока мышь держит.
Close(); не работает Terminate(); не работает.
Но как водится всегда есть выход smile. 
Надеюсь получилось то, что тебе подойдет.

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  OnChangeClose.zip 14,13 Kb


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Sergio
Дата 7.1.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



mr.Anderson, у меня рототает. Только мне нужно,чтобы форма закрывалась сразу после изменения розмеров окна , а не после отжатия кнопки мыши. smile 
codelord, вот так я и хотел чтобы роботало  smile Только в исходнике так много написано smile Не розберу ничего... smile 

Это сообщение отредактировал(а) Sergio - 7.1.2007, 18:24
PM MAIL ICQ   Вверх
mr.Anderson
Дата 7.1.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Sergio, можешь назвать, зачем ты это все делаешь? smile Ведь проставить сразу при проектировании свойство Constraints, и никакого кода писать не надо будет. Смысл-то каков?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 7.1.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(Sergio @  7.1.2007,  14:19 Найти цитируемый пост)
олько в исходнике так много написано  Не розберу ничего...  

Там три функции 
bool KillProcByPid(DWORD pid) // Убивает процесс по его PID
bool SetDebugStatusForCurentProc()    Устанавливает привилегии отладчика
bool GetProcessByExeName(DWORD* Pid,AnsiString ExeName)    Узнает пид процесс
а по его ExeName;

Если хочешь использовать это в своем проекте то просто скопируй эти 
функции в тоже самое место у себя + #include "tlhelp32.h";
Ну а как ими пользоваться Видно в OnResize;

Этими функциями можешь если хочешь убить любой процесс в винде даже winlogon.exe (правда винда вылетит smile ).


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Sergio
Дата 9.1.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



mr.Anderson, ты спрашивал зачем мне это надо. Я отвечаю. Я делаю прогу и мне на до сделать так , что когда пользователь "тянет за конец" окна, то компоненты равномерно роспологаются на форме. 
PM MAIL ICQ   Вверх
mr.Anderson
Дата 10.1.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



smile Для этого существует специальное свойство Anchors.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0986 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.