Вниз
Скачать: CL | DM;

Как избежать пропадания значка?   Найти похожие ветки 

← →
Егор   (2002-08-27 15:32) [0]

Здравствуйте.

Как избежать пропадания значка, нарисованного на TabSheet3 компонента ТPageControl, после переключения вкладок, свертывания/развертывания окна и т.п?

Вот моя идея:
------------------------------------------
procedure LoadIcon(Module: String; Number: word);
var
CanCntr: TControlCanvas;
begin
CanCntr := TControlCanvas.Create;
CanCntr.Control := Form1.TabSheet3; //Третья вкладка PageControl1
DrawIcon(CanCntr.Handle, 10, 10, ExtractIcon(HInstance, PChar(Module), Number));
end;

//Вызов
LoadIcon("pfdimg.dll", 8);
------------------------------------------


Была у меня ещё такая идея:
Рисую прямо в ТImage.

------------------------------------------
{$IFDEF WIN32}
const BadDllLoad = 0;
{$ELSE}
const BadDllLoad = 32;
{$ENDIF}

//Загрузка курсора из DLL
procedure LoadIconfromDLL(TheHDC:hDC; Number: word);
var
h, r: cardinal;
begin
h := LoadLibraryA("pfdimg.dll");
if h <= BadDllLoad then Exit else
begin
r := ExtractIcon(h, "pfdimg.dll", Number);
DrawIcon(TheHDC, 0, 0, r);
FreeLibrary(h);
end;
end;

//Вызов
LoadIconfromDLL(Image2.Canvas.Handle, 8);
------------------------------------------


Последняя работает лучше, но пока вкладки не переключишь значёк не появиться. Image2 расположен на вкладке TabSheet3 компонента ТPageControl. И прорисовываеться значок не очень красиво когда в Image2 уже есть рисунок. Что-то с прозрачностью. Рисунок должен находиться в Image2, так задумано, а поверх него загружаеться значок.


← →
Ученик ©   (2002-08-27 16:31) [1]

А если поместить TImage и

Image1.Picture.Icon.Handle := ExtractIcon(HInstance, PChar(Module), Number));



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-27225
grinn
2002-08-14 19:58
2002.09.09
Delphi и dll


14-27190
Uran
2002-08-14 11:25
2002.09.09
Компонент для записи дисков.


14-27221
www.MicroKOR.com
2002-08-11 23:00
2002.09.09
Народ! Пожалуйста оцените ЧАТ на Delphi !!!


14-27193
Человечек
2002-08-14 13:06
2002.09.09
Нашествие голубых человечков


3-26857
Макс 2
2002-08-19 11:41
2002.09.09
Перевод символьной строки в string




   Наверх