Search

'frame'에 해당되는 글 2건

  1. 2016.10.20 MFC CWnd Control Border Color Change
  2. 2012.11.18 JAVA 프레임 안에 프레임 1

MFC CWnd Control Border Color Change

Programming/MFC 2016. 10. 20. 14:48 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

MFC CWnd Control Border Color Change









CWnd::OnNcPaint

 

게시: 2016년 4월

The framework calls this member function when the nonclient area needs to be painted.

비클라이언트 영역을 그려야 할 때 프레임 워크는이 멤버 함수를 호출 합니다.

afx_msg void OnNcPaint( );

The default implementation paints the window frame.


An application can override this call and paint its own custom window frame. The clipping region is always rectangular, even if the shape of the frame is altered.


기본 구현에서는 창 프레임을 그립니다.


응용 프로그램이이 호출을 무시 하 고 자체 사용자 지정 창 프레임을 페인트할 수 있습니다. 클리핑 영역은 프레임의 모양을 변경 하는 경우에 항상 사각형입니다.



void CDerivedEdit::OnNcPaint() 
{
		CDC* pDC = GetWindowDC( );
		
		//work out the coordinates of the window rectangle,
		CRect rect;
		GetWindowRect( &rect);
		rect.OffsetRect( -rect.left, -rect.top);
		
		//Draw a single line around the outside
		CBrush brush( RGB( 255, 0, 0));
		pDC->FrameRect( &rect, &brush);
		ReleaseDC( pDC);
}


'Programming > MFC' 카테고리의 다른 글

CEdit control의 font 바꾸기  (0) 2016.10.25
CTextProgressCtrl hide Edge  (0) 2016.10.25
MFC CheckBox 컨트롤의 현재 상태  (0) 2016.10.19
MFC Control Color Change  (0) 2016.10.19
MFC Bitmap Button  (0) 2016.10.18

JAVA 프레임 안에 프레임

Programming/JAVA,JSP 2012. 11. 18. 15:14 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;



public class ExJInternalFrame extends JFrame{

    JDesktopPane xDesktop;        //JDesktopPane을 정의한다.

    ToolListener xToolListener = new ToolListener();


    public ExJInternalFrame(String title){

        super(title);

        

        /* 프레임을 닫으면 프로그램을 종료시키도록 설정한다. */

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        

        /* 내용 패널을 BorderLayot으로 정한다. */

        Container cp = getContentPane();

        cp.setLayout(new BorderLayout());


        /* 툴바를 만든다 */

        JPanel tool_bar = new JPanel(new BorderLayout());

        JPanel tool_pnl = new JPanel(new GridLayout(1, 0));

        JButton btn;

        btn = new JButton("Maximize");

        btn.addActionListener(xToolListener);        //액션 이벤트..

        tool_pnl.add(btn);


        btn = new JButton("Minimize");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        btn = new JButton("Iconify");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        btn = new JButton("Close");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        tool_bar.add(tool_pnl, BorderLayout.WEST);

        cp.add(tool_bar, BorderLayout.NORTH);

        

        /* 데스크탑 패널을 만든다. */

        

        xDesktop = new JDesktopPane();

        cp.add(xDesktop, BorderLayout.CENTER);

        

        /* 기본 설정의 내부 프레임을 만든다. */

        JInternalFrame fr = new JInternalFrame("Internal Frame 1");

        fr.getContentPane().add(

            new JLabel(new ImageIcon("/root/Download/ICON/jeehaa1004_10.gif"))

            , BorderLayout.CENTER

        );

        fr.setBounds(20, 20, 200, 100);

        fr.setVisible(true);


        xDesktop.add(fr); 


        

        /* 모든 옵션이 켜져있는 내부 프레임을 만든다. */

        fr = new JInternalFrame("Internal Frame 2", true, true, true, true);

        fr.getContentPane().add(

            new JLabel(new ImageIcon("/root/Download/ICON/jeehaa1004_6.gif"))

            , BorderLayout.CENTER

        );

        fr.setBounds(100, 100, 200, 100);

        fr.setVisible(true);


        xDesktop.add(fr);

    }

    

    class ToolListener implements ActionListener {

        public void actionPerformed(ActionEvent ev){

            String cmd = ev.getActionCommand();

            JInternalFrame fr = xDesktop.getSelectedFrame();     //선택된 프레임을 가져온다.           

            /* 버튼에 따라 최대화, 최소화, 닫기 등의 작업을 한다. */

            try{

            if (cmd.equals("Maximize")) {

                fr.setMaximum(true);            //최대화 복원

            } else if (cmd.equals("Minimize")) {

                fr.setMaximum(false);            //최대화 취소

            } else if (cmd.equals("Iconify")) {

                fr.setIcon(true);                //내부프레임의 아이콘화 유무

            } else if (cmd.equals("Close")) {

                fr.setClosed(true);                //내부프레임 닫기

            }   

            }catch(Exception e){}         

        }

    }


    public static void main(String args[]){

        /* 프레임을 만든다. */

        ExJInternalFrame mf = new ExJInternalFrame("JInternalFrame 예제");


        mf.setSize(400, 300);

        mf.setVisible(true);

    }

}

  


'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 비행기게임  (0) 2013.01.09
JAVA 오목 게임 #1  (0) 2012.11.23
JAVA 다중 계산 계산기  (0) 2012.11.17
JAVA TCP 통신 예제  (0) 2012.11.17
Java 계산기 레이아웃  (0) 2012.11.17