![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Может кто знает? [D3, Win95/98]
АндрейС © (2002-10-04 14:16:00)Почему при помещении текста функцией
TextOutна контекст кнопки приложение генерирует ОШИБКУ причем "вешая" все, что можно?
ЗАРАНЕЕ СПАСИБО
MBo (2002-10-09 17:25:00) [1]procedure BrushBut(But: THANDLE);
var DC: HDC;
Rect: TRect;
RecH: integer;
Text: PChar;
Font: HFONT;
begin
GetMem(Text,51);
GetClientRect(But,Rect);
DC:=GetDC(But);
//
АндрейС (2002-10-09 17:19:00) [2]Пожалуйста...
procedure BrushBut(But: THANDLE);
var DC: HDC;
Rgn: THANDLE;
Rect: TRect;
RecH: integer;
Text: PChar;
Font: HFONT;
begin
GetClientRect(But,Rect);
DC:=GetDC(But);
// Закраска кнопки
DeleteObject(Rgn);
with Rect do
begin
RecH:=abs(Bottom-Top) div 4;
// Вывод текста
GetWindowText(But,Text,50);
Font:=CreateFont(10,6,1,1,FW_NORMAL,0,0,0,ANSI_CHARSET,
OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,
DEFAULT_QUALITY,FF_DONTCARE,
"TimesNewRoman");
SetMapperFlags(DC,1);
SetTextColor(DC,clBlue);
SetBkColor(DC,clSilver);
SetTextAlign(DC,TA_CENTER);
SelectObject(DC,Font);
TextOut(DC,4*RecH+4,RecH+4,Text,StrLen(Text));
end;
// Освобождение памяти
ReleaseDC(But,DC);
DeleteObject(Font);
DeleteObject(DC);
end;
ЗАРАНЕЕ СПАСИБО!!!
MBo (2002-10-04 14:22:00) [3]код?