Contents

조회 수 9813 댓글 0
Atachment
첨부 '2'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

실행화면..

magneticdialog.gif


◈ 개발 환경  

  1. OS 환경 : WindowXP

  2. 사용 언어 : VC++ 6.0

  3. 개발에 필요한 환경

      1) Dialog Based환경에서 작업한 것입니다.

      2) MFC ClassWizard를 띄워서 Class Info탭을 선택합니다.

      3) Message filter : 에 Dialog로 되어 있던 것을 Window로 다시 선택합니다.



◈ 프로그램 설명

1. ‘개발에 필요한 환경’처럼 셋팅이 완료되면 클래스위저드를 다시 띄워 Message Maps 탭을 클릭한 후, Messages리스트박스에 맨 아래로 이동하여 “WM_WINDOWPOSCHANGING”를 선택합니다.

2. 바탕화면 해상도 x, y축의 값을 구합니다.

3. 바탕화면 어떤 테두리에서도 ±30 범위내에 프로그램이 위치하게 되면 자동으로 위치값을 조정합니다.



◈ 중요 소스 설명

CDialog에서 계승받은 MagneticDialogDlg클래스에 OnWindowPosChanging()함수에서 -30 ~ 30인 경우, 강제로 x, y축을 0으로 위치되도록 하는 코드입니다.

void CMagneticDialogDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
    CDialog::OnWindowPosChanging(lpwndpos);

    // 바탕화면 해상도의 가로,세로 크기를 구한다.
    int x_size = GetSystemMetrics(SM_CXSCREEN);
    int y_size = GetSystemMetrics(SM_CYSCREEN);

    // 가로위치가 -30에서 30일 경우 가로위치를 0으로 세팅
    if((lpwndpos->x >= -30) && (lpwndpos->x <= 30)) lpwndpos->x = 0;
    if((lpwndpos->x + lpwndpos->cx >= x_size - 30)
        && (lpwndpos->x + lpwndpos->cx <= x_size + 30))
    {
        lpwndpos->x = x_size - lpwndpos->cx;
    }

    // 세로위치가 -30에서 30일 경우 세로위치를 0으로 세팅
    if((lpwndpos->y >= -30) && (lpwndpos->y <= 30)) lpwndpos->y = 0;
    if((lpwndpos->y + lpwndpos->cy >= y_size - 30)
        && (lpwndpos->y + lpwndpos->cy <= y_size + 30))
    {
        lpwndpos->y = y_size - lpwndpos->cy;
    }
}


Continue..

(추가적으로 코드가 필요하신 경우에는 소스를 다운받아 참조하세요.)


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
315 Develop [php] php+db 연동(odbc, mssql, mysql, sybase) 3 hooni 2013.04.23 9694
314 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 17835
313 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 17901
312 Develop 도메인 관련 솔루션 분석할 거.. ㅋㄷ file hooni 2013.04.23 7975
311 Develop [js] 수명체크 프로그램 ㅋㅋ file hooni 2013.04.23 7817
310 Develop [c] 패킷 에널라이저 예제 소스(성안당) file hooni 2013.04.23 7875
309 Develop [js] 숫자만 입력하게 하는 자바스크립트 hooni 2013.04.23 7969
308 Develop [js] 셀렉트박스(select)의 옵션(option) 동적으로 추가/제거 file hooni 2013.04.23 9228
307 Develop [c] 학교 건물 최단거리 찾는 웹 연동 프로그램 file hooni 2013.04.23 8074
306 Develop [c] 암호화 알고리즘 DES 구현 ㅋㅋ file hooni 2013.04.23 8556
305 Develop [c] 내가 만든 암호화 프로그램.. 좋아^^ file hooni 2013.04.23 8491
304 Develop [c] 숫자(int, Number)를 hex코드로 변환하는 소스 file hooni 2013.04.23 9723
Board Pagination Prev 1 ... 40 41 42 43 44 45 46 47 48 49 ... 71 Next
/ 71