CWnd::Invalidate

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

CWnd::Invalidate

void Invalidate(
   BOOL bErase = TRUE 
);
bErase

Specifies whether the background within the update region is to be erased.

The client area is marked for painting when the next WM_PAINT message occurs. The region can also be validated before a WM_PAINTmessage occurs by the ValidateRect or ValidateRgn member function.

The bErase parameter specifies whether the background within the update area is to be erased when the update region is processed. If bEraseis TRUE, the background is erased when the BeginPaint member function is called; if bErase is FALSE, the background remains unchanged. If bErase is TRUE for any part of the update region, the background in the entire region, not just in the given part, is erased.

Windows sends a WM_PAINT message whenever the CWnd update region is not empty and there are no other messages in the application queue for that window.




Invalidate(FALSE)  ->  WM_PAINT

Invalidate(TRUE)   ->  WM_ERASEBKGND   -> WM_PAINT




[군자역] 가장맛있는족발 가족

먹거리 2016. 11. 11. 16:53 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[군자역] 가장맛있는족발 가족



군자역 먹자골목을 지나가다가 얼마전 오픈하였길래 들어가 보았습니다.


화장실 공사가 덜 진행되어 있었던거 같습니다.



방문일시 : 2016-10-14


















마늘 족발이 맛있네요






'먹거리' 카테고리의 다른 글

[천안 구성동] 저팔계왕족발보쌈  (0) 2016.11.22
[성수] 보리네 생고깃간  (0) 2016.11.22
[장한평역] 구이가  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11
[성수역] 성수소내장탕불고기  (0) 2016.11.11

[장한평역] 구이가

먹거리 2016. 11. 11. 16:48 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[장한평역] 구이가







특이한 추가 불판?



버섯, 김치찌개, 달걀후라이, 콘치즈를 위한 전용 불판입니다.


추가 주문하여야 나오는 메뉴 3,000 원








위치


'먹거리' 카테고리의 다른 글

[성수] 보리네 생고깃간  (0) 2016.11.22
[군자역] 가장맛있는족발 가족  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11
[성수역] 성수소내장탕불고기  (0) 2016.11.11
[장한평역] 진촌설렁탕  (0) 2016.11.11

[장한평역] 육대장 장한평역점

먹거리 2016. 11. 11. 14:07 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[장한평역] 육대장 장한평역점





24시 육개장집


육대장입니다.





옛날 전통 육개장 입니다.







주차 공간은 아주 넉넉합니다.





[추가메뉴]


한방보쌈한판






소주한잔하기에 좋네요

'먹거리' 카테고리의 다른 글

[군자역] 가장맛있는족발 가족  (0) 2016.11.11
[장한평역] 구이가  (0) 2016.11.11
[성수역] 성수소내장탕불고기  (0) 2016.11.11
[장한평역] 진촌설렁탕  (0) 2016.11.11
[뚝섬역] 비사벌 콩나물해장국  (0) 2016.11.11

[성수역] 성수소내장탕불고기

먹거리 2016. 11. 11. 14:05 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[성수역] 성수소내장탕불고기



골목길에 있어서 가게에 주차 할 공간은 없습니다.












'먹거리' 카테고리의 다른 글

[장한평역] 구이가  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11
[장한평역] 진촌설렁탕  (0) 2016.11.11
[뚝섬역] 비사벌 콩나물해장국  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11

[장한평역] 진촌설렁탕

먹거리 2016. 11. 11. 14:01 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[장한평역] 진촌설렁탕




지도에는 감미옥으로 나오네요.



주차할 공간은 6자리 정도 있습니다.






밥이 말아져서 나오고


그릇이 특이합니다.


일반 플라스틱 그릇이 아니네요





만두가.... 고기가 많아서 좋았습니다.







파를 듬뿍 넣어서 먹을수 있어서 좋네요








'먹거리' 카테고리의 다른 글

[장한평역] 육대장 장한평역점  (0) 2016.11.11
[성수역] 성수소내장탕불고기  (0) 2016.11.11
[뚝섬역] 비사벌 콩나물해장국  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11
[강릉] 교짬  (0) 2016.08.28

[뚝섬역] 비사벌 콩나물해장국

먹거리 2016. 11. 11. 13:54 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[뚝섬역] 비사벌 콩나물해장국



