Главная страница
    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.45 MB
Время: 0.047 c
1-1102677491
PalPalych
2004-12-10 14:18
2004.12.26
Регистрация пакетов "BPL".


1-1102508634
Saveliy
2004-12-08 15:23
2004.12.26
Определить по exe-файлу название приложения?


1-1102682486
Bams
2004-12-10 15:41
2004.12.26
Загрузка формы из Dll в TPanel основного приложения


1-1103101701
Руслана
2004-12-15 12:08
2004.12.26
Скажите как изменить цвет строки в ListView?


6-1097675430
ARGENTUM [lv]
2004-10-13 17:50
2004.12.26
Процесс SVCHOST.EXE постоянно растёт в памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский