Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include "scroll.h"
// The application main window
class TScrollWin: public TFrameWindow {
int textHeight;
TSize increment;
public:
TScrollWin(TWindow* parent, const char far* title);
protected:
void SetupWindow();
void EvSize(UINT sizeType, TSize& size);
void Paint(TDC& dc, BOOL erase, TRect& rect);
DECLARE_RESPONSE_TABLE(TScrollWin);
};
DEFINE_RESPONSE_TABLE1(TScrollWin, TFrameWindow)
EV_WM_SIZE,
END_RESPONSE_TABLE;
TScrollWin::TScrollWin(TWindow* parent, const char far* title) :
TFrameWindow(parent, title), TWindow(parent, title)
{
AssignMenu(ID_MENU);
Attr.Style |= WS_VSCROLL | WS_HSCROLL;
Scroller = new TScroller(this, 0, 0, 0, 0);
}
void TScrollWin::SetupWindow()
{
TFrameWindow::SetupWindow();
TClientDC dc(*this);
increment = dc.GetTextExtent( (LPSTR) "M", 1);
increment.cy *= 2;
Scroller->SetUnits(increment.cx, increment.cy);
}
void TScrollWin::EvSize(UINT sizeType, TSize& size)
{
TFrameWindow::EvSize(sizeType, size);
Scroller->SetRange(MAX_LINES, MAX_LINES);
Scroller->ScrollTo(0, 0);
Invalidate(FALSE);
}
void TScrollWin::Paint(TDC& dc, BOOL, TRect&)
{
char buffer[80];
TPoint location(0, 0);
int ln;
for(ln=1; ln<=MAX_LINES; ++ln) {
location += increment;
wsprintf(buffer, "This is line #%d", ln);
dc.TextOut(location, buffer, strlen(buffer));
}
}
// The application class
class TScrollApp: public TApplication {
public:
TScrollApp(const char far* name)
: TApplication(name) {};
void InitMainWindow();
};
void TScrollApp::InitMainWindow()
{
MainWindow = new TScrollWin(0, "Simple Scroller");
}
#pragma argsused
int OwlMain(int argc, char* argv[])
{
TScrollApp app("Scroll");
return app.Run();
}
Соседние файлы в папке GDSII