Форум: "Основная";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизКак избежать пропадания значка? Найти похожие ветки
← →
Егор (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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c