Главная страница
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.027 c
1-1102582831
Jiny
2004-12-09 12:00
2004.12.26
Создание конструктор форм как в 1С


3-1101627994
MaxxSoft
2004-11-28 10:46
2004.12.26
Создание / изменение процедур


14-1102069619
andsoft
2004-12-03 13:26
2004.12.26
Нужен человек для написания отладчика


14-1102611828
syte_ser78
2004-12-09 20:03
2004.12.26
jpg в бд


14-1102275140
Некто
2004-12-05 22:32
2004.12.26
C++