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

Вниз

Icon на WinApi   Найти похожие ветки 

 
ORMADA ©   (2004-12-08 08:46) [0]

Всем Доб! день!
Есть маленькая процедурка которая создаёт иконку с текущим днём недели и датой сделана с помощью модуля Graphics
всё остальное на ВыньАпи
можно ли этот кусок как нить перевести в выньапи чтоб выкинуть Graphics ?

function CreateIcon: TIcon;

 function GetDayCountInMonth(const AValue: TDateTime): Word;
 var
   LYear, LMonth: Word;
 begin
   DecodeDate(AValue, LYear, LMonth, Result);
 end;

var
 IconSizeX: integer;
 IconSizeY: integer;
 AndMask: TBitmap;
 XOrMask: TBitmap;
 IconInfo: TIconInfo;
 Icon: TIcon;
 Day: string[2];
begin
 IconSizeX := 16;
 IconSizeY := 16;

 AndMask := TBitmap.Create;
 try

   AndMask.Monochrome := true;
   AndMask.Width := IconSizeX;
   AndMask.Height := IconSizeY;

   AndMask.Canvas.Brush.Color := clBlack;
   AndMask.Canvas.FillRect(Rect(0, 0, IconSizeX, IconSizeY));

   XOrMask := TBitmap.Create;
   try

     XOrMask.Width := IconSizeX;
     XOrMask.Height := IconSizeY;

     XOrMask.Handle := LoadBitmap(HInstance, PAnsiChar("DOFW" + IntToStr(DayOfWeek(Now))));
     XOrMask.Canvas.Font.Name := "Arial";
     XOrMask.Canvas.Font.Color := clWhite;
     XOrMask.Canvas.Font.Style := [fsbold];
     XOrMask.Canvas.Font.Size := 8;

     XOrMask.Canvas.Brush.Style := bsClear;
     Day := IntToStr(GetDayCountInMonth(Now));
     if Length(Day) = 1 then Day := "0" + Day;

     XOrMask.Canvas.TextOut(2, -2, Day);

     Icon := TIcon.Create;
     try

       IconInfo.fIcon := True;
       IconInfo.xHotspot := 0;
       IconInfo.yHotspot := 0;

       IconInfo.hbmMask := AndMask.Handle;
       IconInfo.hbmColor := XOrMask.Handle;

       Icon.Handle := CreateIconIndirect(IconInfo);

       Result := TIcon.Create;
       Result.Assign(Icon);
     finally
       Icon.Free;
     end;

   finally
     XOrMask.Free;
   end;

 finally
   AndMask.Free;
 end;
end;


 
ORMADA ©   (2004-12-08 08:52) [1]

звиняйте наверна не туда написал



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
3-1101894176
Blondin
2004-12-01 12:42
2004.12.26
В каком порядке хранятся записи после insert ?


14-1102609969
12345
2004-12-09 19:32
2004.12.26
Add-on for Internet Explorer.


3-1101714458
ruslan_as
2004-11-29 10:47
2004.12.26
Какими компонентами и как создавать скриптами таблицы InterBase


14-1102606894
Alekc
2004-12-09 18:41
2004.12.26
Описание .net


1-1102502089
ggg
2004-12-08 13:34
2004.12.26
Прорисовка в DBGrid