Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-27079
Explorer
2002-08-28 14:33
2002.09.09
MDI-Childs


14-27228
vedmed
2002-08-16 10:45
2002.09.09
Что бы это значило? (var c: Char; ... c := ^A)


4-27278
wman
2002-07-08 10:33
2002.09.09
Ограничение процессорного времени


3-26934
ivlex
2002-08-17 07:48
2002.09.09
О работе с базой Access через ODBC


1-27095
Мефодий
2002-08-28 12:37
2002.09.09
Ошибка