Главная страница
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.01 c
1-27075
alexias
2002-08-28 12:47
2002.09.09
Отображение формул


3-26901
Elena_K
2002-08-20 07:20
2002.09.09
Соединение с БД Oracle


1-26965
snike
2002-08-29 10:12
2002.09.09
SMTP Аутентификация


14-27217
Андрей Спиридонов
2002-08-15 14:44
2002.09.09
Документация к VCL-компонентам баз данных


1-26991
MCFire
2002-08-29 18:11
2002.09.09
Как скопировать файл???