VC++ 6.0 에서 독립된 다이알로그 만들기입니다.
새로운 프로젝트를 만들어주세요 !! 리소스뷰에서 dialog 부분에서 새로운 dialog 만들어줍니다.
BOOL CreatePen( int nPenStyle, int nWidth, COLORREF crColor ); BOOL CreatePen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL ); nPenStyle : 펜 스타일 nWidth : 펜의굵기 crColor : 펜의 색상 pLogBursh : 펜에 적용할 브러쉬 nStyleCount : 스타일카운터 nPenStyle PS_SOLID …
박스,원,등은 아주쉽게 그릴수 있습니다. [박스] BOOL Rectangle( int x1, int y1, int x2, int y2 ); BOOL Rectangle( LPCRECT lpRect ); x1,y1,x2,y2: 박스를 그리는 좌표 lpRect : 박스를 그리는 CRect 변수 사용법 pDC->Rectangle(CRect(10,10,100,100)); [둥근박스] BOOL RoundRect( int x1, int y1, int x2, int y2, int x3, int y3 ) BOOL RoundRect…
제가 만든 ActiveX 컨트롤에서 다이얼로그 박스를 하나 만들고 그 위에 이미 등록되어 있는 ActiveX 컨트롤(graph그리는 컨트롤)을 하나 올리면 아무 것도 보이지 않습니다. 그런데, 기본적으로 제공되는 리소스의 다이얼로그 컨트롤들(예로 에디터박스나 버턴등)만 사용하면 괜찮은데, 등록되어 있는 모든 ActiveX 컨트롤중 하나만 삽입해도 문제입니다 해당 프로그램의 App 클래스의 InitInstance 함수에서 AfxEnableControlContainer()을 선두에 삽입하기 바랍니다.
파일 열기 다이얼로그를 띄우려면 어떻게 해야 합니까 ? 파일 열기를 하는 용도로 CFileDialog를 사용할 수 있습니다. 예제 코드는 다음과 같습니다. CFileDialog fd(TRUE); if (fd.DoModal() == IDOK) { // 사용자가 선택한 파일의 전체 경로가 다 필요하다면 GetPathName 멤버 함수를 사용한다. // 파일 이름만 필요하다면 GetFileName 멤버 함수를 사용한다. CString fileName = fd.GetPathName(); AfxMessageBox(f…
프린트 다이얼로그를 안 띄우고 기본 프린터로 인쇄하고 싶습니다. 방법을 알려주세요. 기본적으로 인쇄는 인쇄 다이얼로그를 띄우는 절차를 필요로 합니다. MFC의 인쇄 다이얼로그 클래스는 CPrintDialog인데 이 클래스를 생성할 때 인자를 잘 주면 다이얼로그가 뜨지 않고 기본 프린터에 대한 정보만 얻어오게 됩니다. 다음 코드는 인쇄 다이얼로그를 띄우지 않고 프린터에 출력하는 예제입니다. // CPrintDialog를 이용해 프린터의 디폴트 설정을 읽어온다. CPrintDialog dlg(TRUE, PD_RETURNDEFAU…
다이얼로그위에 비트맵을 올리려고 합니다. 다이얼로그에서 비트맵 버튼의 크기를 줄 때 비트맵의 크기와 동일하게 주었는데 크기가 맞지 않습니다.. 이유가 무엇일까요 ? 일단 이 문제는 다이얼로그에서 위치나 크기를 줄 때 사용하는 단위가 일반 픽셀 단위가 아니기 때문에 발생한 것입니다. 먼저 다이얼로그 박스위에 어떤 컨트롤이든지 비트맵을 올릴 수 있는 컨트롤을 올렸다고 가정하겠습니다. 그리고나서 다이얼로그 박스의 WM_INITDIALOG 메시지 처리부에서 비트맵이 올라간 컨트롤의 크기를 다음과 같이 변경합니다. IDC_BITMAPCTR…
다이얼로그 박스상의 특정 컨트롤의 색상을 변경하고 싶습니다. 어떻게 해야 합니까 ? 이는 VB나 델파이에서는 아주 쉽게 할 수 있는 일이지만 다이얼로그 박스 클래스에서 좀 복잡합니다. 일단 다이얼로그 클래스의 WM_CTLCOLOR 메시지에 대한 처리 함수를 정의합니다. 그 안의 코드를 다음과 같이 변경합니다. 참고로 IDC_TEXTOUT은 색상을 변경하고자 하는 스태틱 컨트롤의 ID라고 하겠습니다. HBRUSH CTifTestView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) …
다이얼로그 박스의 에디트 상자에서 값을 입력받아 부모 윈도우에 직선을 그리는 프로그래밍을 하고 있습니다. 다이얼로그 박스의 에디트 상자에서 입력받은 값을 뷰 클래스의 draw 함수와 연결하고 싶습니다. 질문한 내용의 해결 방법은 의외로 쉽습니다. 우선 다이얼로그 박스를 만들고 값을 입력받는 에디트 박스에 멤버 변수를 설정합니다. 이 과정은 클래스 위저드에 멤버 탭을 누르고 해당 컨트롤을 선택하면 변수를 입력할 수 있습니다. 여기서 만든 다이얼로그가 CInputDlg, 멤버 변수가 m_iVal이고, CView에서 특정 메뉴를 선택했…