Помогите разобраться с выравниванием текста в DC. Прилогаю код в котором пытаюсь в полотне размером (320х240) в правом нижнем углу вставить текст. Почему-то текст не печатается в нужном месте... В чём может быть дело? П.с. если указываю параметр только TA_BOTTOM (без TA_RIGHT) - тогда текст печатается, но в верхнем левом углу (т.е. TA_BOTTOM игнорируется).
| Код | HDC m_dcPaint; HFONT m_hFont; HBITMAP m_hDibSection; BITMAPINFO m_bmpInfo; PVOID m_pPaintBuffer; m_bmpInfo.bmiHeader.biBitCount = 24; m_bmpInfo.bmiHeader.biClrImportant = 0; m_bmpInfo.bmiHeader.biClrUsed = 0; m_bmpInfo.bmiHeader.biCompression = BI_RGB; m_bmpInfo.bmiHeader.biHeight = 240; m_bmpInfo.bmiHeader.biPlanes = 1; m_bmpInfo.bmiHeader.biSize = 40; m_bmpInfo.bmiHeader.biSizeImage = 230400; m_bmpInfo.bmiHeader.biWidth = 320; m_bmpInfo.bmiHeader.biXPelsPerMeter = 0; m_bmpInfo.bmiHeader.biYPelsPerMeter = 0; m_dcPaint = CreateCompatibleDC(0); m_hFont = CreateFont( 7, // height of font 0, // average character width 0, // angle of escapement 0, // base-line orientation angle 0, // font weight 0, // italic attribute option 0, // underline attribute option 0, // strikeout attribute option DEFAULT_CHARSET, // character set identifier 0, // output precision 0, // clipping precision 0, // output quality 0, // pitch and family 0 // typeface name ); m_hDibSection = CreateDIBSection(NULL , &m_bmpInfo , DIB_RGB_COLORS , &m_pPaintBuffer , NULL , 0); SelectObject(m_dcPaint, m_hFont); SelectObject(m_dcPaint, m_hDibSection); SetBkMode(m_dcPaint,TRANSPARENT); SetTextAlign (m_dcPaint, TA_RIGHT | TA_BOTTOM); TextOut(m_dcPaint, 0, 0, "TEXT", strlen("TEXT"));
|
|