/* =-=-=-=-=-=-=-=-=-=-=-=-=-= Window Messages =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/

#define WM_NULL           0x0000
#define WM_CREATE                   0x0001
#define WM_DESTROY                  0x0002
#define WM_MOVE                     0x0003
#define WM_SIZE                     0x0005
#define WM_ACTIVATE                 0x0006

/* WM_ACTIVATE state values */
#define     WA_INACTIVE             0
#define     WA_ACTIVE               1
#define     WA_CLICKACTIVE          2

#define WM_SETFOCUS                 0x0007
#define WM_KILLFOCUS                0x0008
#define WM_ENABLE                   0x000A
#define WM_SETREDRAW                0x000B
#define WM_SETTEXT                  0x000C
#define WM_GETTEXT                  0x000D
#define WM_GETTEXTLENGTH            0x000E
#define WM_PAINT                    0x000F
#define WM_CLOSE                    0x0010
#define WM_QUERYENDSESSION         0x0011
#define WM_QUIT                     0x0012
#define WM_QUERYOPEN                0x0013
#define WM_ERASEBKGND               0x0014
#define WM_SYSCOLORCHANGE          0x0015
#define WM_ENDSESSION               0x0016
#define WM_SHOWWINDOW               0x0018
#define WM_WININICHANGE             0x001A
#if(WINVER >= 0x0400)
#define WM_SETTINGCHANGE        WM_WININICHANGE
#endif /* WINVER >= 0x0400 */

#define WM_DEVMODECHANGE          0x001B
#define WM_ACTIVATEAPP              0x001C
#define WM_FONTCHANGE               0x001D
#define WM_TIMECHANGE               0x001E
#define WM_CANCELMODE               0x001F
#define WM_SETCURSOR                0x0020
#define WM_MOUSEACTIVATE           0x0021
#define WM_CHILDACTIVATE            0x0022
#define WM_QUEUESYNC                0x0023

#define WM_GETMINMAXINFO            0x0024
// end_r_winuser

// begin_r_winuser
#define WM_PAINTICON             0x0026
#define WM_ICONERASEBKGND      0x0027
#define WM_NEXTDLGCTL               0x0028
#define WM_SPOOLERSTATUS           0x002A
#define WM_DRAWITEM                 0x002B
#define WM_MEASUREITEM              0x002C
#define WM_DELETEITEM               0x002D
#define WM_VKEYTOITEM               0x002E
#define WM_CHARTOITEM               0x002F
#define WM_SETFONT                  0x0030
#define WM_GETFONT                  0x0031
#define WM_SETHOTKEY                0x0032
#define WM_GETHOTKEY                0x0033
#define WM_QUERYDRAGICON            0x0037
#define WM_COMPAREITEM              0x0039
#if(WINVER >= 0x0500)
#define WM_GETOBJECT             0x003D
#endif /* WINVER >= 0x0500 */
#define WM_COMPACTING            0x0041
#define WM_COMMNOTIFY             0x0044  /* no longer suported */
#define WM_WINDOWPOSCHANGING   0x0046
#define WM_WINDOWPOSCHANGED    0x0047

#define WM_POWER                 0x0048
/*
* wParam for WM_POWER window message and DRV_POWER driver notification
*/
#define PWR_OK                   1
#define PWR_FAIL                 (-1)
#define PWR_SUSPENDREQUEST      1
#define PWR_SUSPENDRESUME       2
#define PWR_CRITICALRESUME       3

#define WM_COPYDATA              0x004A
#define WM_CANCELJOURNAL         0x004B
// end_r_winuser

// begin_r_winuser
#if(WINVER >= 0x0400)
#define WM_NOTIFY                0x004E
#define WM_INPUTLANGCHANGEREQUEST  0x0050
#define WM_INPUTLANGCHANGE      0x0051
#define WM_TCARD                    0x0052
#define WM_HELP                     0x0053
#define WM_USERCHANGED            0x0054
#define WM_NOTIFYFORMAT           0x0055

#define NFR_ANSI                    1
#define NFR_UNICODE                 2
#define NF_QUERY                    3
#define NF_REQUERY                  4

#define WM_CONTEXTMENU              0x007B
#define WM_STYLECHANGING            0x007C
#define WM_STYLECHANGED             0x007D
#define WM_DISPLAYCHANGE            0x007E
#define WM_GETICON                  0x007F
#define WM_SETICON                  0x0080
#endif /* WINVER >= 0x0400 */

