Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отрисовка окна

23K
11 апреля 2007 года
JIekapb
10 / / 19.03.2007
Возникла необ-ть создания
собст-го стиля окна. Какие ивенты использовать для перемещения окна при mouse_click?
273
12 апреля 2007 года
3A3-968M
1.2K / / 22.12.2005
Если нужно отрисовывать окно самому, устанавливаешь FormBorderStyle в значение FormBorderStyle.None, тогда исчезнет автоматическая прорисовка границ и стандартных кнопочек "Закрыть" "Свернуть" и т.д.. Ну а для перемещения окна, события MouseUp и MouseDown события, ещё DragDrop может быть. Рисовать на форме можно средствами GDI+
23K
12 апреля 2007 года
JIekapb
10 / / 19.03.2007
А как перемещать форму при зажатой
mousebutton1 на верхнем border'е?
какой эвент при зажатой кнопке,
click?
273
14 апреля 2007 года
3A3-968M
1.2K / / 22.12.2005
Сперва определяешь в обработчике события MouseDown координаты мыши, чтобы узнать на верхнем ли бордере она нажата. Далее, если это так, в событии MouseMove меняешь координаты формы в соответствии с передвижениями мыши. Если не справишься, кину простой пример.
23K
16 апреля 2007 года
JIekapb
10 / / 19.03.2007
Кинь, плз.
Не могу понять как отслеживать координаты заголовка и как нарисовать border?
273
18 апреля 2007 года
3A3-968M
1.2K / / 22.12.2005
Иммитировать поведение верхним бордером можно при помощи обычной панели. Пример в аттаче. Сделан корявенько, форма моргает - но принцип показан.
23K
18 апреля 2007 года
JIekapb
10 / / 19.03.2007
Благодарю!
41K
11 июля 2008 года
_DimEDrOL_
2 / / 11.07.2008
Цитата: 3A3-968M
Иммитировать поведение верхним бордером можно при помощи обычной панели. Пример в аттаче. Сделан корявенько, форма моргает - но принцип показан.



= = = = = = =
Хы. :) Сказать честно у меня тоже была точно такая же проблема и попытался я решить её точно таким же способом и возник у меня точно такой же баг. Окно мигает и встает не обязательно в то место в которое я его передвинул. Из этого всего всего можно сделать вивод что на VCL никак оную шнягу не осуществить... думаю что пора приниматься за изучение API. Вобщем если кто-то еще заглянет в эту тему, кроме конечно вас двоих, задаю такой вопрос:
Как создать на чистом API окно с нестандартным стилям каймы(border) ???
:confused:

3.7K
11 июля 2008 года
0nni
326 / / 24.06.2008
ой-ей!
Так нужно делать только если вы рисуете окно в игре и не через GUI для обычных окон есть хороший способ всего на две строчки:
Напиши в обработчике onMouseDown для левой кнопки мыши:
 
Код:
ReleaseCapture();
SendMessage(handle, WM_SYSCOMMAND, $F012, 0);


Если ты работаешь в билдере, то вместо $F012 пиши 0xF012
Кстати поиграйте с этим параметром, вот например поставите 0xF008.

Вместо handle можете прописать Button1.Handle - тодже ничего
3.7K
11 июля 2008 года
0nni
326 / / 24.06.2008
Цитата: _DimEDrOL_
= = = = = = =
Как создать на чистом API окно с нестандартным стилям каймы(border) ???
:confused:


Кстати $F008 и другие к вашим услугам :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог