Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Может кто знает? [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]

код?


Наверх

Титульная страница Поиск, карта сайта Написать письмо