#define WM_NCCREATE                 0x0081
#define WM_NCDESTROY               0x0082
#define WM_NCCALCSIZE              0x0083
#define WM_NCHITTEST                0x0084
#define WM_NCPAINT                  0x0085
#define WM_NCACTIVATE              0x0086
#define WM_GETDLGCODE             0x0087
#define WM_SYNCPAINT                0x0088
#define WM_NCMOUSEMOVE          0x00A0
#define WM_NCLBUTTONDOWN       0x00A1
#define WM_NCLBUTTONUP           0x00A2
#define WM_NCLBUTTONDBLCLK          0x00A3
#define WM_NCRBUTTONDOWN            0x00A4
#define WM_NCRBUTTONUP              0x00A5
#define WM_NCRBUTTONDBLCLK    0x00A6
#define WM_NCMBUTTONDOWN      0x00A7
#define WM_NCMBUTTONUP          0x00A8
#define WM_NCMBUTTONDBLCLK    0x00A9

#define WM_KEYFIRST                0x0100
#define WM_KEYDOWN                  0x0100
#define WM_KEYUP                    0x0101
#define WM_CHAR                     0x0102
#define WM_DEADCHAR                 0x0103
#define WM_SYSKEYDOWN              0x0104
#define WM_SYSKEYUP                 0x0105
#define WM_SYSCHAR                  0x0106
#define WM_SYSDEADCHAR             0x0107
#define WM_KEYLAST                  0x0108

#if(WINVER >= 0x0400)
#define WM_IME_STARTCOMPOSITION  0x010D
#define WM_IME_ENDCOMPOSITION      0x010E
#define WM_IME_COMPOSITION          0x010F
#define WM_IME_KEYLAST              0x010F
#endif /* WINVER >= 0x0400 */

#define WM_INITDIALOG               0x0110
#define WM_COMMAND                  0x0111
#define WM_SYSCOMMAND              0x0112
#define WM_TIMER                    0x0113
#define WM_HSCROLL                  0x0114
#define WM_VSCROLL                  0x0115
#define WM_INITMENU                 0x0116
#define WM_INITMENUPOPUP            0x0117
#define WM_MENUSELECT               0x011F
#define WM_MENUCHAR                 0x0120
#define WM_ENTERIDLE                0x0121
#if(WINVER >= 0x0500)
#define WM_MENURBUTTONUP          0x0122
#define WM_MENUDRAG                 0x0123
#define WM_MENUGETOBJECT          0x0124
#define WM_UNINITMENUPOPUP        0x0125
#define WM_MENUCOMMAND            0x0126
#endif /* WINVER >= 0x0500 */

#define WM_CTLCOLORMSGBOX        0x0132
#define WM_CTLCOLOREDIT             0x0133
#define WM_CTLCOLORLISTBOX        0x0134
#define WM_CTLCOLORBTN              0x0135
#define WM_CTLCOLORDLG              0x0136
#define WM_CTLCOLORSCROLLBAR    0x0137
#define WM_CTLCOLORSTATIC          0x0138

#define WM_MOUSEFIRST               0x0200
#define WM_MOUSEMOVE                0x0200
#define WM_LBUTTONDOWN              0x0201
#define WM_LBUTTONUP                0x0202
#define WM_LBUTTONDBLCLK            0x0203
#define WM_RBUTTONDOWN              0x0204
#define WM_RBUTTONUP                0x0205
#define WM_RBUTTONDBLCLK            0x0206
#define WM_MBUTTONDOWN              0x0207
#define WM_MBUTTONUP                0x0208
#define WM_MBUTTONDBLCLK            0x0209

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
#define WM_MOUSEWHEEL              0x020A
#define WM_MOUSELAST                0x020A
#else
#define WM_MOUSELAST                0x0209
#endif /* if (_WIN32_WINNT < 0x0400) */

#if(_WIN32_WINNT >= 0x0400)
#define WHEEL_DELTA              120     /* Value for rolling one detent */
#endif /* _WIN32_WINNT >= 0x0400 */
#if(_WIN32_WINNT >= 0x0400)
#define WHEEL_PAGESCROLL            (UINT_MAX) /* Scroll one page */
#endif /* _WIN32_WINNT >= 0x0400 */

#define WM_PARENTNOTIFY          0x0210
#define WM_ENTERMENULOOP         0x0211
#define WM_EXITMENULOOP          0x0212

#if(WINVER >= 0x0400)
#define WM_NEXTMENU              0x0213
// end_r_winuser

MFC에서 다이얼로그를 띄운뒤에 VCL에서 하듯이..
if(AAA)
{
    delete AAA;
    AAA = NULL;
}
로 처리하면 다음과 같은 경고 메시지가 발생한다..

Warning: calling DestroyWindow in CDialog::~CDialog --
 OnDestroy or PostNcDestroy in derived class will not be called.

이럴때는 한가지 작업을 더해주어야만 한다..

정상 종료 시키고 메모리에서 없애주도록 하자...
 if(AAA != NULL)
{
    (AAA)->DestroyWindow();
    delete (AAA); 
    (AAA) = NULL;
}

[원문] http://support.microsoft.com/kb/158552/en-us/
          http://support.microsoft.com/kb/158552/ko

CPropertySheet::DoModal() 또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다.
현상
CPropertySheet::DoModal()
또는 CPropertySheet::Create() 호출하면 예외가 발생할 수 있습니다.
출력 창에 다음 메시지가 표시됩니다.
<program.exe> (Comctl32.dll) 에서 첫 번째 예외가: 0xC0000005: 액세스 위반.
예상되는 예외와 운영 체제에 의해 처리됩니다. 이 경우에만 이러한 방법 중 하나를 호출하면 처음 발생하여 호출에서는 이 첫 번째 예외가 생성되지 않습니다.

원인
CommCtl32.dll 해당 페이지에 대한 리소스를 수정하는 시도합니다. 읽기 전용 섹션에 리소스가 일반적으로 때문에 운영 체제에서 발견되었습니다 첫 번째 기회가 예외를 throw합니다. 운영 체제에서 이 예외를 처리하는 및 리소스를 쓸 수 있도록 모든 다음 정상적으로 완료됩니다. 이 첫 번째 예외가 않고 모든 후속 호출을 완료하려면 리소스를 쓰기 이제 때문에

해결방법
첫 번째 예외가 안전하게 운영 체제에 의해 처리되기 때문에 무시해도 됩니다.

예외를 방지하려면 다음 방법 중 하나를 사용하십시오.
  • 방법 1 : 읽기/쓰기 리소스를 만들기. 다음과 같이 설정을 링커 추가하여 이렇게 할 수 있습니다:
    /SECTION:.rsrc,rw
  • 방법 2 : MS Sans 않습니다 페이지의 글꼴 변경. MFC는 페이지의 대화 템플릿 글꼴을 확인합니다. MS Sans 않으면 MFC 읽기/쓰기 메모리 리소스 복사본을 만들어 및 다음 글꼴을 수정하고 C mCtl32.dll 전달합니다. DLL 페이지 서식 파일에 쓸 때 메모리 읽기 쓰기 기록합니다. Therfore, 예외가 throw될 수 없습니다.
  • 방법 3 : try/catch(...) 블록을 속성 시트를 만드는 호출이 없는 함. 대신, catch 블록에 특정 예외 catch 합니다.
속성 시트를 서버의 OLE 자동화 서버의 메서드를 통해 호출한 일부이면, 읽기/쓰기 OLE 예외를 catch 때문에 처음 두 방법 중 하나를 사용하여 리소스를 확인하십시오.

참고 읽기/쓰기 리소스를 변경할 때 리소스는 페이지 파일에 쓸 수 있습니다.

현재상태
이 동작은 의도적으로입니다.

예제
   /* Compile options needed: default
   */

   /***** this code will cause unpredictable results *****/
   try
   {
       sheet.DoModal();
   }
   catch(...)
   {
   }

   /***** this code is OK *****/
   try
   {
       if (0 == sheet.DoModal())
           throw "DoModal() failed!";
   }
   catch(char * str)
   {
       TRACE ("Exception thrown: %s\n", str);
   }
 