골목길에 위치해 있어서


차량으로 방문시 근처에 주차할 곳을 잘 찾아보셔야 합니다....












김은 안챙겨주시면 달라고 하면 주십니다.
















'먹거리' 카테고리의 다른 글

[성수역] 성수소내장탕불고기  (0) 2016.11.11
[장한평역] 진촌설렁탕  (0) 2016.11.11
[장한평역] 육대장 장한평역점  (0) 2016.11.11
[강릉] 교짬  (0) 2016.08.28
[용인] 만미정  (0) 2016.08.28

[장한평역] 육대장 장한평역점

먹거리 2016. 11. 11. 13:49 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[장한평역] 육대장 장한평역점




24시 육개장집


육대장입니다.





옛날 전통 육개장 입니다.







주차 공간은 아주 넉넉합니다.


'먹거리' 카테고리의 다른 글

[장한평역] 진촌설렁탕  (0) 2016.11.11
[뚝섬역] 비사벌 콩나물해장국  (0) 2016.11.11
[강릉] 교짬  (0) 2016.08.28
[용인] 만미정  (0) 2016.08.28
[용답역] 양평해장국  (0) 2016.08.28

MFC Dialog Position Save & Load

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

MFC Dialog Position Save & Load


참조 : http://www.codeproject.com/Articles/1154/Saving-a-windows-size-position-and-state-in-MFC


Saving the window placement








BOOL CMainFrame::DestroyWindow() 
{
    WINDOWPLACEMENT wp;
    GetWindowPlacement(&wp);
    AfxGetApp()->WriteProfileBinary("MainFrame", "WP", (LPBYTE)&wp, sizeof(wp));

    return CMDIFrameWnd::DestroyWindow();
}






Restoring the window placement









void CMainFrame::OnShowWindow(BOOL bShow, UINT nStatus) 
{
    CMDIFrameWnd::OnShowWindow(bShow, nStatus);

    static bool bOnce = true;

    if(bShow && !IsWindowVisible()
        && bOnce)
    {
        bOnce = false;

        WINDOWPLACEMENT *lwp;
        UINT nl;

        if(AfxGetApp()->GetProfileBinary("MainFrame", "WP", (LPBYTE*)&lwp, &nl))
        {
            SetWindowPlacement(lwp);
            delete [] lwp;
        }
    }
}







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

[MFC] Dialog 닫기 (OnOK/EndDialog)  (0) 2017.02.08
CWnd::Invalidate  (0) 2016.11.15
MFC - 다이얼로그 생성시 발생되는 메세지들...  (0) 2016.11.07
MFC x64 ADO msado15.dll  (0) 2016.10.28
x64 ADO import  (0) 2016.10.28
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

출처 : http://namacin.egloos.com/1368314



MFC - 다이얼로그 생성시 발생되는 메세지들...

다이얼로그가 생성될 때 발생되는 메세지의 순서로는

DoModal()
PreSubclassWindow()
OnNcCreate()
OnNcCalcSize()
OnCreate()
OnSize()
OnMove()
OnSetFont()
OnInitDialog()
OnWindowPosChanging()
OnMove()
OnWindowPosChanged()
OnWindowPosChanging()
OnNcActivate()
OnActivate()
OnShowWindow()
OnWindowPosChanging()
OnNcPaint()
OnEraseBkgnd()
OnChildNotify()
OnCtlColor()
OnWindowPosChanged()
OnPaint()
OnCtlColor()
OnCtlColor()
OnNcHitTest()
OnSetCursor()
PreTranslateMessage()
OnMouseMove()
OnNcHitTest()
OnSetCursor()
PreTranslateMessage()


클래스 위자드에서 메세지 필터를 Window로 주고 발생하는 모든 메세지에 대해서
간단한 문자 출력용 핸들러를 주었다.

이 상황에서 아무것도 없는 기본 다이얼로그 화면을 DoModal() 함수로 띄웠을 때 
발생하는 메세지들을 캡쳐한것이다.

어떠한 핸들러들은 afx_msg 함수로 메세지 맵에 등록되고 어떠한 함수들은
vitual로 선언되며 메세지 맵에 등록되지 않았다. 이렇게 구분되는 기준은 무얼까?


