Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Ни как не соображу, как получить изображение под формой.   Найти похожие ветки 

 
Shuric ©   (2005-12-28 16:41) [0]

На ум приходит перечисление всех форм, отброс не перекрывающих необходимую и вывод изображения каждой в мой DC, что есть муторно и долго.
Собственно нет ли способа попроще?


 
Anatoly Podgoretsky ©   (2005-12-28 17:02) [1]

Под формой нет изображения.


 
Deka ©   (2005-12-28 17:35) [2]

Запомнить координаты формы, спрятать форму, вырезать кусок из DC(0), показать форму. И зачем тебе картинка "под формой"?


 
Prohodil Mimo ©   (2005-12-28 21:00) [3]

Deka ©   (28.12.05 17:35) [2]
И зачем тебе картинка "под формой"?


что бы наложить на форму :о)


 
Shuric ©   (2005-12-28 21:39) [4]

Имелось ввиду что на канву формы (типа не прямоугольная) накладывается изображение (ну не знаю как для [1] выразиться) под ней (под формой), и сверху в конву формы выводится рисунок с alpha каналом :) вот такая задачка. Зато не будет шерохотостей бордюра формы.


 
Deka ©   (2005-12-29 10:39) [5]

Долго напрягал воображение в попытках предствать то о чем в [4] ты написал. Так и не смог представить. Может есть другое решение? То что должно получиться на экране описАть можешь? Если только бордюр мешает, так он вроде проще убирается.


 
Shuric ©   (2005-12-29 15:17) [6]

На ум приходит окошко логотипа Potoshop CS2. Пытаюсь реализовать что-то типа примитивной skin библиотеки для себя.
Существует формат PNG (и всякие 32 битмапы), который позволяет сохранять в себе 4-ю составляющую (RGBA), ну и соответственно изображение с тенью (за счет использования альфа канала), например в TImage, смотрится привлекательней. С конролами на форме я разобрался, т.к. можно получить изображение под ними и соответственно накладывая на полученное изображение картинку из PNG получаем, например кнопочку с 3d эффектом. Проблема собственно формой, т.к. получить снимок под ней у меня неполучается :(


 
Deka ©   (2005-12-29 15:37) [7]

Если прозрачность тени не интересует, то может быть совсем отказаться от рамки окна и отрисовать все его элементы самому? Хотя может быть и прозрачность тени получится. Надо пробовать. Возьми TImage и растяни его на всю площадь окна, а у окна отключи отрисовку бордюра. Может быть так? Система сама будет следить за тем, что под твоим окном.


 
Shuric ©   (2005-12-29 15:44) [8]

Ты непонял, как раз интересует, а то парился бы я :) Форма на основе региона. Чтобы получить нужный эффект картинка из Png должна накладыватся на "что-то" а не на просто на серый фон.


 
Igor_thief   (2006-01-01 21:39) [9]

Вот одного не пойму, зачем получать изображение под контролом?


 
antonn ©   (2006-01-02 07:01) [10]

меняйте телепатор, товарищи:)

как я понимаю, нужно сделать форму с переменной прозрачностью (например у acrobat Reader"а сплаш - квадратик с информацией и шикарная затененность на его фоне). Под win2k и выше можно использовать png и UpdateLayeredWindow(), на ОСях ниже так не получится.
Чтобы сделать вид полупрозрачности, берем фон под формой, и на этот фон накладываем полупрозрачную маску, и обработанный фон помещаем на форму. Т.е. вручную рисуем то, что в вин2к рисует система. Правда окно то на самом деле прозрачным не будет, но по виду не отличить:)

попробуй так:
var BM:TBitmap;

procedure TForm1.Button1Click(Sender: TObject);
var DC:HDC;
begin
ShowWindow(Handle,SW_Hide);
sleep(1);
DC:=GetDC(0);
BitBlt(BM.Canvas.Handle,0,0,BM.Width,BM.Height,DC,left,top,SrcCopy);
ReleaseDC(0,DC);
ShowWindow(Handle,SW_Show);

BitBlt(canvas.Handle,0,0,BM.Width,BM.Height,BM.Canvas.Handle,0,0,SrcCopy);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
BM:=TBitmap.Create;
BM.Width:=width;
BM.Height:=Height;
end;

возможно нужно будет увеличить sleep(), чтобы окна перерисовались. А еще этот способ не "видит" прозрачные окна.


 
Deka ©   (2006-01-03 14:25) [11]

Тогда такое окошко перемещать нельзя - вся "прозрачность" разом пропадет. И при появлении новых либо при перемещении старых окошек эффект тоже пропадет. В общем подходит только для статики.


 
OldNaum ©   (2006-01-03 16:52) [12]

были четко сформулированные примеры окна с полупрозрачностью как в Winamp"e от одного из мастеров. не помню, то ли MBo, то ли еще кто...



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
6-1130229891
Rentgen
2005-10-25 12:44
2006.02.05
Как можно программно сменить текущий IP-адрес в локалке?


2-1137779782
SneG
2006-01-20 20:56
2006.02.05
Рисовать на Canvas


3-1133870327
Lansky
2005-12-06 14:58
2006.02.05
OpenDataSource


2-1137480059
Id
2006-01-17 09:40
2006.02.05
DateEdit


4-1132737561
Irmantukas
2005-11-23 12:19
2006.02.05
Как запретить какую то комбинацию клавиш