![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк у меня или где то еще? [D6, WinXP]
BOPOH © (2002-07-26 13:56:00)Вот код:
Rect.Left := 0;
Rect.Top := 10;
Rect.Right := 300;
Rect.Bottom := 30;
DrawCaption(Form1.Handle, Form1.Canvas.Handle, Rect, DC_ICON or DC_TEXT or DC_ACTIVE or DC_GRADIENT);
вроде должна нарисоватся строка заголовка, но рисуется почему-то только одна иконка, даже прямоугольник заданный в Rect не рисуется целиком. Если не указывать DC_ICON, то вообще ничего не рисуется, но функция говорит, что выполнелась нормально. Что я не правильно делаю?
BOPOH (2002-07-26 14:57:00) [1]Благодарю за помощь
Alx2 (2002-07-26 14:25:00) [2]>Игорь Шевченко © (26.07.02 14:16)
блин, точно :)
Игорь Шевченко (2002-07-26 14:16:00) [3]Alx2 © (26.07.02 14:13)
ClientHandle - Provides access to the handle of the form’s internal MDI client window.
Имеет смысл только для MDI
Alx2 (2002-07-26 14:13:00) [4]Нюанс:
Для рисования в клиентской части лучше так:
Rect.Left := 0;
Rect.Top := 10;
Rect.Right := 300;
Rect.Bottom := 30;
OffsetRect(Rect,ClientOrigin.X,ClientOrigin.Y); // Смещаемся к началу клиента.
dc := GetWindowDC(ClientHandle); // Handle для клиентскаой части
DrawCaption(Handle, dc, Rect, DC_ICON or DC_TEXT or DC_ACTIVE or DC_GRADIENT);
ReleaseDC(ClientHandle,dc); // освобождаем dc
Alx2 (2002-07-26 14:07:00) [5]Попробуй так (у меня получилось):
DrawCaption(Form1.Handle, GetWindowDC(Form1.Handle), Rect, DC_ICON or DC_TEXT or DC_ACTIVE or DC_GRADIENT);
Только потом DC освободи.