Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

Прозрачный потомок TCustomControl   Найти похожие ветки 

 
SergeyB   (2002-04-04 13:47) [0]

Подскажите, как добиться, чтобы фон потомка TCustomControl был прозрачным?
csOpaque в ControlStyle почему-то не помогает, может быть есть тонкости его использования?
Всем спасибо.


 
Song   (2002-04-04 16:12) [1]

Вы не правильно поимаете смысл csOpaque.
Это подмножество предназначена для "неперерисовки" фона. Но это фраза не означает, что он не будет рисоваться вообще, и фон будет прозрачным, а обозначает то, что при перерисовке компонента, например на onPaint, фон не будет изменяться. Это делают иногда, чтобы какой-то элемент не моргал при частом обновлении его содержимого.


 
SergeyB   (2002-04-11 13:33) [2]

Наконец я нашел один способ как это сделать - . Если кому будет интересно - ниже функция Paint потомка TCustomControl (здесь просто игра с формой - эллипс с дыркой). Дополнительно нужно будет переопределять регионы в procedure Resize(); override;.

procedure TShapedControl.Paint();
const
RegionSet: boolean = false;
var
rgn: HRGN;
begin
if not RegionSet then begin
region:=CreateEllipticRgn(0,0,Width,Height); // region - определен в TShapedControl
rgn:=CreateEllipticRgn(Width div 3,Height div 3,2*Width div 3, 2 * Height div 3);
CombineRgn(rgn, region, rgn, RGN_DIFF);
SetWindowRgn(Handle, rgn, true);
DeleteObject(rgn);
RegionSet:=true;
end;
// Основная прорисовка ...
end;



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

Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Наверх









Память: 0.81 MB
Время: 0.021 c
14-81057
fliz
2002-03-20 09:22
2002.04.25
Если на машине нет и никогда не было установлено Access, то через BDE можно работать с аксесовской базой. Или я что-то путую?


3-80765
IronHawk
2002-04-02 11:34
2002.04.25
Приветствую Мастеров ! Как удалять одинаковые строки в базе 2 ?


3-80758
Sergant
2002-04-01 16:25
2002.04.25
Вопросы по MS SQL 6.5


6-81016
Phobos_kx
2002-02-11 19:35
2002.04.25
Помогите пожалуйста!!! как переслать Image через Socket


6-81024
reki
2002-02-14 15:59
2002.04.25
ФТП сервер?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский