Вниз
Скачать: CL | DM;

TCanvas и CS_OWNDC   Найти похожие ветки 

← →
akvilon ©   (2005-01-28 17:50) [0]

Оравдано ли будет использование класса TCanvas в окне со стилем CS_OWNDC? есть ли какие альтернативы классу TCanvas, мне нужен только удобный интерфейс к апи функциям и больше ничего


← →
akvilon ©   (2005-01-28 17:53) [1]

добавлю еще, необходимо писать выводить текст под разными углами похоже TFont для этого не пригоден...


← →
MBo ©   (2005-01-28 18:26) [2]

>похоже TFont для этого не пригоден...
Пригоден. Нужно создать шрифт (CreateFont(Indirect)) с двумя соотв. полями структуры LogFont, отвечающими за поворот, и присвоить полученный дескриптор свойству Handle


← →
akvilon ©   (2005-01-28 18:32) [3]

а как же канвас? если сам канвас не подходит то и фонт тут зачем ...


← →
MBo ©   (2005-01-28 18:33) [4]

procedure TForm1.Button2Click(Sender: TObject);
var
 lf:TLogFont;
begin
Canvas.Font.Name:="Arial";//шрифт должен быть True Type
GetObject(Canvas.Font.Handle, SizeOf(TLogFont),@lf);
lf.lfOrientation:=450;
lf.lfEscapement:=450;
Canvas.Font.Handle:=CreateFontIndirect(lf);
Canvas.TextOut(100,100,"abcd");
end;


← →
akvilon ©   (2005-01-28 18:52) [5]

спасибо, буду думать ...
просто мне кажется что сам класс TCanvas не подходит для рисования в окне со стилем CS_OWNDC, во-первых является избыточным, так как все настройки HDC сохраняются в самом HDC и вообще тут нужен немного другой подход, на уровне WinAPI для правильного использования такого HDC (OWNDC)
Вот в чем вопрос ...


← →
MBo ©   (2005-01-28 19:05) [6]

А для чего тебе CS_OWNDC, вещь довольно редкая?
Хочется избавиться от сброса настроек контекста при WM_PAINT?


← →
akvilon ©   (2005-01-28 19:14) [7]

У меня всё тут в милиметрах :) и постоянно нужно вызывать LPtoDP и наоборот, да еще каретку показываю, а с ней OWNDC необходим

решил вот все рисование через непосредственный вызов АПИ сделать, минуя Canvas

хочется избавиться от сброса смещения области вывода окна (WindowOrgEx) и т.п. да много чего ...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-1105613123
Stanislav
2005-01-13 13:45
2005.02.13
Аварийная остановка программы


1-1106808234
Zilog
2005-01-27 09:43
2005.02.13
TreeView


14-1106141338
pasha_golub
2005-01-19 16:28
2005.02.13
http://www.ы.com/


3-1105424532
Russko
2005-01-11 09:22
2005.02.13
Работа с базами InterBase


4-1103612577
07BB:080Dh
2004-12-21 10:02
2005.02.13
Есть разница между обычным модемом и оптическим?




   Наверх