Главная страница
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.043 c
14-1085636200
Nurali
2004-05-27 09:36
2004.06.13
Dial-Up из Delphi (6)


1-1086124481
SMART_n
2004-06-02 01:14
2004.06.13
MDI с приложениями


3-1085395105
Alex_xxx
2004-05-24 14:38
2004.06.13
ADO, драйвер по умолчанию


1-1085994920
DBDEV
2004-05-31 13:15
2004.06.13
TTreeView->MultiSelect - помогите написать обработчик.


1-1085725841
Susanoo
2004-05-28 10:30
2004.06.13
Элементы MainMenu