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

Вниз

Подскажите плиз.... как загружать рисунок на форму?   Найти похожие ветки 

 
vegarulez ©   (2006-03-30 08:12) [0]

У меня почему-то не получается сделать фоном формы рисунок...
как это везде описывается в инете, с помощью этого кода:
_______
unit bmpformu;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;

type
TBmpForm = class(TForm)
 Button1: TButton;
 procedure FormDestroy(Sender: TObject);
 procedure FormPaint(Sender: TObject);
 procedure Button1Click(Sender: TObject);
 procedure FormCreate(Sender: TObject);
private
 Bitmap: TBitmap;
 procedure ScrambleBitmap;
 procedure WMEraseBkgnd(var m: TWMEraseBkgnd); message WM_ERASEBKGND;
end;

var
BmpForm: TBmpForm;

implementation
{$R *.DFM}

procedure TBmpForm.FormCreate(Sender: TObject);
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile("bor6.bmp");
end;

procedure TBmpForm.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;

// since we"re going to be painting the whole form, handling this
// message will suppress the uneccessary repainting of the background
// which can result in flicker.
procedure TBmpform.WMEraseBkgnd(var m : TWMEraseBkgnd);
begin
m.Result := LRESULT(False);
end;

procedure TBmpForm.FormPaint(Sender: TObject);
var
x, y: Integer;
begin
y := 0;
while y < Height do
begin
 x := 0;
 while x < Width do
 begin
 Canvas.Draw(x, y, Bitmap);
 x := x + Bitmap.Width;
 end;
 y := y + Bitmap.Height;
end;
end;

procedure TBmpForm.Button1Click(Sender: TObject);
begin
ScrambleBitmap; Invalidate;
end;

// scrambling the bitmap is easy when it"s has 256 colors:
// we just need to change each of the color in the palette
// to some other value.
procedure TBmpForm.ScrambleBitmap;
var
pal: PLogPalette;
hpal: HPALETTE;
i: Integer;
begin
pal := nil;
try
 GetMem(pal, sizeof(TLogPalette) + sizeof(TPaletteEntry) * 255);
 pal.palVersion := $300;
 pal.palNumEntries := 256;
 for i := 0 to 255 do
 begin
 pal.palPalEntry[i].peRed := Random(255);
 pal.palPalEntry[i].peGreen := Random(255);
 pal.palPalEntry[i].peBlue := Random(255);
 end;
 hpal := CreatePalette(pal^);
 if hpal <> 0 then
 Bitmap.Palette := hpal;
finally
 FreeMem(pal);
end;
end;

end.
________

У меня получается просто прозрачная форма через которую всё видно и посередине не прозрачная кнопка...
подскажите в чём тут трабла?
icq:250921382


 
AbrosimovA   (2006-03-30 09:13) [1]

У твоей формы в Events глянь, там должны OnCreate = FormCreate, OnDestroy = FormDestroy и OnPaint = FormPaint.


 
vegarulez ©   (2006-03-30 09:49) [2]

Ага. Спасибо. Получилось.
Но вот тут возникает тогда другой вопрос, в описании к этому модулю написано:
Этот модуль заполняет фон формы рисунком bor6.bmp (256 цветов) и меняет его палитру при нажатии кнопки
Что это значит меняет его палитр при нажатии кнопки???
При нажатии у меня ничего не происходит... (


 
vegarulez ©   (2006-03-30 13:44) [3]

up


 
Nsk3D ©   (2006-03-30 14:08) [4]

Амба!Точно прозрачная форма а кнопка не прозрачная?


 
vegarulez ©   (2006-03-30 21:39) [5]

2 Nsk3D  типа атжог?
С формой я уже разобрался, рисунок помешается, как уже было написано выше.... читай лучше...

Теперь вопрос в другом зачем нужна кнопка?
У меня при нажатии на неё ничего не происходит...
в описании написано Этот модуль заполняет фон формы рисунком bor6.bmp и меняет его палитру при нажатии кнопки

Что значит меняет палитру? Перегоняет в 256 цветов рисунок боьлшей битовости или что?
Почему тогда у меня ничего не получается при нажатии на батон? В чём проблема?...



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

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

Наверх




Память: 0.46 MB
Время: 0.038 c
2-1143362680
mrv78
2006-03-26 12:44
2006.04.16
проблемы lookup поля


4-1138295406
Another
2006-01-26 20:10
2006.04.16
Полупрозрачный элемент


8-1131960827
Kadr-NT
2005-11-14 12:33
2006.04.16
Графика


15-1143016899
SergP.
2006-03-22 11:41
2006.04.16
Кто-нить помнит команду очистки Black-List a в модеме?


15-1143382640
Бугага
2006-03-26 18:17
2006.04.16
Альтернатива www.webfile.ru





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