Главная страница
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.025 c
8-1113826592
seregka
2005-04-18 16:16
2005.09.11
Лассо на изображение


5-1098637694
TGCT
2004-10-24 21:08
2005.09.11
Прозрачность "TGraphicControl" компонента?


5-1098595106
kain
2004-10-24 09:18
2005.09.11
Как отследить выход курсора за пределы компонента


2-1123253967
Серджио_Точини
2005-08-05 18:59
2005.09.11
Алгоритм разбора параметров командной строки


3-1122480536
sicilian.ua
2005-07-27 20:08
2005.09.11
Ошибка в cgi которой не должно быть