참조
자세한, Microsoft 기술 자료에 있는 문서를 보려면 다음 문서 번호를 클릭하십시오.
126630  (http://support.microsoft.com/kb/126630/ ) 읽기 전용 리소스 섹션이 있습니다.


본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Foundation Class Library 4.2 을(를) 다음과 함께 사용했을 때
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ .NET 2003 Standard Edition
요즘....

그냥... 그렇다.....

신나는 일도 없고......

TV를 봐도 맨날 우울한 소식이고...
야구를 봐도 그리 흥이 나지 않고...
하는일도 별로 재미도 없고.....

신나는 일이 있어야 되는데... ㅠㅠ

'0.일상다반사 > 01.내 생각..' 카테고리의 다른 글

새로운 작업 환경  (0) 2009.11.28
▶◀ 정치에 관심을 갖자....  (0) 2009.05.26
▶◀ 기타치던 대통령  (0) 2009.05.24
나두 5월 31일 멘트에서는 우리 지금 각하가 먼저 생각났다...
나만 그런건 아니겠지...

CBS <시사자키> 5월 24일 오프닝멘트 

온 나라가 충격에서 아직 헤어 나오지 못하고 있습니다. 시사자키, 주일 진행을 맡은 저는 시사평론가 김용민입니다.

노무현 전 대통령에 대한 역사의 평가, 이제부터 본격화되겠죠? 평가가 시작된다면, 이 기준 반드시 적용해야 한다고 봅니다. 서거한 지도자가 과연 재임 시절에 국민을 존엄하게 대했는지 그 여부를 말입니다.


구체적으로, 대통령이 현직에 있을 때 자신을 반대하는 이들에 대해 어떻게 대했는지 짚어봐야 합니다. 인터넷이나 매체에서 혹은 오프라인에서 자기를 비판했다고 언로를 차단하고 뒤를 캐고 혹은 규탄집회 자체를 봉쇄하고 물대포 쏘고 진압봉 휘두르고 붙잡아 가 겁박했는지 따져봐야 합니다.

다음은, 약자에 대해 배려했는지도 짚어봐야 합니다. 이를테면, 종합부동산세, 또 부동산 규제 다 없애고 사교육을 번창 하게 하는 방식으로 있는 사람 우대하고 없이 사는 사람 박대했는지 따져봐야 합니다.

마지막으로는, 권력을 본인을 위해 사용했는지 짚어봐야 합니다. 정적에 대해 공권력을 동원해 압박하고 망신주고 처벌했는지 심지어 정적이 세상을 떠났는데도 분향소마저 못 꾸리게 경찰력을 남용했는지 또 방송사 사장 같은 요직을 대선 때 고생했던 사람에게 선물로 하사했는지 따져봐야 합니다.

국민은, 자신을 존엄하게 대한 지도자가 설령 힘이 없어진다 하더라도 똑같이 존엄하게 대합니다. 노무현 전 대통령이 과연 존엄한 대우를 받을만한 그런 지도자였는지는 요 며칠 동안 나타날 추모 행렬 또 열기와 정비례할 것입니다.

한편, 이런 의문도 듭니다. 이명박 대통령은 퇴임한 뒤에, 즉 힘이 없어지는 그 때에 과연 국민으로부터 존엄하게 예우 받는 지도자가 될지 말입니다. 이 질문에 대한 답은 3년 반 뒤 애청자 여러분의 몫으로 남겨두겠습니다.


CBS <시사자키> 5월 31일 오프닝멘트

갑자기 이 대통령 생각이 납니다.

이 대통령은 교회 장로입니다.
이 대통령은 대표적인 친미주의자입니다.
이 대통령은 친일파와 손잡았습니다.
이 대통령은 정적을 정치적 타살했다는 비난을 듣고 있습니다.
이 대통령은 북한을 자극해 결국 도발하도록 조장한 것 아니냐는 의혹도 사고 있습니다.
이 대통령은 야당을 인정하려 들지 않았습니다. 따라서 정치는 날마다 꼬였습니다.
이 대통령 주변에는 아첨꾼들로 들끓었습니다.
이 대통령은 반정부 시위가 일어나니까 경찰을 앞세워서 가혹하게 탄압했습니다.
이 대통령은 그러다가 권좌에서 쫓겨나게 됩니다.
이 대통령은 해외로 망명하더니 그곳에서 비극적인 최후를 맞게 됩니다.
이 대통령은 결국 국민들의 외면으로 국장이 아닌 가족장으로 쓸쓸하게 세상과 작별하게 됩니다.

여기서 말하는 이 대통령은...
이승만 대통령입니다.
현재까지는...

'0.일상다반사 > 09.다른이 생각' 카테고리의 다른 글

실리콘이란....  (0) 2010.03.10
대한민국은 섬나라다?  (0) 2009.05.10
책이 제일이다  (0) 2009.03.16



 

정치가 썩었다고
고개를
돌리지 마십시오

낡은 정치를
새로운 정치로 바꾸는 힘은
국민 여러분에게 있습니다.

우리 아이들이 커서
살아가야 할
세상을 그려 보세요.

행복한 변화가
시작됩니다.


2002년 대선 홍보영상중에서..

잊지 않겠습니다.
그리고 꼭 당신의 뜻대로 아이들의 커서 살아갈 세상을 아름답게 그리도록 노력하겠습니다.


'0.일상다반사 > 01.내 생각..' 카테고리의 다른 글

요즘....  (0) 2009.07.01
▶◀ 기타치던 대통령  (0) 2009.05.24
사람이 항상 고상할 필요는 없다  (0) 2009.03.25

당신이 그립습니다..

왜 그리 먼저 가셨습니까...

이전에 만들었던 Code Generator의 일부 버그 수정

Ver 1.2.0.0
- 2차원 배열일때의 줄넘김 문제
- 일부 텍스트 변경
- 버튼을 아이콘 버튼으로 변경


+ Recent posts