int ChatControlMessageFrame::getRemoteResourceHeight()
{
    HDC deviceContext = GetDC(NULL);
    int height = calculateDrawTextHeight(deviceContext, strtowstr(message->getMessage().getRemoteResource()).c_str(), width, dateFont);
    ReleaseDC(NULL, deviceContext);
    return height;
}
int ChatControlMessageFrame::getDateHeight()
{
    HDC deviceContext = GetDC(NULL);
    int height = calculateDrawTextHeight(deviceContext, wcharDate.c_str(), width, dateFont);
    ReleaseDC(NULL, deviceContext);
    return height;
}
void ChatControlMessageFrame::renderFrame(HDC deviceContext, int x, int y)
{
    SetBkColor(deviceContext, color);

    RECT completeRect = { x, y, x + width, y + getHeight() };
    HBRUSH brush = CreateSolidBrush(color);
    FillRect(deviceContext, &completeRect, brush);
    DeleteObject(brush);

    SetTextColor(deviceContext, RGB(110, 110, 110));
    int dateHeight = calculateDrawTextHeight(deviceContext, wcharDate.c_str(), width, dateFont);
    drawTextRight(deviceContext, wcharDate.c_str(), x, y + getHeight() - dateHeight, width, dateFont);

    if (message->getMessage().getRemoteResource().size() > 0)
    {
        std::wstring remoteResource = strtowstr(message->getMessage().getRemoteResource());
        int remoteResourceHeight = calculateDrawTextHeight(deviceContext, remoteResource.c_str(), width, dateFont);
        drawTextRight(deviceContext, remoteResource.c_str(), x, y + getHeight() - dateHeight - remoteResourceHeight, width, dateFont);
    }
}
void ChatControlMessageElement::calculateHeight(int width)
{
	if (type == CHAT_CONTROL_MESSAGE_ELEMENT_TEXT)
	{
		HDC deviceContext = GetDC(NULL);
		height = calculateDrawTextHeight(deviceContext, wcharText, width, static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT)));
		ReleaseDC(NULL, deviceContext);
	} else if (type == CHAT_CONTROL_MESSAGE_ELEMENT_SMILEY)
	{
		height = 20;
	}
}
int ChatControlMessageLocation::calculateHeight()
{
	int height = getPreviewBitmapHeight();

	HDC deviceContext = GetDC(NULL);
	height += calculateDrawTextHeight(deviceContext, text, getWidth(), static_cast<HFONT>(GetStockObject(DEFAULT_GUI_FONT)));
	ReleaseDC(NULL, deviceContext);

	if (getPreviewBitmapHeight() > 0)
	{
		height += 10;
	}

	return height;
}
Пример #6
0
void DayBreak::calculateHeight()
{
	HDC deviceContext = GetDC(NULL);
	height = calculateDrawTextHeight(deviceContext, dayStringW.c_str(), width, font.get());
	ReleaseDC(NULL, deviceContext);
}