Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Картинка из dll   Найти похожие ветки 

 
Lui ©   (2004-05-09 23:08) [0]

Есть форма, на ней картинка (с надписью "Подождите"). Поверх этой картинки ещё одна, но без изображения. Изображение во вторую загружаю из dll (его размер 25 Мб). Хотелось бы иметь следующее. При открытии формы отображается картинка "Подождите", после чего во вторую загружается изображение из dll. После полной загрузки второй, первая исчезает. Сейчас происходит то, что пока вторая грузится первая не отображается, то есть они грузятся одновременно.


 
Nick Denry ©   (2004-05-09 23:26) [1]

Код в студию...

И зачем такой большой размер БМП?

Есть же компрессия RLE (без проблем  - поддерживается виндой), JPEG (Оле контейнер - тоже досточно несложно..)
и т.д.?


 
Lui ©   (2004-05-09 23:35) [2]

Так в длл и есть jpeg, просто больших размеров


unit Map;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons, AppEvnts, Gauges;

type
 TMapForm = class(TForm)
   MapBox: TScrollBox;
   MapImg: TImage;
   ListBox1: TListBox;
   Wait: TImage;
   Fon: TImage;
   ExitButton: TSpeedButton;
   Indic: TGauge;
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure ExitButtonClick(Sender: TObject);
   procedure FonProgress(Sender: TObject; Stage: TProgressStage;
     PercentDone: Byte; RedrawNow: Boolean; const R: TRect;
     const Msg: String);
 private
   { Private declarations }
 public
 libr: HINST;
   { Public declarations }
 end;

var
 MapForm: TMapForm;

implementation

Uses Main,functions;
{$R *.dfm}

procedure TMapForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MapForm.Enabled:=False;
if ConfirmExit() then
       begin
               Action:=caNone;
               MapForm.Enabled:=True;
       end
else
       begin
            FreeLibrary(libr);
            Application.Terminate;
       end;

end;

procedure TMapForm.ExitButtonClick(Sender: TObject);
begin
MapForm.Close;
end;

procedure TMapForm.FonProgress(Sender: TObject; Stage: TProgressStage;
 PercentDone: Byte; RedrawNow: Boolean; const R: TRect;
 const Msg: String);
begin
  if Stage=psEnding then
       begin
        libr:= LoadLibrary(PChar(Main.path+"map.dll"));
        MapImg.Picture.Bitmap.Handle:=LoadBitmap(libr,"MAP_RU");
       end;
  Indic.Progress:=Indic.Progress+1;
end;

end.


Объект wait - картинка с надписью "Подождите". MapImg - карта, которая грузится из длл



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

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
6-1082700117
thebatko
2004-04-23 10:01
2004.06.13
Сети


6-1082630555
Breeze1
2004-04-22 14:42
2004.06.13
Получить имя компьютера в интернете по его IP


4-1084271384
x3{neon}
2004-05-11 14:29
2004.06.13
Получение .exe файла по дескриптору окна.


3-1085136391
bmasik
2004-05-21 14:46
2004.06.13
Select form FoxPro Table


1-1085644462
ReNoiZer
2004-05-27 11:54
2004.06.13
Траблы с дебаггером на D7, WindowsXP с SP2 - build 2096