%%
메세지 맵에 등록되는 함수(핸들러) 들은 정말 윈도가 뿌려대는 메세지에 대한
핸들러이고 virtual로 선언되는 함수들은 메세지에 대한 핸들러가 아니라
프로세스가 진행되면서 당연히 호출되는 함수들이 아닐까 생각된다.

 

어떠한 핸들러들은 publc으로, 어떠한 핸들러들은 protected로 선언된다.
(메세지 맵에 등록된 핸들러들은 모두 protected이다.)

중요한지 아닌지는 모르겠지만 차근차근 알아봐야할 내용들..

 


[메세지에 대한 설명은 www.winapi.co.kr 에서 발췌]

DoModal - 
PreSubclassWindow -

WM_NCCREATE - 
WM_NCCALCSIZE - 
WM_CREATE - 
WM_SIZE - 
WM_MOVE - 
WM_SETFONT - 
WM_ONINITDIALOG - 
 다이얼로그가 메모리에 만들어지고 화면에 보이기 적전에 보내진다고 한다.
 오버랩드 윈도우의 WM_CREATE에 해당한다는데...
 
WM_WINDOWPOSCHANGING - 
WM_MOVE - 
WM_WINDOWPOSCHANGED - 
WM_WINDOWPOSCHANGING - 
WM_NCACTIVATE - 
 비 작업영역(client영역을 제외한 영역을 말하는것이 아닐까..)에 대한 활성 
 또는 비 활성화시 변경되는 내용이 있을 때 보내진다고 한다.
 
WM_ACTIVATE - 
 WM_NCACTIVATE가 비 작업 영역에 대한 메세지라면 이 메세지는 작업영역에 대한
 처리를 위한 메세지..

WM_SHOWWINDOW - 
 윈도우의 보임 상태가 변경되기 직전에 보내진다고 한다. WS_VISIBLE 스타일을 가진 윈도우가
 생성될 때도 보내진다고 한다.
 
WM_WINDOWPOSCHANGING - 
WM_NCPAINT - 
 비 작업 영역을 그려야 할 때 발생한다고 한다
 
WM_ERASEBKGND - 
 윈도우 크기가 변경 되었거나 다른 윈도우에 가려진 부분이 드러났다거나 할 때 배경을 지우기 위해
 이 메셎가 보내진다고 함. WM_PAINT에서 출력하기 전에 먼저 그려진 내용을 지워야 하는데 이 메세지에
 대해 처리를 하지 않으면 "윈도 클래스에 등록된!!" 디폴트 배경 브러시로 지운다고함.
  
 %% 윈도 클래스 배경 브러시가 NULL 일경우 아무것도 하지 않음.
 
WM_CHILDNOTIFY - 
WM_WINDOWPOSCHANGING - 
WM_PAINT - 
 1. 윈도우가 처음 생성되었을 때
 2. 윈도우의 위치가 이동되었을 때
 3. 윈도우의 크기가 변경, 최소, 최대화 되었을 때
 4. 다른 윈도우에 가려져 있다가 드러날 때
 5. 스크롤 될 때
 발생한다고 한다.
 
WM_CTLCOLOR - 
 윈도우가 그려질 필요가 있을 때 발생되어 브러시의 색상을 지정하게 된다.
 
WM_CTLCOLOR - 
WM_NCHITTEST - 
 마우스를 이동하거나 버튼을 누르거나 놓을 때마다 발생. 커서가 있는 위치가 윈도우의 어디쯤인지를
 윈도우에게 질문을 하며 운영체제닌 이 메세지의 리턴값에 따라 마우스를 처리한다고 한다
 
WM_SETCURSOR -

PreTranslateMessage -

뒤로

WM_MOUSEMOVE
WM_NCHITTEST
WM_SETCURSOR

의 메세지가 연속적으로 나오는데 이 메세지는 다이얼로그 생성과는 관계가 없는듯..
또, 각 메세지들의 중간중간에 WindowProc, DefWindowProc, WM_CTLCOLOR, PreTranslateMessage
메세지가 매우 자주 섞여 나왔다.


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

CWnd::Invalidate  (0) 2016.11.15
MFC Dialog Position Save & Load  (0) 2016.11.10
MFC x64 ADO msado15.dll  (0) 2016.10.28
x64 ADO import  (0) 2016.10.28
MSSQL 테이블명, 컬럼명 검색  (0) 2016.10.27