Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переписать класс под WTL, как? 
:(
    Опции темы
decembrist
  Дата 29.9.2005, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 1.4.2004

Репутация: нет
Всего: нет



Народ, помогите разобраться с WTL. smile
У меня есть класс который мне надо переписать с использованием WTL.
Не знаю как это сделать smile
Код

#pragma once
#include "widget.h"
#include ".\Thread.h"

class CrawlLine :
    public Widget, Thread
{
public:
    CrawlLine(const ULONG& id);
    virtual ~CrawlLine(void);
    virtual void Paint(HDC& dc);
    virtual UINT Run();

    virtual void Update(void);
private:
    CString _text;
    ULONG _pointer;
};

а это cpp файл:
Код

#include "StdAfx.h"
#include ".\crawlline.h"
#include "stddef.h"
#include "strsafe.h"


CrawlLine::CrawlLine(const ULONG& id)
:Widget(id), _pointer(0)
{
    _text = "BATON ROUGE, La., Sept. 20 - Hurricane conditions were predicted this morning for Florida's southern coast and the Keys as Tropical Storm Rita moved in a northwest direction, posing a new threat to the battered Gulf Coast.";
    Start();
}

CrawlLine::~CrawlLine(void)
{
    Terminate();
    Wait();
}

UINT CrawlLine::Run()    
{
    for (;;)
    {
        SleepClever(20);
        if (m_bTerminate)
            return 0;
        Update();
    }
    return 0;
};

void CrawlLine::Update(void)
{
    ++_pointer;
    Invalidate(FALSE);
}

void CrawlLine::Paint(HDC& dc)
{
    SIZE sz;

    Widget::Paint(dc);
    int old_mode = ::SetBkMode(dc, TRANSPARENT);

    ::GetTextExtentPoint32(dc, _text, _text.GetLength(), &sz);
    _pointer %= (_rc.right - _rc.left) + sz.cx;

    RECT tmpRect;

    tmpRect.left = _rc.right - _pointer;
    tmpRect.right = _rc.right - 3;
    tmpRect.top = _rc.top;
    tmpRect.bottom = _rc.bottom;
    //::SetBkColor(dc,RGB(256, 0, 0));

    Rectangle(dc, _rc.left - 3, _rc.top, _rc.right, _rc.bottom);
    COLORREF old_textColor = ::SetTextColor(dc, RGB(180, 216, 160));
    //COLORREF old_textColor = ::SetTextColor(dc, RGB(0, 0, 0));

    ::DrawText(dc, _text, strlen(_text), &tmpRect, DT_LEFT|DT_VCENTER);
    ::SetTextColor(dc, old_textColor);
    ::SetBkMode(dc, old_mode);
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0872 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.