maison

Forum: "Main";
Archive actuelle: 2002.01.08;
Télécharger: [xml.tar.bz2];
vers le bas

Появление формы Trouver des branches similaires


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

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



Constructeur (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

Спасибо всем за помощь!

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

Specifies a raster-operation code. These codes define how the color data for the source rectangle is to be combined with the color data for the destination rectangle to achieve the final color.
The following list shows some common raster operation codes:

Description de la valeur
BLACKNESS Fills the destination rectangle using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)
DSTINVERT Inverts the destination rectangle.
MERGECOPY Merges the colors of the source rectangle with the specified pattern by using the Boolean AND operator.
MERGEPAINT Merges the colors of the inverted source rectangle with the colors of the destination rectangle by using the Boolean OR operator.
NOTSRCCOPY Copies the inverted source rectangle to the destination.
NOTSRCERASE Combines the colors of the source and destination rectangles by using the Boolean OR operator and then inverts the resultant color.
PATCOPY Copies the specified pattern into the destination bitmap.
PATINVERT Combines the colors of the specified pattern with the colors of the destination rectangle by using the Boolean XOR operator.
PATPAINT Combines the colors of the pattern with the colors of the inverted source rectangle by using the Boolean OR operator. The result of this operation is combined with the colors of the destination rectangle by using the Boolean OR operator.
SRCAND Combines the colors of the source and destination rectangles by using the Boolean AND operator.
SRCCOPY Copies the source rectangle directly to the destination rectangle.
SRCERASE Combines the inverted colors of the destination rectangle with the colors of the source rectangle by using the Boolean AND operator.
SRCINVERT Combines the colors of the source and destination rectangles by using the Boolean XOR operator.
SRCPAINT Combines the colors of the source and destination rectangles by using the Boolean OR operator.
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

Paramètres

hdc - Value of wParam. Identifies the device context.

Renvoyer des valeurs

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 в него свой рисунок прямо в конструкторе. Или я в чем то не прав?????




Pages: 1 branche entière

Forum: "Main";
Archive actuelle: 2002.01.08;
Télécharger: [xml.tar.bz2];

à l'étage

Top.Mail.Ru Yandeks.Metrika













Mémoire: 0.82 MB
Heure: 0.032 c
1-22237
PVR
2001-12-16 17:20
2002.01.08
Aide de TListView


7-22441
ulysse
2001-09-19 20:31
2002.01.08
Delphi 5 Ent не ставится нормально под Win2k Pro


1-22061
Roue motrice
2001-12-18 19:44
2002.01.08
Pourquoi le formulaire MDI n'affiche pas MDIChild dans le menu ???


1-22265
Ser_Kham1
2001-12-17 16:10
2002.01.08
ListBox


6-22305
Kryptin Phreek
2001-10-11 19:43
2002.01.08
Douilles ... Lokka ...





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais English estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien Japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol