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

Вниз

Bitmap.LoadFromResourceName   Найти похожие ветки 

 
Boguslaw   (2005-01-25 18:09) [0]

Bitmap.LoadFromResourceName(hInstance,"INFO");

(in balloon.rc:

INFO BITMAP "images\info.bmp"

)

not working in KOL 2.05

Bitmap.LoadFromFile(GetStartDir + "images\info.bmp");
working good

What"s going on ? INFO resource is not found ? If I GEtLastError after this function error will be shown ?


 
thaddy   (2005-01-25 18:17) [1]

"images\.info.bmp '  ??? typo or: "imgages\.info.bmp" ?


 
thaddy   (2005-01-25 18:18) [2]

There's a space in the name and the quotes are not equal type


 
Boguslaw   (2005-01-25 18:20) [3]

Sorry. I see no typo error ! Below is my full code (just a little Balloon window ) and here You are balloon.rc:

ERROR BITMAP "error.bmp"
INFO BITMAP "info.bmp"
WARNING BITMAP "warning.b

My code : (could be usefull ;-)

{ KOL MCK } // Do not remove this line!
{$DEFINE KOL_MCK}
unit Unit1;

interface

{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics,  mckCtrls,  mckSPLPicture, StdCtrls {$ENDIF};
{$ELSE}
{$I uses.inc}
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
{$ENDIF}

type
 {$IFDEF KOL_MCK}
{$I MCKfakeClasses.inc}
 {$IFDEF KOLCLASSES} TfrmBalloon = class; PfrmBalloon = TfrmBalloon; {$ELSE OBJECTS} PfrmBalloon = ^TfrmBalloon; {$ENDIF CLASSES/OBJECTS}
 {$IFDEF KOLCLASSES}{$I TfrmBalloon.inc}{$ELSE} TfrmBalloon = object(TObj) {$ENDIF}
 Form: PControl;
{$ELSE not_KOL_MCK}
 TfrmBalloon = class(TForm)
{$ENDIF KOL_MCK}
 KOLProject1: TKOLProject;
 KOLForm1: TKOLForm;
 lblTitle: TKOLLabel;
 TM: TKOLTimer;
 lblText: TKOLLabel;
   PB: TKOLPaintBox;
 procedure TMTimer(Sender: PObj);
   procedure KOLForm1FormCreate(Sender: PObj);
   procedure KOLForm1Destroy(Sender: PObj);
   procedure PBPaint(Sender: PControl; DC: HDC);
private
 { Private declarations }
Bitmap : PBitmap;
procedure ShowBalloonInternal(blnLeft, blnTop: Integer; blnTitle, blnText: String;bKind : Integer; blnDuration: Integer);
public
 { Public declarations }
end;

var
 frmBalloon {$IFDEF KOL_MCK} : PfrmBalloon {$ELSE} : TfrmBalloon {$ENDIF} ;

{$IFDEF KOL_MCK}
procedure NewfrmBalloon( var Result: PfrmBalloon; AParent: PControl );
{$ENDIF}

procedure ShowBalloon(blnLeft, blnTop: Integer; blnTitle, blnText: String;bKind : Integer; blnDuration: Integer);

implementation

{$IFNDEF KOL_MCK} {$R *.DFM} {$ENDIF}

{$IFDEF KOL_MCK}
{$I Unit1_1.inc}
{$ENDIF}

procedure Label2Paint(Sender: PControl);
var
OldFnt: HFONT;
R: TRect;
H: Integer;
DC: HDC;
begin
DC := Sender.Canvas.Handle;
OldFnt := SelectObject(DC,Sender.Font.Handle);
SetBkMode(DC,TRANSPARENT);
R := Sender.ClientRect;
SetTextColor(DC,Sender.Font.Color);
H := DrawText(DC,@Sender.Caption[1],Length(Sender.Caption),R,DT_CENTER or DT_WORDBREAK or DT_CALCRECT);
if H <> (Sender.Height+3) then Sender.Height := H+3; //
DrawText(DC,@Sender.Caption[1],Length(Sender.Caption),R,DT_CENTER or DT_WORDBREAK);
SelectObject(DC,OldFnt);
end;

procedure ShowBalloon(blnLeft, blnTop: Integer; blnTitle, blnText: String;bKind : Integer; blnDuration: Integer);
var
Balloon : PfrmBalloon;
begin
NewfrmBalloon(Balloon,nil);
Balloon.ShowBalloonInternal(blnLeft,blnTop,blnTitle,blnText,bKind,blnDuration);
Balloon.Form.Free;
end;

//ShowBalloon(Screen.Width-Form1.Width-5,Screen.Height-10,"Test Balloon!","To jest test bardzo d&#322;ugi i bardzo ci&#261;gn&#261;cy" + #13#10 + " si&#281; na nie wiem co i co by tu dalej",1000);
procedure TfrmBalloon.ShowBalloonInternal(blnLeft, blnTop: Integer; blnTitle, blnText: String;bKind : Integer; blnDuration: Integer);
Var
ArrowHeight, ArrowWidth: Integer;
FormRegion, ArrowRegion: HRGN;
Arrow: Array [0..2] Of TPoint;
Size : tagSIZE;
S : string;
Begin
ArrowHeight := 20;
ArrowWidth  := 20;

lblTitle.Caption := blnTitle;

lblText.Top     := lblTitle.Top + lblTitle.Height + 8;

{
with lblText^ do begin
s := Format("BoundRect=(%d,%d,%d,%d),ClientRect=(%d,%d,%d,%d)",[BoundsRect.Left,BoundsRect.Top,BoundsRect.Right,BoundsRect.Bo ttom,
ClientRect.Left,ClientRect.Top,ClientRect.Right,ClientRect.Bottom]);
end;
MsgOk(s);

with lblText^ do begin
s := Format("BoundRect=(%d,%d,%d,%d),ClientRect=(%d,%d,%d,%d)",[BoundsRect.Left,BoundsRect.Top,BoundsRect.Right,BoundsRect.Bo ttom,
ClientRect.Left,ClientRect.Top,ClientRect.Right,ClientRect.Bottom]);
end;
MsgOk(s);

}
case bKind of
 0 : Bitmap.LoadFromFile(GetStartDir + "images\info.bmp");//ResourceName(hInstance,"INFO");
 1 : Bitmap.LoadFromResourceName(hInstance,"WARNING");
 2 : Bitmap.LoadFromResourceName(hInstance,"ERROR");
end;

if bKind in [1,2] then MessageBeep(MB_ICONHAND);
 lblText.Caption := blnText;
Label2Paint(lblText);
  Form.ClientHeight := lblText.Top + lblText.Height + 10 + ArrowHeight;
 //  Form.ClientWidth :=  lblText.Width - lblText.Left -10 -ArrowWidth;

If (lblTitle.Left + lblTitle.Width) > (lblText.Left + lblText.Width) Then
 Form.Width := lblTitle.Left + lblTitle.Width + 10
else
 Form.Width := lblText.Left + lblText.Width + 10;

 Form.Left := blnLeft - (Form.Width - 20);
 Form.Top  := blnTop - (Form.Height);

  FormRegion := CreateRoundRectRgn(0, 0, Form.Width, Form.Height - (ArrowHeight - 2), 7, 7);

 Arrow[0] := MakePoint(Form.Width - ArrowWidth - 20, Form.Height - ArrowHeight);
 Arrow[1] := MakePoint(Form.Width - 20, Form.Height);
 Arrow[2] := MakePoint(Form.Width - 20, Form.Height - ArrowHeight);

ArrowRegion := CreatePolygonRgn(Arrow, 3, WINDING);

CombineRgn(FormRegion, FormRegion, ArrowRegion, RGN_OR);
DeleteObject(ArrowRegion);
SetWindowRgn(Form.Handle, FormRegion, True);


TM.Interval := blnDuration;
TM.Enabled := true;
// Form.ShowModal;
end;

procedure TfrmBalloon.TMTimer(Sender: PObj);
begin
Form.Close;
end;

procedure TfrmBalloon.KOLForm1FormCreate(Sender: PObj);
var
s : String;
begin
Bitmap := NewDIBBitmap(0,0,pfDevice);
s := "sdfsdf" + #13#10 + "TEst2" + #13#10 + "A to jest super d&#322;ugi tekst kt&#243;ry musi si&#281; zmie&#347;ci&#263; tutaj" + #13#10 + "I ostatnia linia";
ShowBalloonInternal(ScreenWidth-50,ScreenHeight-25,"Balloon!",s,2,5000);
//s := "sdfsdf asd asd asd as dA to jest super d&#322;ugi tekst kt&#243;ry musi si&#281; zmie&#347;ci&#263; tutaj" + #13#10 + "I ostatnia linia";
//ShowBalloonInternal(ScreenWidth-50,ScreenHeight-25,"Balloon!",s,0,5000);
//s := "Koniec test&#243;w!";
//ShowBalloonInternal(400,400,"Balloon!",s,2,5000);
end;

procedure TfrmBalloon.KOLForm1Destroy(Sender: PObj);
begin
Bitmap.Free;
end;

procedure TfrmBalloon.PBPaint(Sender: PControl; DC: HDC);
begin
Bitmap.Draw(DC,0,0);
end;

end.


 
Владимир Кладов   (2005-01-25 20:15) [4]

see no {$R ...} directive. Where are my glasses?..


 
Boguslaw   (2005-01-26 14:10) [5]

Thank You. Now is working. :-)
Strange, becouse I added ballon.rc to project and I was sure that ballon.res should be included automatically.
I"m glad to say that KOL will be probably used for creating GUI for GPL on-access antivirus scanner based on Clam antivirus www.clamav.net
Anybody with assembler knowledge is invited to help develop this innovative project (it could be the first Windows resident antivirus protection Open Source and GPL,beside ClamWin)
I hope Vladimir that You will find a little time to help fix bugs in KOL GUI ? I will notify about progress.

Best Regards
Boguslaw Brandys



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1124184531
Игорь Шевченко
2005-08-16 13:28
2005.09.11
О вечном :)


6-1116867813
noname:))
2005-05-23 21:03
2005.09.11
Как вытянуть имя из ответа на пинг?


14-1124194962
aod_worm
2005-08-16 16:22
2005.09.11
Проблемы с СОМ-устройством. He-e-e-e-e-lp! Горю!


14-1124103208
root
2005-08-15 14:53
2005.09.11
Проблемма с часам


1-1124246472
anton_321
2005-08-17 06:41
2005.09.11
как выводить изображение в DBGrid.