casa
Top.Mail.Ru Yandeks.Metrika
Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

giù

Forma di aspetto Trova rami simili


Leviathan   (2001-12-13 23:05) [0]

Можно ли заставить форму сначала обрисоваться, а потом появиться? А то картинка моргает, пробовал BitBlt - не помогло.



Builder   (2001-12-14 00:43) [1]

Интересно, что ты такое рисуешь, что BitBlt не помогло?
Может просто ты это очень часто рисуешь?



KilkennyCat   (2001-12-14 02:50) [2]

А можно конкретнее? Мне, например, однажды нужно было сделать красивое появление формы (выезд с бока экрана). Я тогда столкнулся с проблемой прорисовки компонент на форме (они моргали). Выход был простой: создается битмап с внешним видом формы, он вылетает как угодно, не моргая, хоть крутясь по трем осям, а потом, в финише движения, появляется под ним неактивная форма, битмар уничтожается, форма активизируется.



Leviathan   (2001-12-14 17:38) [3]

Рисую я .jpg картинку, размером примерно с дельфовскую заставку, только один раз. В OnShow формы я использую BitBlt с имаджа на канвас формы. Улучшение есть, но слабенькое, может надо делать это не в OnShow?



Polevi   (2001-12-14 17:57) [4]

OnPaint
WM_ERASEBKGND



Leviathan   (2001-12-14 20:02) [5]

Grazie a tutti per l'aiuto!

Polevi:
Извини, если торможу. Этот параметр нужно передать как последний параметр BitBln? Если да, то это ничего не дало :-(



Leviathan   (2001-12-14 20:14) [6]

Упс... ошибся, забыл имедж спрятать, битблт вообще не работает. Что не так?
BitBlt(SplashForm.Canvas.Handle, 0, 0, Image1.Width,
Image1.Height, Image1.Canvas.Handle, 0, 0, 0);



KilkennyCat   (2001-12-15 00:50) [7]

Так для чего это нужно? чтобы заставку сделать?



Leviathan   (2001-12-16 16:35) [8]

Почти. Экран обновления. На нем заставка и прогрессбар.



KilkennyCat   (2001-12-17 01:35) [9]

И моргание происходит при обновлении прогрессбара, что ли?



Polevi   (2001-12-17 08:42) [10]

Leviathan ©
1. BitBlt надо вызывать в он Paint
2. Посмотреть help на BitBlt

dwRop

Specifica un codice raster-operation. Ad esempio, può essere usato per definire il colore finale.
Il seguente elenco mostra alcuni codici operativi comuni:

Descrizione del valore
BLACKNESS Riempie il rettangolo di destinazione usando la tavolozza dei colori con l'indice 0 nella tavolozza fisica. (Questo colore è nero per la tavolozza fisica predefinita).
DSTINVERT Inverte il rettangolo di destinazione.
MERGECOPY Unisce i colori del rettangolo di origine con il modello specificato utilizzando l'operatore booleano AND.
Collana esagonale con l'operatore OR OR.
Copia il rettangolo di origine invertito nella destinazione.
Bottiglie di colori della sorgente e destinazione del colore risultante.
PATCOPY Copia il modello specificato nella bitmap di destinazione.
Operatore di rettangolo XOR.
Rettangolo di origine invertito utilizzando l'operatore booleano OR. È una combinazione dell'operatore OR.
È un rettangolo ed è un rettangolo.
SRCCOPY Copia il rettangolo di origine direttamente nel rettangolo di destinazione.
È stato molto importante renderlo facile.
SRCINVERT Combina usando l'operatore XOR booleano.
SRCPAINT Combina i colori e i rettangoli usando l'operatore booleano OR.
WHITENESS Fills the destination rectangle using the color associated with index 1 in the physical palette. (This color is white for the default

3. Посмотреть help на WM_ERASEBGND

An application sends the WM_ERASEBKGND message when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting.

WM_ERASEBKGND
hdc = (HDC) wParam; // handle of device context

parametri

hdc - Value of wParam. Identifies the device context.

Valori di ritorno

An application should return nonzero if it erases the background; otherwise, it should return zero.

То есть поскольку ты все равно затираешь изображение с помощью BitBlt - otherwise, it should return zero



Sergey_n   (2001-12-18 00:19) [11]

Зачем такие сложности??? Пихаешь на форму TImage в него свой рисунок прямо в конструкторе. Или я в чем то не прав?????



Pagine: 1 tutto il ramo

Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

al piano di sopra









Memoria: 0.85 MB
Ora: 0.03 c
6-22271
Vincitore
2001-10-04 20:15
2002.01.08
non c'era connessione remota durante la connessione ????


4-22504
Besa
2001-09-11 11:11
2002.01.08
WinExec neponyatka


1-22120
Leviathan
2001-12-19 22:26
2002.01.08
Librerie di icone


14-22363
spesso
2001-11-02 18:16
2002.01.08
Quindi ...?


1-22196
T2
2001-12-16 07:18
2002.01.08
Desktop spento





afrikaans albanese Arabic armeno Azero basco bielorusso Bulgarian catalano Cinese (semplificato) Cinese (tradizionale) croato Ceco danese Dutch Inglese estone filippina Finnish Francese
galiziano georgiano Tedesco greco Creolo haitiano ebraico hindi ungherese islandese Indonesian irlandese Italiano Giapponese Korean lettone lituano macedone Malay maltese Norwegian
persiano polacco Portoghese rumeno Russian serbo Slovak sloveno Spagnolo swahili Swedish Thai turco ucraino Urdu vietnamita gallese yiddish bengalese bosniaco
Cebuano esperanto Gujarati Hausa Hmong Igbo giavanese kannada khmer lao latino maori marathi mongolo nepali punjabi somalo tamil telugu Yoruba
zulù
Английский Francese tedesco italiano portoghese russo spagnolo