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

Вниз

AlphaBlend в ListView и RichEdit   Найти похожие ветки 

 
user's   (2004-05-02 21:10) [0]

Подскажите как заставить просвечиваться ListView и RichEdit ??
Заранее спасибо.


 
DVM ©   (2004-05-02 21:35) [1]

Нормальным способом в Win9X никак. Только если отрисовывать самостоятельно то, что расположено под ними при приходе WM_ERASEBKGND. Сопряжено с большими проблемами и глюками. Лучше эту идею оставить.
Если ListView надо сделать таким как на рабочем столе эксплорера (он не прозрачный!), то это так:
WM_ERASEBCKGND:
begin
 PaintDesktop(wParam)
end;


 
user's   (2004-05-02 21:57) [2]

а мона хотябы сделать чтоб не AlphaBlend, а тупо показывало что находиться за ним, причЁм чтоб можно было писать там текст в рич эдите. Типа Transparent ?


 
user's   (2004-05-02 22:02) [3]

Вот так примерно обрабатывать ?

procedure WMEraseBkgnd(var message: TWMEraseBkgnd); message WM_PAINT;


 
DVM ©   (2004-05-02 22:04) [4]


> user"s   (02.05.04 21:57) [2]

Можно. Опять же обрабатывая WM_ERASEBCKGND RichEdita.
Но тут есть другая проблема. Windows по умолчанию не рисует ту часть родительского окна, что находится под дочерним. Соответственно, что даже если получить часть изображения родительского окна, расположенного под дочерним, то там будет не тот рисунок. Данное поведение регулируется стилями дочернего окна WS_CLIPCHILDREN и стилем WS_CLIPSIBLINGS.


 
DVM ©   (2004-05-02 22:05) [5]


> Вот так примерно обрабатывать ?

Примерно так, только почему там WM_PAINT?


 
user's   (2004-05-02 22:48) [6]

вот так ?

type
TRichEdit1  = class(TRichEdit)
 public
  procedure WMEraseBkgnd(var message: TWMEraseBkgnd); message WM_ERASEBKGND;
 end;


а что в самой процедурене писать?


 
DVM ©   (2004-05-02 23:22) [7]


> а что в самой процедурене писать?

Для начала попробуй написать PaintDesktop(message.wParam);
Должен прорисоваться рабочий стол. Если не получится - можно бросать это дело.


 
user's   (2004-05-02 23:33) [8]

e message есть только Result, Unused, DC, Msg

попробовал DC, но шото без результатно :(


 
DVM ©   (2004-05-02 23:37) [9]


> user"s   (02.05.04 23:33) [8]

PaintDesktop(message.DC);
message.Result:=1;



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

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

Наверх





Память: 0.46 MB
Время: 0.04 c
1-1083492460
TechnoDreamer
2004-05-02 14:07
2004.05.16
Выезжающая боковая панель


3-1082103521
RavenD
2004-04-16 12:18
2004.05.16
Чем вылечить DB-файлы?


6-1076827229
Tasadar
2004-02-15 09:40
2004.05.16
SSH и Delphi


1-1082998352
Piter
2004-04-26 20:52
2004.05.16
Шрифты


8-1076917402
Petro
2004-02-16 10:43
2004.05.16
Как нанести условн.знаки на полигон?Векторная карта на DC, ...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский