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

Ваш аккаунт

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

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

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

Положение компонента TShape

7.1K
27 февраля 2006 года
Dunkel
33 / / 16.11.2005
Имеется следующая проблема: нужно разместить в приложении квадрат(TShape) таким образом, чтобы часть его была поверх кнопки(TButton). У меня не получается, так как квадрат размещается за кнопкой. Пробовал Shape->BringToFront(), не помогает.
13K
27 февраля 2006 года
poland
34 / / 16.01.2006
тут
7.1K
27 февраля 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by poland
тут



Ты что, издеваешься ??? Это я и написал, только в другом форуме.
ЗЫ Проблема то не решена пока...

15K
27 февраля 2006 года
Falcao
15 / / 26.02.2006
Цитата:
Проблема то не решена пока...


Shape1->Parent = TForm(Button1);
вот так шейп будет поверх..
Но помести лучше шейп на ТПанел и перемещай ТПанел, а не шейп.. ТПанел БУДЕТ выше кнопки..:)

3.6K
27 февраля 2006 года
CrazyTimon
125 / / 13.02.2006
Квадрат помещаешь на созданную тобой(новую)Tpanel И панелью перекрываешь кнопку.

Falcao извини не заметил сообщения.
7.1K
27 февраля 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by Falcao
Shape1->Parent = TForm(Button1);
вот так шейп будет поверх..



Во-первых, правильно будет так Shape1->Parent=(TForm *)Button1.

Во-вторых, при таком коде шейп будет размещен весь на кнопке, а если ты умеешь читать, то почитай повнимательнее мое первое сообщение(нужно чтобы часть щейпа была на кнопке, а часть на форме, т.е. шейп должен быть поверх формы и кнопки)!!!

Цитата:
Originally posted by Falcao
Но помести лучше шейп на ТПанел и перемещай ТПанел, а не шейп.. ТПанел БУДЕТ выше кнопки..



Такая реализация слишком громоздка, так как шейпов будет много.

13K
28 февраля 2006 года
poland
34 / / 16.01.2006
При любом способе отрисовки, если Shape не принадлежит отдельному окну, будут проблемы при нажатии кнопки (она при этом обычно смещается - перерисовывается). Т.е. как минимум - это не красиво. Может пояснишь: зачем это вообще надо много квадратиков поверх кнопок?
13K
28 февраля 2006 года
poland
34 / / 16.01.2006
Цитата:
Originally posted by Dunkel
Во-первых, правильно будет так Shape1->Parent=(TForm *)Button1.


Хотя компилятор и скушает подобное, но это просто бред. Правильно:

 
Код:
Shape1->Parent=Button1;
7.1K
28 февраля 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by poland
При любом способе отрисовки, если Shape не принадлежит отдельному окну, будут проблемы при нажатии кнопки (она при этом обычно смещается - перерисовывается). Т.е. как минимум - это не красиво. Может пояснишь: зачем это вообще надо много квадратиков поверх кнопок?



В моем случае кнопка не будет непосредственно нажиматься, а, следовательно, и перерисовываться.
На самом деле в таком случае тогда лучше написать свой класс(быстродействие увеличится).

13K
28 февраля 2006 года
poland
34 / / 16.01.2006
Цитата:
Originally posted by Dunkel
В моем случае кнопка не будет непосредственно нажиматься, а, следовательно, и перерисовываться.
На самом деле в таком случае тогда лучше написать свой класс(быстродействие увеличится).


ИМХО, если кнопка не будет нажиматься, то зачем она вообще нужна? У нее основная функция "ткни меня мышкой". А handle она потребует, сообщения получать будет и тормозить все начнет. М.б. тебе требуется hot-spot(?) - место куда можно ткнуть мышкой и запустить обработчик.

7.1K
28 февраля 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by poland
ИМХО, если кнопка не будет нажиматься, то зачем она вообще нужна? У нее основная функция "ткни меня мышкой". А handle она потребует, сообщения получать будет и тормозить все начнет. М.б. тебе требуется hot-spot(?) - место куда можно ткнуть мышкой и запустить обработчик.



Короче... У меня будет "режим дизайна" и "режим выполнения". Одна и та же кнопка будет, только в одном режиме она не должна нажиматься визуально(но событие будет обрабатываться), а вдругом - должна.

А квадратики будут расположены по границам и предназначены для изменения размеров кнопки.

Я уже реализовал эти квадратики, только они пока раположены рядом с границами кнопки.

13K
28 февраля 2006 года
poland
34 / / 16.01.2006
Цитата:
Originally posted by Dunkel
Короче... У меня будет "режим дизайна" и "режим выполнения". Одна и та же кнопка будет, только в одном режиме она не должна нажиматься визуально(но событие будет обрабатываться), а вдругом - должна.

А квадратики будут расположены по границам и предназначены для изменения размеров кнопки.

Я уже реализовал эти квадратики, только они пока раположены рядом с границами кнопки.



Интуиция меня не обманула - изобретаем велосипед. Посмотри для начала тут и приблизительн также, в одну строку делается изменение размера в run-time. Пошарь в сети самостоятельно.

7.1K
01 марта 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by poland
Интуиция меня не обманула - изобретаем велосипед. Посмотри для начала тут и приблизительн также, в одну строку делается изменение размера в run-time. Пошарь в сети самостоятельно.



Ты издеваешься !?!?!? Я знаю как изменяются размеры в run time !!! Я знаю, например, что написав:

 
Код:
SetWindowLong(Button1->Handle, GWL_STYLE, GetWindowLong(Button1->Handle, GWL_STYLE) | WS_THICKFRAME);
  SetWindowPos(Button1->Handle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME | SWP_NOACTIVATE);

вокруг кнопки появится рамка, с помощью которой можно будет менять ее размер. И это ВСЕГО ЛИШЬ ДВЕ строчки кода !!!
Но главная цель то другая !!! Мне нужно чтоб все визуально было как в билдере.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог