Beispiel #1
0
void DrawWinBorder(UltimateContext *uc)
{
  int active;
  unsigned long winbg;

  if(uc->frame == None) return;
  if((active = (uc == FocusWin))) {
    uc->flags |= ACTIVE_BORDER;
  } else {
    uc->flags &= ~ACTIVE_BORDER;
  }

  winbg = active ? TheScreen.ActiveBorder[TheScreen.desktop.ActiveWorkSpace]
          : TheScreen.InactiveBorder[TheScreen.desktop.ActiveWorkSpace];
  XSetWindowBackground(disp, uc->border, winbg);
  XClearWindow(disp, uc->border);
  if(uc->title.win != None) {
    XSetWindowBackground(disp, uc->title.win, winbg);
    if(uc->title.name && (InitS.BorderTitleFlags
       & (active ? BT_ACTIVE_TITLE : BT_INACTIVE_TITLE))){
      XRaiseWindow(disp,uc->title.win);
      DrawTitle(uc);
    } else {
      XLowerWindow(disp, uc->title.win);
      if(uc->flags & SHAPED) DrawTitle(uc);
    }
  }
  DrawFrameBevel(uc);
}
void UpdateName(UltimateContext *uc)
{
  char *name;
  if(!XFetchName(disp, uc->win, &name)) name = NULL;
  if(uc->title.name) XFree(uc->title.name);
  uc->title.name = name;
  if(uc->title.win != None){
    if(uc->title.name) {
      int x, y, width, height;
      x = uc->title.x;
      y = uc->title.y;
      width = uc->title.width;
      height = uc->title.height;
      XResizeWindow(disp, uc->title.win,
		    uc->title.width = (XTextWidth(TheScreen.TitleFont,
                    uc->title.name, strlen(uc->title.name))
		    + (((InitS.BorderTitleFlags & BT_CENTER_TITLE) 
		        || (uc->flags & SHAPED)) ? 9 : 6)),
                    uc->title.height = (TheScreen.TitleFont->ascent
                    + TheScreen.TitleFont->descent 
		    + ((uc->flags & SHAPED) ? 6 : 3)));
      if((InitS.BorderTitleFlags & BT_CENTER_TITLE) || (uc->flags & SHAPED))
        XMoveWindow(disp, uc->title.win,
	            uc->title.x = ((uc->Attr.width - uc->title.width) / 2),
                    uc->title.y = ((uc->flags & SHAPED) ? 0
		    : (uc->BorderWidth - TheScreen.FrameBevelWidth - 1) / 2
                    + TheScreen.FrameBevelWidth));
      if((!((uc->title.width == width) && (uc->title.height == height)
          && (uc->title.x == x) && (uc->title.y == y))) && (uc->flags & SHAPED))
	 ShapeFrame(uc);
      DrawTitle(uc);
    } else XResizeWindow(disp,uc->title.win,0,0);
  }
  DBG(fprintf(TheScreen.errout,"Window Name: %s\n",uc->title.name);)
}
Beispiel #3
0
void CPrintDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialogEx::OnSize(nType, cx, cy);
	if(cx ==0 && cy == 0)
		return;
	int nWidth = 0;
	//滚动条
	if(m_nLength > cy - TITLE_HEIGHT){
		m_scrollBarV.ShowScrollBar(TRUE);
		m_scrollBarV.MoveWindow(cx - SCROLL_WIDTH - RESIZE_GAP, TITLE_HEIGHT, SCROLL_WIDTH, cy - TITLE_HEIGHT - RESIZE_GAP, FALSE);
		m_scrollBarV.SetScrollRange(0, m_nLength - (cy - TITLE_HEIGHT));
		nWidth = SCROLL_WIDTH;
	}
	else{
		m_scrollBarV.ShowScrollBar(FALSE);
		m_nCurPos = 0;
	}
	m_scrollBarV.SetScrollPos(m_nCurPos);

	m_mdcBuf.ChangeBitmap(cx, cy);
	m_mdcBuf.FillSolidRect(0, 0, cx, cy, CLT_BK_COLOR);
	//重画标题栏
	DrawTitle(cx,TITLE_HEIGHT);
	m_mdcBuf.BitBlt(0, 0, cx, TITLE_HEIGHT, &m_mdcTitle, 0, 0, SRCCOPY);
	m_mdcBuf.BitBlt((cx - nWidth - g_nRowWidth)/2, TITLE_HEIGHT, g_nRowWidth, cy - TITLE_HEIGHT, &m_mdcTable, 0, m_nCurPos, SRCCOPY);

	
	/*SCROLLINFO info;
	m_scrollBarV.GetScrollInfo(&info, SIF_ALL);
	info.nPage = cy - TITLE_HEIGHT;
	m_scrollBarV.SetScrollInfo(&info);*/
	
	Invalidate(FALSE);
}
void InformationState::DrawText()
{

	DrawTitle();
	DrawContent();

}
Beispiel #5
0
void cSkinCursesDisplayMenu::Flush(void)
{
  if (cVideoDiskUsage::HasChanged(lastDiskUsageState))
     DrawTitle();
  cString date = DayDateTime();
  osd->DrawText(ScOsdWidth - Utf8StrLen(date) - 2, 0, date, clrBlack, clrCyan, &Font);
  osd->Flush();
}
void TimeLogChart::OnPaint(wxPaintEvent &evt)
{
    wxPaintDC dc(this);
    DrawAxis(dc);
    DrawTitle(dc);
    DrawCharts(dc);
    DrawLegends(dc);
}
Beispiel #7
0
/*****************************************************************
関数名 : GameTitle
機能	: タイトルの処理
引数	: なし
出力	: ゲームの状態
*****************************************************************/
int GameTitle()
{
    InitTitle();
    while(gState == GAME_TITLE) {
        InputKey();
        DrawTitle();
    }
    return gState;
}
Beispiel #8
0
void CHistoryView::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CClientDC dc(this);
	OnPrepareDC(&dc);
	DarwDenote(&dc,point);
	DrawTitle(&dc);
	CView::OnMouseMove(nFlags, point);
}
Beispiel #9
0
/**
*@brief Draws the Title Screen
*/
int StateTitle()
{
	printf("In title screen\n");
	SDL_RenderClear(GetRenderer());
    UpdateTitleButtons();
	DrawTitle();
	NextFrame();
	return 0;
}
Beispiel #10
0
void do_redraw(char *userdata, GraphWin * wi)
{
  if ( TransformCompute(wi) ) {
    DrawTitle(userdata, wi);
    DrawLegend(userdata, wi);
    DrawGridAndAxis(userdata, wi);
    DrawData(userdata, wi);
    DrawLabel(userdata, wi);
  }
}
Beispiel #11
0
void CDreamSkinWindow::DrawItem(HDC hDC, SKINITEM *pItem, RECT rcItem, WCHAR *wstrTitle)
{
	RECT rcClient = GetItemRectClient(pItem, rcItem);
	DrawBackground(hDC, rcItem, &pItem->skinBk);

	DrawBorder(hDC, &pItem->skinLBorder, &pItem->skinRBorder, &pItem->skinTBorder, &pItem->skinBBorder, rcItem);

	if (wstrTitle)
		DrawTitle(hDC, &pItem->skinTxt, rcClient, wstrTitle);
}
HRGN CSkinWin::GetRegion(int w, int h)
{
    CWnd *pWnd = CWnd::FromHandle(m_hWnd);
    CRect wr;
    pWnd->GetWindowRect(wr);
	//SKIN_SHANG 右边框
	//wr.left+=m_BorderRightWidth;
    
    CRgn rgn;
    if ( m_bTrans )
    {
        CDC *pDC = pWnd->GetDC();
        CDC memDC;
        CMyBitmap bmp;
        CBitmap *obmp;
        memDC.CreateCompatibleDC(pDC);
        bmp.CreateCompatibleBitmap( pDC, w, m_TitleHeight );
        obmp = memDC.SelectObject(&bmp);
        /*
        memDC.FillSolidRect( 0, 0, w, h, 0 );
        DrawFrame( &memDC, 0, 0, w, h, 0 );
        */
        DrawTitle( &memDC, m_BorderLeftWidth , 0, 
                   wr.Width() - m_BorderRightWidth - m_BorderLeftWidth + 1, 0 );
        DrawLeft( &memDC, 0, 0, m_bmpLeft.Height(), 0 );
		//SKIN_SHANG 右边框
        DrawRight( &memDC, wr.Width() - m_BorderRightWidth , 0, m_bmpRight.Height(), 0 );
        
        memDC.SelectObject(obmp);

		//wyw
		memDC.DeleteDC();

        pWnd->ReleaseDC( pDC );

        rgn.CreateRectRgn( 0, m_TitleHeight, wr.Width(), wr.Height() );
        HRGN hrgn = bmp.CreateRgnFromFile( m_colTrans );
        CRgn newrgn;
        newrgn.CreateRectRgn( 0, m_TitleHeight, wr.Width(), wr.Height() );
        newrgn.CombineRgn( &rgn, CRgn::FromHandle(hrgn), RGN_XOR  );

		//wyw
		bmp.DeleteObject();
		DeleteObject(hrgn);
		rgn.DeleteObject();
        
        return (HRGN)newrgn.Detach();
    }
    else
        rgn.CreateRectRgn( 0, 0, wr.Width(), wr.Height() );
        
    
    return (HRGN)rgn.Detach();
}
void CPrintGraph::BeginPrinting()
{
    if(m_PrintOptions.m_bTitleOn)
        DrawTitle();

    m_DC.SetViewportOrg(m_GraphOrigin.x, m_GraphOrigin.y);

    if(m_PrintOptions.m_bEquations)
        DrawEquationList();

}
BOOL CSkinWin::DrawFrame(CDC *pDC, int x, int y, int w, int h, int state, int title )
{
    //if ( title )
    DrawTitle( pDC, x + m_BorderLeftWidth , y, 
               w - m_BorderRightWidth - m_BorderLeftWidth + 1, state );
    DrawLeft( pDC, x, y, h, state );
	//SKIN_SHANG 右边框
    DrawRight( pDC, x + w - m_BorderRightWidth , y, h, state );
    DrawBottom( pDC, x + m_BorderLeftWidth, 
        y + h - m_BorderBottomHeight, w - m_BorderRightWidth - m_BorderLeftWidth, state );
    return TRUE;

}
void mxExpressionSlider::redraw()
{
	HWND wnd = (HWND)getHandle();
	if ( !wnd )
		return;

	HDC finalDC = GetDC( wnd );
	if ( !finalDC )
		return;

	RECT rc;
	GetClientRect( wnd, &rc );

	int w = rc.right - rc.left;
	int h = rc.bottom - rc.top;

	HDC dc = CreateCompatibleDC( finalDC );
	HBITMAP oldbm, bm;

	bm = CreateCompatibleBitmap( finalDC, w, h );

	oldbm = (HBITMAP)SelectObject( dc, bm );

	HBRUSH br = CreateSolidBrush( GetSysColor( COLOR_3DFACE ) );

	FillRect( dc, &rc, br );

	DeleteObject( br );

	DrawTitle( dc );

	DrawBar( dc );

	// Draw slider
	for ( int i = ( m_bPaired ? 1 : 0 ); i >= 0 ; i-- )
	{
		DrawThumb( i, dc );
	}

	BitBlt( finalDC, 0, 0, w, h, dc, 0, 0, SRCCOPY );

	SelectObject( dc, oldbm );

	DeleteObject( bm );

	DeleteDC( dc );

	ReleaseDC( wnd, finalDC );
	ValidateRect( wnd, &rc );
}
Beispiel #16
0
void pawsBorder::Draw()
{
    if ( !draw )
        return;
        
    frame = parent->GetScreenFrame();
    
    if (title.Length())
        DrawTitle(frame);  // This adjusts the frame to preserve the title bar if present.

    if ( !usingGraphics )
    {
        //if ( !justTitle )
            // DrawFrame(frame);
        return;        
    }
    
    
    /////////////////////////////
    // Draw tiles across the top and bottom
    /////////////////////////////    
    borderImages[PAWS_BORDER_TOPLEFT]->Draw( frame.xmin - borderImages[PAWS_BORDER_TOPLEFT]->GetWidth(), 
                                                 frame.ymin - borderImages[PAWS_BORDER_TOPLEFT]->GetHeight() );
    borderImages[PAWS_BORDER_BOTTOMLEFT]->Draw( frame.xmin - borderImages[PAWS_BORDER_BOTTOMLEFT]->GetWidth(), 
                                                frame.ymax );

    int locX, locY = frame.ymin - borderImages[PAWS_BORDER_TOPMIDDLE]->GetHeight();
    for (locX = frame.xmin; locX < frame.xmax; locX += borderImages[PAWS_BORDER_TOPMIDDLE]->GetWidth() )
    {
        borderImages[PAWS_BORDER_TOPMIDDLE]->Draw( locX, locY, csMin(borderImages[PAWS_BORDER_TOPMIDDLE]->GetWidth(),frame.xmax-locX), 0 );
        borderImages[PAWS_BORDER_BOTTOMMIDDLE]->Draw( locX, frame.ymax, csMin(borderImages[PAWS_BORDER_BOTTOMMIDDLE]->GetWidth(),frame.xmax-locX), 0 );
    }

    /////////////////////////////
    // Draw tiles down the left and right
    /////////////////////////////

    locX = frame.xmin - borderImages[PAWS_BORDER_LEFTMIDDLE]->GetWidth();
    for (locY = frame.ymin; locY < frame.ymax; locY += borderImages[PAWS_BORDER_LEFTMIDDLE]->GetHeight() )
    {
        borderImages[PAWS_BORDER_LEFTMIDDLE]->Draw( locX, locY, 0, csMin(borderImages[PAWS_BORDER_LEFTMIDDLE]->GetHeight(), frame.ymax-locY) );
        borderImages[PAWS_BORDER_RIGHTMIDDLE]->Draw( frame.xmax, locY, 0, csMin(borderImages[PAWS_BORDER_RIGHTMIDDLE]->GetHeight(), frame.ymax-locY) );
    }

    borderImages[PAWS_BORDER_TOPRIGHT]->Draw( frame.xmax, 
                                              frame.ymin - borderImages[PAWS_BORDER_TOPRIGHT]->GetHeight() );

    borderImages[PAWS_BORDER_BOTTOMRIGHT]->Draw( frame.xmax, frame.ymax );  
}
void CBatmonContainer::Draw(const TRect& aRect) const
{
  CWindowGc& gc=SystemGc();
  gc.SetPenColor(TRgb::Color4K(0x048));
  gc.SetPenStyle(CGraphicsContext::ESolidPen);
  gc.SetBrushColor(TRgb::Color4K(0x000));
  gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
  TRect rect=Rect();
  gc.DrawRect(rect);

  DrawTitle();
  DrawStatus();
  DrawExitMark();
  DrawPage();
}
Beispiel #18
0
void AS_Menu::Draw() {
	int row_x;
	int row_y = Screen::Instance().GetHeight() / 2 - 4 * m_font->GetTextHeight(GetModeText(0));
	Renderer::Instance().SetBlendMode(Renderer::SOLID);
	Renderer::Instance().SetColor(180, 150, 150, 255); 
	Renderer::Instance().DrawImage(m_background, 0, 0, 0, Screen::Instance().GetWidth(), Screen::Instance().GetHeight());
	DrawTitle();
	Renderer::Instance().SetBlendMode(Renderer::ALPHA);
	for (int i = 0; i < TOTAL_OPTIONS; i++) {
		row_x = Screen::Instance().GetWidth() / 2 - m_font->GetTextWidth(GetModeText(i)) / 2;
		if (m_option == i)
			Renderer::Instance().SetColor(255, 0, 127, 255);
		else 
			Renderer::Instance().SetColor(255, 255, 255, 255);
		Renderer::Instance().DrawText(m_font, GetModeText(i), row_x, row_y + m_font->GetTextHeight(GetModeText(i))*i);
		row_y += m_font->GetTextHeight(GetModeText(i));
	}
}
Beispiel #19
0
LRESULT CDreamSkinStatic::OnPaint()
{
	PAINTSTRUCT ps;
	HDC hPaintDC = ::BeginPaint(m_hWnd, &ps);

	::SetBkMode(hPaintDC, TRANSPARENT);

	RECT rcClient;
	::GetClientRect(m_hWnd, &rcClient);

	DrawBackground(hPaintDC, rcClient);

	DrawTitle(hPaintDC, rcClient);

	::EndPaint(m_hWnd, &ps);

	return 0;
}
Beispiel #20
0
//绘制标题栏
void CDBFrame::DrawCaption(CDC *pDC)
{
	CRect rcWindow;
	GetWindowRect(&rcWindow);

	//画标题栏位图
	CRect rcCaption(0,//m_rcSysBorder.left,
					m_rcSysBorder.top,
					rcWindow.Width(),// - m_rcSysBorder.right,
					m_rcSysBorder.top + m_imageCaption.Height());

	if (m_bNcActivate)
		m_imageCaption.Render(pDC, rcCaption.TopLeft(), rcCaption.Size());
	else
		m_imageCaptionNA.Render(pDC, rcCaption.TopLeft(), rcCaption.Size());

	
	CRect rcTitle;
	GetTitleRect(rcTitle);
	DrawTitle(pDC, rcTitle);
}
Beispiel #21
0
void TopMenuItem::Render(const Camera& curCamera)
{
	menu_DrawQuad(0.f, 0.f, m_w, m_h, 1.f);
	float x =  kHSpace; 
	float y = m_h - kVSpace;

	for(int i = 0, c = GetChildren().size(); i < c; ++i)	
	{
		auto child = GetChildren()[i];
		float titlew,titleh;
		child->GetTitleDims(titlew, titleh);
		const Color* col = (GetPos() == i) ? &kTextSelColor : &kTextColor;
		if(child->HasFlag(MENUSTATE_Active)) col = &kTextActiveColor;
		child->DrawTitle(x, y, *col);
		x += 2.f * kHSpace + titlew;
	}

	for(auto child: GetChildren())
		if(child->HasFlag(MENUSTATE_Active))
			child->Render(curCamera);
}
Beispiel #22
0
int main(int argc, char **argv) 
{
	MK_InitLibraries();
	MK_LoadGfx();

	Intro();
	
	while(1)/// Infinite Loop ///
	{
		ExitForTheGame();
		Play_Music();
		switch(MenuIndex)
		{
			case 1: 
				MainMenu();
				break;
			case 2:
				InGame();
				break;
			case 3:
				SelectMenu();
				break;
			case 4:
				SelectSlot();
				break;
			case 5:
				CreatingMenu();
				break;
			case 6:
				SelectSlot2();
				break;
			case 7:
				DrawTitle();
				break;
		}
		ML_Refresh();
	} 
	return 0;
}
Beispiel #23
0
void SubmenuMenuItem::Render(const Camera& curCamera)
{
	menu_DrawQuad(m_x, m_y, m_w, m_h, 1.f);

	float penx = m_x + kHSpace;
	float peny = m_y + kVSpace;
	for(int i = 0, c = m_children.size(); i < c; ++i)
	{
		auto child = m_children[i];

		float titlew,titleh;
		child->GetTitleDims(titlew, titleh);
		peny += titleh;
		const Color* col = (i == m_pos) ? &kTextSelColor : &kTextColor;
		if(child->HasFlag(MENUSTATE_Active)) col = &kTextActiveColor;
		child->DrawTitle(penx, peny, *col);
		peny += kVSpace;
	}

	for(auto child: m_children)
		if(child->HasFlag(MENUSTATE_Active))
			child->Render(curCamera);
}
int main() {
  TH1::AddDirectory(0);
  ModTDRStyle();
  TCanvas* canv = new TCanvas("ma-tanb", "ma-tanb");
  std::vector<TPad*> pads = OnePad();
  contour2D("higgsCombinemhmax.MultiDimFit.mH120.root", "ma-tanb-contours.root",
            "mA", 70, 90, 1000, "tanb", 70, 1, 60);
  TLegend *legend = PositionedLegend(0.20, 0.12, 1, 0.03);
  drawContours(pads[0], "ma-tanb-contours.root", "m_{A} (GeV)", "tan#beta", legend);
  legend->Draw();
  GetAxisHist(pads[0])->GetXaxis()->SetTitleOffset(1.);

  DrawCMSLogo(pads[0], "CMS", "Preliminary", 0, 0.045, 0.035, 1.2);
  DrawTitle(pads[0], "19.7 fb^{-1} (8 TeV) + 4.9 fb^{-1} (7 TeV)", 3);
  // drawTitle(pads[0], "H#rightarrow#tau#tau", 1);
  // pads[0]->SetLogx(1);
  // pads[0]->SetLogy(1);
  canv->Update();
  pads[0]->RedrawAxis();
  pads[0]->GetFrame()->Draw();
  canv->Print(".pdf");
  canv->Print(".png");
  return 0;
}
Beispiel #25
0
bool iupPlot::Render(cdCanvas* canvas)
{
  if (!mRedraw)
    return true;

  // Shift the drawing area to the plot viewport
  cdCanvasOrigin(canvas, mViewport.mX, mViewport.mY);

  // There are no additional transformations set in the CD canvas,
  // all transformations are done here.

  cdCanvasClip(canvas, CD_CLIPAREA);

  // Draw the background, axis and grid restricted only by the viewport
  cdCanvasClipArea(canvas, 0, mViewport.mWidth - 1, 0, mViewport.mHeight - 1);

  // draw entire plot viewport
  DrawBackground(canvas);

  if (!mDataSetListCount)
    return true;

  cdCanvasNativeFont(canvas, IupGetAttribute(ih, "FONT"));

  ConfigureAxis();

  if (!CalculateAxisRange())
    return false;

  if (!CheckRange(mAxisX))
    return false;

  if (!CheckRange(mAxisY))
    return false;

  CalculateTitlePos();

  // Must be before calculate margins
  CalculateTickSize(canvas, mAxisX.mTick);
  CalculateTickSize(canvas, mAxisY.mTick);

  CalculateMargins(canvas);

  iupPlotRect theDatasetArea;
  theDatasetArea.mX = mBack.mMargin.mLeft;
  theDatasetArea.mY = mBack.mMargin.mBottom;
  theDatasetArea.mWidth = mViewport.mWidth - mBack.mMargin.mLeft - mBack.mMargin.mRight;
  theDatasetArea.mHeight = mViewport.mHeight - mBack.mMargin.mTop - mBack.mMargin.mBottom;

  if (!CalculateTickSpacing(theDatasetArea, canvas))
    return false;

  if (!CalculateXTransformation(theDatasetArea))
    return false;

  if (!CalculateYTransformation(theDatasetArea))
    return false;

  IFnC pre_cb = (IFnC)IupGetCallback(ih, "PREDRAW_CB");
  if (pre_cb)
    pre_cb(ih, canvas);

  if (mBack.GetImage())
    DrawBackgroundImage(canvas);

  if (!mGrid.DrawX(mAxisX.mTickIter, mAxisX.mTrafo, theDatasetArea, canvas))
    return false;

  if (mGrid.mShowX)
    mGridMinor.DrawX(mAxisX.mTickIter, mAxisX.mTrafo, theDatasetArea, canvas);

  if (!mGrid.DrawY(mAxisY.mTickIter, mAxisY.mTrafo, theDatasetArea, canvas))
    return false;

  if (mGrid.mShowY)
    mGridMinor.DrawY(mAxisY.mTickIter, mAxisY.mTrafo, theDatasetArea, canvas);

  if (!mAxisX.DrawX(theDatasetArea, canvas, mAxisY))
    return false;

  if (!mAxisY.DrawY(theDatasetArea, canvas, mAxisX))
    return false;

  if (mBox.mShow)
    mBox.Draw(theDatasetArea, canvas);

  // draw the datasets, legend, crosshair and selection restricted to the dataset area
  cdCanvasClipArea(canvas, theDatasetArea.mX, theDatasetArea.mX + theDatasetArea.mWidth - 1, theDatasetArea.mY, theDatasetArea.mY + theDatasetArea.mHeight - 1);

  IFniiddi drawsample_cb = (IFniiddi)IupGetCallback(ih, "DRAWSAMPLE_CB");

  for (int ds = 0; ds < mDataSetListCount; ds++) 
  {
    iupPlotDataSet* dataset = mDataSetList[ds];

    if (drawsample_cb)
    {
      iupPlotSampleNotify inNotify = { ih, ds, drawsample_cb };
      dataset->DrawData(mAxisX.mTrafo, mAxisY.mTrafo, canvas, &inNotify);
    }
    else
      dataset->DrawData(mAxisX.mTrafo, mAxisY.mTrafo, canvas, NULL);
  }

  if (mCrossHairH)
    DrawCrossHairH(theDatasetArea, canvas);
  else if (mCrossHairV)
    DrawCrossHairV(theDatasetArea, canvas);

  if (mShowSelectionBand)
  {
    if (mSelectionBand.mX < theDatasetArea.mX) 
    { 
      mSelectionBand.mWidth = mSelectionBand.mX + mSelectionBand.mWidth - theDatasetArea.mX; 
      mSelectionBand.mX = theDatasetArea.mX; 
    }
    if (mSelectionBand.mY < theDatasetArea.mY) 
    {
      mSelectionBand.mHeight = mSelectionBand.mY + mSelectionBand.mHeight - theDatasetArea.mY; 
      mSelectionBand.mY = theDatasetArea.mY;
    }
    if (mSelectionBand.mX + mSelectionBand.mWidth > theDatasetArea.mX + theDatasetArea.mWidth)
      mSelectionBand.mWidth = theDatasetArea.mX + theDatasetArea.mWidth - mSelectionBand.mX;
    if (mSelectionBand.mY + mSelectionBand.mHeight > theDatasetArea.mY + theDatasetArea.mHeight)
      mSelectionBand.mHeight = theDatasetArea.mY + theDatasetArea.mHeight - mSelectionBand.mY;

    mBox.Draw(mSelectionBand, canvas);
  }

  IFnC post_cb = (IFnC)IupGetCallback(ih, "POSTDRAW_CB");
  if (post_cb)
    post_cb(ih, canvas);

  if (!DrawLegend(theDatasetArea, canvas, mLegend.mPos))
    return false;

  // Draw title restricted only by the viewport
  cdCanvasClipArea(canvas, 0, mViewport.mWidth - 1, 0, mViewport.mHeight - 1);

  DrawTitle(canvas);

  if (!IupGetInt(ih, "ACTIVE"))
    DrawInactive(canvas);

  mRedraw = false;
  return true;
}
Beispiel #26
0
//绘制框架
void CHistoryView::DrawFrameText(CDC* pDC)
{
	CHistoryDoc* pHistoryDoc = (CHistoryDoc*)GetDocument();	
	//Draw矩形框
	CPen pen( PS_SOLID,m_nPenWidth,RGB(255,0,0) );
	CPen* pOldPen = pDC->SelectObject(&pen);
	pDC->SelectStockObject(NULL_BRUSH);
	pDC->Rectangle(&m_rectFrame);
	pDC->Rectangle(&m_rectTop);
	pDC->Rectangle(&m_rectMid);
	pDC->Rectangle(&m_rectBottom);
	pDC->SelectObject(&pOldPen);

	DrawTitle(pDC);

	//绘制数据
	COLORREF colorOldText = pDC->SetTextColor( RGB(255, 255, 0) );
	COLORREF colorOldBk = pDC->SetBkColor( RGB(0,0,0) );
	int nSel = (  (CHistoryFrame*)GetParentFrame() )->GetSliderCtrlPos();
	pHistoryDoc->GetPriceRange(nSel,m_nStockNumPerPage);
	CRect rect;
	CString str;
	rect.left	= m_rectMid.left - 100;
	rect.right	= m_rectMid.left - 5;
	rect.top	= m_rectMid.top;
	rect.bottom = rect.top - 100;
	str.Format("%.4lf",pHistoryDoc->m_dbHiPrice);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_RIGHT);		//历史最高价

	rect.left	= m_rectMid.left - 100;
	rect.right	= m_rectMid.left - 5;
	rect.top	= m_rectMid.top;
	rect.bottom = m_rectMid.bottom;
	str.Format("%.4lf",pHistoryDoc->m_dbLowPrice);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_BOTTOM | DT_RIGHT);		//历史最低价

	rect.left	= m_rectMid.left - 100;
	rect.right	= m_rectMid.left - 5;
	rect.top	= (m_rectMid.top + m_rectMid.bottom) / 2 + 10;
	rect.bottom = rect.top - 100;
	double dbAverPrice = ( pHistoryDoc->m_dbHiPrice 
						 + pHistoryDoc->m_dbLowPrice ) / 2;
	str.Format("%.4lf",dbAverPrice);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_RIGHT);		//历史平均价
	CPen pen1(PS_SOLID,m_nPenWidth,RGB(255,255,0));
	CPen* pOldPen1 = pDC->SelectObject(&pen1);
	pDC->MoveTo(m_rectMid.left,rect.top);
	pDC->LineTo(m_rectMid.right,rect.top);
	pDC->SelectObject(pOldPen1);

	rect.left	= m_rectMid.left;
	rect.right	= m_rectMid.right;
	rect.top	= m_rectMid.bottom;
	rect.bottom = m_rectBottom.top;
	str.Format("%s",pHistoryDoc->m_arrayHistoryInfo[nSel]->m_cDealDate);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_LEFT);		//交易日期
	str.Format("%s",pHistoryDoc->m_arrayHistoryInfo[nSel + m_nStockNumPerPage - 1]->m_cDealDate);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_RIGHT);		//交易日期

	pDC->SetTextColor( RGB(0, 255, 0) );
	pDC->SetBkColor( RGB(0,0,0) );
	rect.left = m_rectBottom.left - 100;
	rect.right = m_rectBottom.left - 5;
	rect.top = m_rectBottom.top;
	rect.bottom = m_rectBottom.bottom;	
	str.Format("%d",pHistoryDoc->m_nHiQuantity);
	pDC->DrawText(str,&rect,DT_SINGLELINE | DT_RIGHT);		//最大成交量
	
	pDC->SetTextColor(colorOldText);
	pDC->SetBkColor(colorOldBk);


}
int main(int argc, char* argv[]) {
  Json::Value const js = ch::MergedJson(argc, argv);

  TH1::AddDirectory(0);
  ModTDRStyle();
  TCanvas canv(js.get("output", "scan").asCString(), "");
  std::vector<TPad*> pads = OnePad();
  std::vector<TLine *> lines;


  std::vector<Scan> scans;


  for (auto it = js["env"].begin(); it != js["env"].end(); ++it) {
    std::cout << (*it).asString() << "\n";
  }

  std::string xvar = js.get("xvar", "r").asString();
  std::string yvar = js.get("yvar", "2. * deltaNLL").asString();
  bool re_zero_graphs = js.get("rezero", true).asBool();
  double cross = js.get("crossing", 1.0).asFloat();
  int precision = js.get("precision", 2).asInt();

  std::set<std::string> draw;
  for (unsigned i = 0; i < js["draw"].size(); ++i) {
    draw.insert(js["draw"][i].asString());
  }


  for (unsigned i = 0; i < js["scans"].size(); ++i) {
    Json::Value const sc_js = js["scans"][i];
    if (!draw.count(sc_js["label"].asString())) continue;
    Scan scan;
    scan.file = sc_js["file"].asString();
    scan.tree = sc_js["tree"].asString();
    scan.color = sc_js["color"].asInt();
    scan.label = sc_js["legend"].asString();
    scans.push_back(scan);
  }
  if (scans.size() == 0) return 1;

  TLegend *leg =
      PositionedLegend(0.4, 0.15 * float(scans.size()) / 1.7, 2, 0.03);
  leg->SetTextSize(0.035);

  for (unsigned i = 0; i < scans.size(); ++i) {
    Scan & sc = scans[i];
    TFile f(sc.file.c_str());
    TTree *t = static_cast<TTree*>(f.Get(sc.tree.c_str()));
    sc.gr = new TGraph(TGraphFromTree(t, xvar, yvar));
    sc.gr->Sort();
    for (int j = 0; j < sc.gr->GetN(); ++j) {
      if (std::fabs(sc.gr->GetY()[j] - 0.) < 1E-5) sc.bestfit = sc.gr->GetX()[j];
    }
    if (re_zero_graphs) ReZeroTGraph(sc.gr);
    auto x1 = GetCrossings(*(sc.gr), 1.0);
    TString res;
    if (x1.size() == 2) {
      sc.uncert = (x1[1]-x1[0])/2.0;
      std::cout << "Best fit is: " << sc.bestfit << " +/- " << sc.uncert << "\n";
      lines.push_back(new TLine(x1[0], 0, x1[0], 1.0));
      lines.back()->SetLineColor(sc.color);
      lines.back()->SetLineWidth(2);
      lines.push_back(new TLine(x1[1], 0, x1[1], 1.0));
      lines.back()->SetLineColor(sc.color);
      lines.back()->SetLineWidth(2);
      res = TString::Format(
          TString::Format("%%.%if#pm%%.%if", precision, precision), sc.bestfit,
          sc.uncert);
      TString leg_text = "#splitline{"+sc.label+"}{"+res+"}";
      sc.gr->SetLineColor(sc.color);
      sc.gr->SetLineWidth(3);
      leg->AddEntry(sc.gr, leg_text, "L");
    }
  }


  TH1 *axis = CreateAxisHist(scans[0].gr, true);
  axis->GetXaxis()->SetTitle(js["x_axis_title"].asCString());
  axis->GetYaxis()->SetTitle(js["y_axis_title"].asCString());
  axis->Draw();

  for (unsigned i = 0; i < scans.size(); ++i) {
    Scan & sc = scans[i];
    sc.gr->Draw("LSAME");
  }

  leg->Draw();

  double xmin = axis->GetXaxis()->GetXmin();
  double xmax = axis->GetXaxis()->GetXmax();

  lines.push_back(new TLine(xmin, cross, xmax, cross));
  lines.back()->SetLineColor(2);
  for (auto l : lines) l->Draw();

  DrawCMSLogo(pads[0], "CMS", js["cms_label"].asString(), 0);
  DrawTitle(pads[0], js["title_right"].asString(), 3);

  canv.Update();
  canv.SaveAs(".pdf");
  canv.SaveAs(".png");
  return 0;
}
Beispiel #28
0
void MainMenu () {
	if (Key==27) GAME_TYPE=-1;
	if (MENU_SELECTED==11 && (Key==' ' || Arrow==28)) GAME_TYPE=-1;
	if (Key=='s' || Arrow=='P') MENU_SELECTED++;
	if (Key=='w' || Arrow=='H') MENU_SELECTED--;
	if (MENU_SELECTED<0) MENU_SELECTED=11;
	if (MENU_SELECTED>11) MENU_SELECTED=0;
	if (MENU_SELECTED==0 && (Key==' ' || Arrow==28)) {
		GAME_TYPE=1;
		GLOBAL_CHECKPOINT=0;
		return;
	}
	if (MENU_SELECTED==3 && (Key=='a' || Key=='d' || Arrow=='K' || Arrow=='M')) {
		if (GLOBAL_BACKGROUNDCOLOR==0) {
			GLOBAL_BACKGROUNDCOLOR=0x00ffffff;
			GLOBAL_FRONTCOLOR=0;
		} else {
			GLOBAL_BACKGROUNDCOLOR=0;
			GLOBAL_FRONTCOLOR=0x00ffffff;
		}
	}
	if (MENU_SELECTED==1) {
		if ((Key=='a' || Arrow=='K') && CURRENT_LEVEL>0) CURRENT_LEVEL--;
		if ((Key=='d' || Arrow=='M') && CURRENT_LEVEL<MAX_LEVEL) CURRENT_LEVEL++;
		HeroSides=LevelProps[CURRENT_LEVEL][2];
	}
	if (MENU_SELECTED==2) {
		if ((Key=='a' || Arrow=='K') && COLOR_INDEX>0) COLOR_INDEX--;
		if ((Key=='d' || Arrow=='M') && COLOR_INDEX<6) COLOR_INDEX++;
		HeroColor=RAINBOW_TABLE [COLOR_INDEX][0];
		GLOBAL_BLOCKCOLOR=RAINBOW_TABLE [COLOR_INDEX][1];
		GLOBAL_BATUTCOLOR=RAINBOW_TABLE [COLOR_INDEX][2];
		GLOBAL_PITCOLOR=RAINBOW_TABLE [COLOR_INDEX][3];
		GLOBAL_FLAGCOLOR=RAINBOW_TABLE [COLOR_INDEX][4];
	}
	if (MENU_SELECTED==7 && (Key=='a' || Key=='d' || Arrow=='K' || Arrow=='M')) {
		if (SAVE_FOLDER_TYPE==0) {
			SAVE_FOLDER_TYPE=1;
		} else {
			SAVE_FOLDER_TYPE=0;
		}
	}
	if (MENU_SELECTED==8 && (Key=='a' || Key=='d' || Arrow=='K' || Arrow=='M')) {
		int i=0;
		int j=0;
		for (i=0; i<Width; i++) {
			for (j=0; j<Height; j++) {
				BufferDraw[i][j]=GLOBAL_BACKGROUNDCOLOR;
			}
		}
		Update();
		if (DRAW_TECH==0) {
			DRAW_TECH=1;
		} else {
			DRAW_TECH=0;
		}
		Update();
	}
	if (MENU_SELECTED==9) {
		if ((Key=='a' || Arrow=='K') && Max_Speed>1) Max_Speed--;
		if ((Key=='d' || Arrow=='M') && Max_Speed<14) Max_Speed++;
	}
	if (MENU_SELECTED==4 && (Key==' ' || Arrow==28)) LoadData();
	if (MENU_SELECTED==5 && (Key==' ' || Arrow==28)) SaveData();
	if (MENU_SELECTED==6 && (Key==' ' || Arrow==28)) {
		if (CURRENT_LEVEL>=3) {
			DrawText (300,300,"error",GLOBAL_FRONTCOLOR);
			DrawText (30,320,"(choose level 0/1/2 to edit them)",GLOBAL_FRONTCOLOR);
			Update();
			_ksys_delay(200);
			MENU_SELECTED=1;
		} else {
			GAME_TYPE=3;
			Panel=1;
		}
	}
	if (Key=='f' && CURRENT_LEVEL<3) {
		GAME_TYPE=3;
		Panel=1;
	}
	if (MENU_SELECTED==10 && (Key==' ' || Arrow==28)) GAME_TYPE=2;


	DrawTitle (60,100,GLOBAL_FRONTCOLOR);
	DrawText (100,300,"start game",GLOBAL_FRONTCOLOR);
	DrawText (100,320,"choose level <   >",GLOBAL_FRONTCOLOR);
	IntToStr(CURRENT_LEVEL,NUMBER);
	DrawText (345,320,NUMBER,GLOBAL_FRONTCOLOR);
	DrawText (100,340,"hero color <        >",GLOBAL_FRONTCOLOR);
	DrawText (330, 340, RAINBOW_NAME [COLOR_INDEX], GLOBAL_FRONTCOLOR);
	DrawText (100,360,"background color <        >",GLOBAL_FRONTCOLOR);
	if (GLOBAL_BACKGROUNDCOLOR==0) {
		DrawText (430,360,"black",GLOBAL_FRONTCOLOR);
	} else {
		DrawText (430,360,"white",GLOBAL_FRONTCOLOR);
	}

	DrawText (100,400,"load game",GLOBAL_FRONTCOLOR);
	DrawText (100,420,"save game",GLOBAL_FRONTCOLOR);
	DrawText (100,440,"level editor",GLOBAL_FRONTCOLOR);
	DrawText (100,460,"saveload folder <          >",GLOBAL_FRONTCOLOR);
	if (SAVE_FOLDER_TYPE==0) {
		DrawText (400,460,"local",GLOBAL_FRONTCOLOR);
	} else {
		DrawText (400,460,"usbhd0/1/",GLOBAL_FRONTCOLOR);
	}
	DrawText (100,480,"redraw technology <        >",GLOBAL_FRONTCOLOR);
	if (DRAW_TECH==0) {
		DrawText (450,480,"frame",GLOBAL_FRONTCOLOR);
	} else {
		DrawText (450,480,"lines",GLOBAL_FRONTCOLOR);
	}
	DrawText (100,500,"max speed <   >",GLOBAL_FRONTCOLOR);
	IntToStr(Max_Speed,NUMBER);
	DrawText (300,500,NUMBER,GLOBAL_FRONTCOLOR);
	DrawText (100,520,"help",GLOBAL_FRONTCOLOR);
	DrawText (100,540,"quit",GLOBAL_FRONTCOLOR);
	DrawText (20,580,"developed by e_shi games 2014",GLOBAL_FRONTCOLOR);

	if (MENU_SELECTED==0) DrawText (100,300,"start game",HeroColor);
	if (MENU_SELECTED==1) DrawText (100,320,"choose level <   >",HeroColor);
	if (MENU_SELECTED==2) DrawText (100,340,"hero color <        >",HeroColor);
	if (MENU_SELECTED==3) DrawText (100,360,"background color <        >",HeroColor);
	if (MENU_SELECTED==4) DrawText (100,400,"load game",HeroColor);
	if (MENU_SELECTED==5) DrawText (100,420,"save game",HeroColor);
	if (MENU_SELECTED==6) DrawText (100,440,"level editor",HeroColor);
	if (MENU_SELECTED==7) DrawText (100,460,"saveload folder <          >",HeroColor);
	if (MENU_SELECTED==8) DrawText (100,480,"redraw technology <        >",HeroColor);
	if (MENU_SELECTED==9) DrawText (100,500,"max speed <   >",HeroColor);
	if (MENU_SELECTED==10) DrawText (100,520,"help",HeroColor);
	if (MENU_SELECTED==11) DrawText (100,540,"quit",HeroColor);


}
Beispiel #29
0
void cSkinReelDisplayReplay::SetTitle(const char *Title)
{
    DrawTitle(Title);
}
void CSkinWin::OnNcPaint(HRGN rgn1)
{  
    CWnd *pWnd = CWnd::FromHandle(m_hWnd);
    CDC * pDC = pWnd->GetWindowDC();
    CRect wr;
    pWnd->GetWindowRect( wr );
    //SKIN_SHANG 右边框
	//wr.left+=m_BorderRightWidth;

    DWORD style = GetWindowLong( m_hWnd, GWL_STYLE );
    DWORD nCaption = style & WS_CAPTION ;
    if (nCaption == 0)
	{
		//wyw
		pWnd->ReleaseDC(pDC);

        return;
    }

//f ( (DWORD)rgn) 
//pDC->SelectClipRgn( CRgn::FromHandle(rgn) );

    //m_bActive = GetActiveWindow() == m_hWnd;
    int state = 0;
    if ( m_bActive)
        state = 0;
    else 
		state = 1;
    
    pDC->ExcludeClipRect(0, 0, wr.Width(), m_TitleHeight );
    DrawFrame(pDC, 0, 0, wr.Width(), wr.Height(), state, 0);    
    pDC->SelectClipRgn( NULL ); 

    CDC memDC, *pNewDC;
    CMyBitmap bmp;
    CBitmap  *obmp;
    memDC.CreateCompatibleDC( pDC );
    bmp.CreateCompatibleBitmap( pDC, wr.Width(), m_TitleHeight );
    obmp = memDC.SelectObject(&bmp);
    pNewDC = &memDC;
    
    DrawTitle( pNewDC, m_BorderLeftWidth , 0, 
               wr.Width() - m_BorderRightWidth - m_BorderLeftWidth + 1, state );
    DrawLeft( pNewDC, 0, 0, m_bmpLeft.Height(), state );
	//SKIN_SHANG 右边框
    DrawRight( pNewDC, wr.Width() - m_BorderRightWidth , 0, m_bmpRight.Height(), state );
    
    CRgn newrgn;
    newrgn.CreateRectRgn( 0, 0, wr.Width(), wr.Height());

    if ( m_bTrans )
	{
		CRgn rgn;
		rgn.CreateRectRgn( 0, m_TitleHeight, wr.Width(), wr.Height() );
		
 		HRGN hrgn = bmp.CreateRgnFromFile( m_colTrans );
//wyw 防止内存增大 		
//		newrgn.CombineRgn( &rgn, CRgn::FromHandle(hrgn), RGN_XOR);

 		pDC->SelectClipRgn( &newrgn ); 
 		
 		//wyw
 		DeleteObject(hrgn);
		rgn.DeleteObject();
	}
	else
		SetWindowRgn(m_hWnd, newrgn, FALSE);

    if (m_sysmenu){
		if( m_downHitTest == HTCLOSE )
			DrawButton( pNewDC, 0, 1 );
		else if ( m_moveHitTest == HTCLOSE)
			DrawButton( pNewDC, 0, 2 );
		else
			DrawButton( pNewDC, 0, 0 );
	}
	/*if ( m_downHitTest == HTMAXBUTTON )
        DrawButton( pNewDC, 1, 1 );
    else if ( m_moveHitTest == HTMAXBUTTON)
        DrawButton( pNewDC, 1, 2 );
    else
        DrawButton( pNewDC, 1, 0 );  

    if ( m_downHitTest == HTMINBUTTON )
        DrawButton( pNewDC, 2, 1 );
    else if ( m_moveHitTest == HTMINBUTTON)
        DrawButton( pNewDC, 2, 2 );
    else
        DrawButton( pNewDC, 2, 0 ); // liub_modify 去除弹出面板(去掉按钮)
   if ( m_downHitTest == HTMINBUTTON )
        DrawButton( pNewDC, 2, 1 );
    else if ( m_moveHitTest == HTMINBUTTON)
        DrawButton( pNewDC, 2, 2 );
    else
        DrawButton( pNewDC, 2, 0 );    */
	if ( m_downHitTest == HTMINBUTTON )
        DrawButton( pNewDC, 1, 1 );
    else if ( m_moveHitTest == HTMINBUTTON)
        DrawButton( pNewDC, 1, 2 );
    else
        DrawButton( pNewDC, 1, 0 ); 

          

    int cx = GetSystemMetrics(SM_CXSMICON);
    int cy = GetSystemMetrics(SM_CYSMICON);
    HICON hi = (HICON)SendMessage( m_hWnd, WM_GETICON, ICON_SMALL, 0);
    if ( !hi )
    {
//#ifdef IDR_MAINFRAME
        hi = AfxGetApp()->LoadIcon(g_SetData.Main_szMainIcon);
//#endif
    }
    //draw icon
//     ::DrawIconEx( pNewDC->GetSafeHdc(), m_BorderLeftWidth, 5, (HICON)
//         CopyImage( hi, IMAGE_ICON, 
//         cx, cy, 0), cx, cy, 0, 0, DI_NORMAL);

#if 0 //wyw
	//draw icon
	::DrawIconEx( pNewDC->GetSafeHdc(), m_BorderLeftWidth, 5, (HICON)
		CopyImage( hi, IMAGE_ICON, cx, cy, 0), cx, cy, 0, 0, DI_NORMAL);
#else
	if (NULL != hi) {
		HICON hIcon = (HICON)CopyImage( hi, IMAGE_ICON, cx, cy, 0);
		ASSERT(NULL != hIcon);
		::DrawIconEx( pNewDC->GetSafeHdc(), m_BorderLeftWidth, 5, hIcon, cx, cy, 0, 0, DI_NORMAL);
		DestroyIcon(hIcon);
	}
#endif

    //draw text
    if ( m_title.IsEmpty() )
        pWnd->GetWindowText(m_title);

    if (m_bActive)
        pNewDC->SetTextColor( m_colTitle1 );
    else
        pNewDC->SetTextColor( m_colTitle2 );

    CFont font, *ofont;
    font.CreatePointFont( GetSystemMetrics(SM_CYSMCAPTION), _T("System") );
    ofont = pNewDC->SelectObject(&font);

    pNewDC->SetBkMode(TRANSPARENT);
    pNewDC->DrawText( m_title, CRect( m_textShift, m_textShiftVer, wr.Width() - m_bmpTitle.Width() + m_titleoff2, 
        m_TitleHeight ), DT_SINGLELINE | DT_LEFT | DT_VCENTER | DT_WORD_ELLIPSIS  );

    pNewDC->SelectObject(&font);

    pDC->BitBlt( 0, 0, wr.Width(),
        m_TitleHeight, pNewDC, 0, 0, SRCCOPY );

    pDC->SelectClipRgn(NULL);

	//wyw
	memDC.SelectObject(obmp);

	#ifdef FEATURE_VERSION_ITELCO
		if(m_pHookedWnd == AfxGetMainWnd())
		{
			pWnd = CWnd::FromHandle(m_hWnd);
			pDC = pWnd->GetWindowDC();
			CRect rtWnd,rtTitle;
			pWnd->GetWindowRect(&rtWnd); 
			CRect m_rtIcon;
			rtTitle.left = GetSystemMetrics(SM_CXFRAME); 
			rtTitle.top = GetSystemMetrics(SM_CYFRAME); 
			//rtTitle.right = rtWnd.right - rtWnd.left - GetSystemMetrics(SM_CXFRAME); 
			rtTitle.bottom = rtTitle.top + GetSystemMetrics(SM_CYSIZE); 

			m_rtIcon.left = rtTitle.left + 350;  
			m_rtIcon.top = rtTitle.top - 1; 
			//m_rtIcon.right = m_rtIcon.left + 323;   //323
			//m_rtIcon.bottom = m_rtIcon.top + 20;    //25

			HICON hLogInfo;

			hLogInfo = (HICON)::LoadImage(NULL,
										  g_SetData.Main_szTitleLogoIcon, 
										  IMAGE_ICON,
										  248, 24, 
										  LR_LOADFROMFILE|LR_DEFAULTCOLOR);
			DWORD dword = GetLastError();

			//IDR_MAINFRAME  IDI_ICON_INFO
			BOOL BRes = ::DrawIconEx(pDC->m_hDC, m_rtIcon.left, m_rtIcon.top,
									 hLogInfo, 0,
									 0, 0, NULL, DI_NORMAL); 
			dword = GetLastError();

		}
	#endif

	//wyw
	font.DeleteObject();
	bmp.DeleteObject();
	newrgn.DeleteObject();
	memDC.DeleteDC();
	pWnd->ReleaseDC(pDC);
}