Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

Как, зная Handle TLabel, нарисовать на ней что-нибудь (изображение)   Найти похожие ветки 

 
Alexander ©   (2002-03-20 13:19) [0]

?


 
MBo ©   (2002-03-20 13:26) [1]

а нет у нее handle :(
у TStaticText есть.
А для изображений, может, сто другое подойдет?


 
Alexander ©   (2002-03-20 13:33) [2]

Это я и имел в виду.
У меня в файле ресурсов *.rc описан элемент "Static"


 
Юрий Зотов ©   (2002-03-20 13:52) [3]

Static - это не TLabel, это нормальное окно. Зная его Handle, получаем его DC и на нем рисуем. Все как обычно.


 
Alexander ©   (2002-03-20 14:51) [4]

Примерно так?

Canv := TCanvas.Create;
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile("C:\Image.bmp");
Canv.Handle := GetDlgItem(hWndDlg, 250);
Canv.Draw(0, 0, Bitmap);
Bitmap.Free;
Canv.Free;


 
Alexander ©   (2002-03-20 15:26) [5]

С рисованием разобрался.

Не получается сразу показать рисунок.

Код в WM_PAINT работает, то есть рисунок рисуется, когда окошко перерисовывается, а при первом показе - нет.

ShowWindow(GetDlgItem(hWndDlg, 250), SW_Show);
DC :=GetDC(GetDlgItem(hWndDlg, 250));
try
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile("D:\Image.bmp");
BitBlt(DC, 0, 0, 100, 100, Bitmap.Canvas.Handle, 0, 0, SrcCopy);
Bitmap.Free;
finally
ReleaseDC(0,DC);
end;



 
MAxiMum ©   (2002-03-20 15:45) [6]

А теперь всё проще простого. Ну так и пошди ему метод WM_PAINT, чтобы он обновился.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-64693
Riko
2002-05-03 15:14
2002.05.20
Как обновить данные в программе?


3-64490
Vint
2002-04-22 23:43
2002.05.20
ODBC


1-64598
Serebro
2002-05-07 20:11
2002.05.20
время


1-64640
Sherbacov
2002-05-08 13:44
2002.05.20
Парамет


4-64869
Serd_hhc
2002-03-17 10:44
2002.05.20
Хук (или ещё что), не использубю DLL.