C++/(MFC)On Sizing 윈도우 리사이징 컨트롤 크기 조정

Full text search for "메시지"


Case-sensitive searching
Display context of search results
  • C++/MFC 메시지 맵에 대해 . . . . 44 matches
         MFC 메시지 맵의 구현과 동작 방식
         {{{+1 메시지 맵 Message Maps (MFC) }}}
         윈도우 프로그램을 만들 때 메시지가 오고가는 것을 제어하고 싶을 때, Win32 API 에서는 GetMessage()를 이용해 TranslateMessage()와 DispatchMessage() 를 이용해 윈도우 메시지를 제어했다. MFC에서 Win32 처럼 메시지를 받고 메시지를 처리하는 것이 메시지 맵이다.
         {{{+1 MFC의 메시지 전달 }}}
         MFC의 WinMain 함수가 시작되면 CWinApp와 CWinThread의 인스턴스를 하나씩 만든다. 그리고, CWinApp의 Run 메서드가 메시지 루프를 돌면서 CWnd* m_pMainWnd 멤버에 메시지를 보낸다. m_pMainWnd 은 CMainFrame : public CFrameWnd 이다. 그렇게 되면 메시지는 Chain of Responsibility 패턴으로 MainFrame -> MDI Child Frame -> (Pre) View -> Document -> Document Template 순서로 메시지가 전달된다.
         대부분의 메시지는 프로그램에 대한 사용자의 반응이다. 커맨드는 메뉴 아이콘 또는 툴바 버튼 마우스 클릭이나 키 입력에 의해 생성된다. 사용자는 또한 윈도우 이동이나 리사이징 등으로 윈도우 메시지를 생성할 수도 있다. CCmdTarget 클래스는 커맨드 메시지들을 수신하고 응답할 수 있도록 도와준다. 그렇기 때문에 이런 기능을 필요로 하는 클래스들은 이 클래스를 상속하면 된다. CCmdTarget 클래스는 메시지 아이디를 그에 대응하는 커맨드 핸들러에 매핑해주는 메시지맵 인터페이스를 갖고 있다. 이 메시지맵 인터페이스를 통해서 커맨드 메시지는 이 메시지의 핸들러를 제공하는 클래스들을 순회하게 된다.
         실질적인 메시지 맵을 표현하는 구조체로 부모 클래스의 메시지 맵을 구하는 함수 포인터와 현재 클래스의 메시지 맵 엔트리 리스트 가지고 있다.
         MFC는 각 클래스 별로 메시지 맵을 연결 리스트로 유지한다. 현재 클래스의 메시지 맵에 명령에 해당하는 메시지 맵 엔트리가 없을 경우 부모 클래스 메시지 맵에서 해당하는 메시지 맵 엔트리가 있는지 검사한다.
         메시지 맵에서 윈도우 메시지메시지를 처리하는 함수를 실질적으로 맵핑하는 구조체이다.
         헤더에서 메시지 맵을 선언한다. 클래스 선언의 마지막에 사용하거나 DECLARE_MESSAGE_MAP()을 사용한 이후에 멤버를 선언할 경우 반드시 액세스 타입(private, public)을 새로 지정해줘야 한다.
         메시지 맵 구현 코드를 생성한다. 해당 클래스의 소스(.cpp)에 아래와 같은 형식으로 작성된다.
         매크로에 의해 현재 클래스의 메시지 맵 참조로 확장된다.
         {{{+1 MFC 메시지 전달 순서 }}}
         {{{+1 MFC 메시지 맵이 필요한 이유 }}}
         MFC 메시지 맵이 이런 구조로 만들어진 이유가 있다. 상속 관계에 있는 클래스는 자식 클래스의 메시지부터 거슬러 올라가기 때문에 메시지 핸들러가 가상 함수에 오버라이딩 되어야 할 것 같이 느껴진다. 그런데 MFC 클래스는 메시지 핸들러 함수가 가상 함수로 정의되어 있지 않다. 동적 바인딩을 하기 위해선 클래스에 4바이트(32비트 윈도우의 경우) 메모리 주소를 저장할 공간이 더 필요하다(동적 바인딩 참조). 그런데 만약 모든 메시지 핸들러 함수가 가상 함수로 되어 있다면 메시지 핸들러가 대략 200여개 있으니 윈도우 클래스마다 대략 800바이트 이상이 더 필요하게 된다. 프로그램이 하나 실행되면 뷰, 툴바, 각종 컨트롤 등 기본적으로 수 개~수십 개의 윈도우가 생기는데 당연히 이건 대단한 자원 낭비다.
         메시지 맵은 매크로를 이용해 message map entry macro에 등록한 함수만 가상 함수처럼 동적 바인딩을 해준다. AFX의 파생 클래스마다 모두 이런 골격을 만들어 뒀기에 가능하다. 개발자는 사용할 윈도우 메시지 엔트리를 등록하고 처리할 함수를 만들면 모든 일이 끝난다.
  • Git . . . . 9 matches
         ==== commit 메시지 수정 ====
         마지막 커밋을 수정하는 방법은 매우 간단하다. 이 명령으로 텍스트 편집기가 열리고 메시지를 수정하면 된다.
         ===== 커밋 메시지를 여러 개 수정하기 =====
         여기서 커밋 목록 순서는 위쪽이 오래된 것이다. 마지막 세 번째 커밋 메시지를 수정하려면 pick을 edit로 변경하고 저장 및 종료한다.
         저장하고 편집기를 종료하면 Git은 목록에 있는 커밋 중에서 가장 오래된 커밋으로 이동하고, 아래와 같이 다음은 어떻게 해야 하는지 메시지를 보여준다.
         마지막 커밋 메시지를 변경했을 때와 같이 [[code(git commit --amend)]] 으로 메시지를 변경하고 [[code(git rebase --continue)]]로 rebase를 계속한다. 이것을 반복하면 어떤 위치의 커밋 메시지도 수정할 수 있다. 다시 말하지만 주의할 점은 이미 서버에 push된 커밋은 rebase를 하면 SHA-1 값이 바뀌기 때문에 동료 개발자들을 혼란스럽게 할 가능성이 있다. 될 수 있으면 수정하지 말아야 한다.
         ==== log --pretty= commit 메시지의 첫 번째 줄만 출력 ====
  • Windows2003Tips . . . . 8 matches
         03. 로그온 때 메시지 띄우기
         [기타3] 로그온 때 메시지 띄우기
         네트워크에 연결된 PC를 켜면 맨 처음 로그온 화면이 뜬다. 이때 깜찍한 메시지를 넣어준다면 하루의 시작이 조금은 상쾌해지지 않을까?
         ⑦ 같은 방법으로 `LegalNoticeCaption`이라는 문자열 값을 만들고 [값 데이터]에 메시지 상자의 제목을 적는다. [확인] 버튼을 누른다. ⑧ PC를 껐다 켜면 설정한 내용에 따른 메시지 상자가 표시된다.
         하드디스크를 하나의 드라이브로 하고 싶으면 다음과 같이 하면 됩니다. fdisk기본 메뉴에서 파티션을 만들기위해 1번을 선택하고 , 그러면 위와 같이 세 개의 하위 메뉴가 나타난다. 여기서, 다시 1번을 선택을 하면 파티션을 하나로 쓸것이냐 아니냐 하는 [Y/N]의 선택 항목이 나오게 되는데 이때에 "Y"를 선택을 하면 된다. 이렇게 "Y"를 선택을 하게 되면 다시 부팅을 한다는 메시지가 나오게 되는데 부팅 후 Format을 하면 모든 작업이 끝나게 된다.
         먼저 파티션을 하나로 나눌 때처럼 일단은 [Y/N]가 나오는 항목까지 가서 이번에는 "Y"가 아니라 "N"를 치면 커서가 밑으로 가면서 30000 라는 숫자와 함께 깜박거리게 된다. 이때에 5000 이라고 치고 엔터를 치면 기본 메뉴화면으로 돌아 가게 되는데 다시 1번을 누른 다음에 이번에는 2번을 누르고 들어가면 남아 있는 용량인 25000 이라는 숫자와 함께 커서가 깜박 거리게 된다. 이 숫자가 나오면 그냥 엔터를 치게 되면 어떤 메시지와 함께 다시 25000 이라는 숫자가 나오게 되는데 이때에 주의를 하셔야 해야 한다. 만일 하드디스크를 두개로 나누어서 사용을 하고 싶다면 이곳에서 그냥 엔터를 치면 되고 그렇지 않고 3개로 나누어서 사용을 하고 싶다면 이곳에서 다시 5000 이라는 숫자를 입력하게 되면 다시 20000 (30000 - 5000+5000 ) 이라는 숫자가 나오게 된다. 하드디스크를 더 분할을 하고 싶다면 다시 20000 보다 적은 숫자를 넣어 주면 되고 끝내고 싶다면 그냥 엔터를 치면 된다.
         시스템을 켜거나 하드디스크 부트 섹터에 쓰기를 할 때 바이러스를 발견하면 작동을 멈추고 에러 메시지를 띄운다. 값을 enabled로 하면 바이러스를 검사하는 과정을 건너뛴다.
  • SSL/TLS 통신 과정 . . . . 5 matches
          1. Client Certificate(Optional) : 서버로부터의 Certificate Request 메시지에 응답한다.
          1. Certificate Verify(Optional) : 자신의 서명용 개인키로 서명된 서명 값이 전송된다. 이것을 수신한 서버는 Client Certificate 메시지에 명시된 클라이언트의 서명용 공개키로 확인한다.
          1. (Server) Finished : 협상과정에서 전송된 모든 메시지에 대하여 ''암호방식, 키교환방식, 서명방식, 압축방식'' 을 적용하여 생성된 검증값을 수납한 메시지 이다.
          1. 암호화된 응용계층 메시지의 전송과정이 수행된다.
  • Blog/2008-12 . . . . 3 matches
         * 내장된 PHP gettext를 이용하여 Dynamic 메시지 변환 및 사용 가능하도록 메시지파일 병합
         * 각 플러그인별 메시지의 보다 손쉬운 국제화 가능
  • irc logs/2013-2017 . . . . 3 matches
         ##새 메시지
         [14:55:42] 20<hyacinth>30 확실히 커밋 메시지는 80자로 끊어 써야 보기 이쁘군요
         [18:52] <+hyacinth> 권오창 (win3200) 권오창님께 메시지 보내기권오창님을 내 주소록에 추가합니다.권오창님의 개인게시판 가기
  • Blog/2014-05 . . . . 2 matches
         * IPO/IPA 최적화 기능은 Objective-C 기반으로 만들어진 코코아 프레임워크와 맥/아이폰 앱에게 좀 더 의미가 특별하다. 다이나믹 바인딩을 기본으로 하는 Objective-C 언어와 런타임의 구조적인 특성 때문이다. Objective-C로 개발된 앱은 실행을 시켜서 객체에 메시지를 보내봐야만 메서드가 존재하는지 확인할 수 있다. 따라서 메시지를 보내지 않을 메서드들도 호출될지 모르기 때문에 모두 실행 파일이나 라이브러리에 포함되어야 한다. 하지만 IPO/IPA 기능을 통해 최적화된다면 불필요한 메서드나 변수들이 제거됨으로써 더 가벼운 코드가 만들어지고 더 빠르게 동작할 수 있다.
  • C++ . . . . 2 matches
         ["/모든 윈도우 메시지 종류 HEX DECIMAL 값"]
         ["/MFC 메시지 맵에 대해"]
  • C++/MFC 헤더 정리 방법 . . . . 2 matches
          1. 메시지 맵 선언 매크로는 헤더 맨 끝에 둔다. -> [[Code(DECLARE_MESSAGE_MAP())]]는 [[Code(protected)]] 엑세스 타입 키워드를 포함하고 있기 때문에 매크로를 클래스 마지막에 선언하거나 매크로를 사용한 이후에 멤버를 선언할 경우 반드시 액세스 타입(private, public)을 새로 지정해줘야 한다.
          1. MFC 클래스 멤버 함수 [[Code(virtual ...)]], 메시지 맵 함수 [[Code(afx_msg ...)]] 순으로 정리한다.
  • LocalKeywords . . . . 2 matches
         C++ 메시지 윈도우
         C++ 메시지 윈도우 장치
  • irc logs/2011 . . . . 2 matches
         [13:42] <+듀르> 나에게 비밀메시지를 보냈군
         [11:21] <@hyacinth> 저 나갈 때 종료 메시지 뭐라고 나오는지 복사해 주실 분.. -_-
  • omr1/3/001 . . . . 2 matches
         메시지 큐, Message Queue
         메시지 펌프, Message Pump
  • Blog/2009-06 . . . . 1 match
         '''트위터'''(twitter)는 무료 소셜 네트워킹 겸 마이크로-블로깅 서비스이다. 사용자들은 단문 메시지 서비스, 인스턴트 메신저, 이메일 등을 통해 "트위트"(140바이트 한도 내의 문자, 다른 말로 업데이트)를 트위터 웹사이트로 보낼 수 있다. 트위트는 사용자의 프로파일 페이지에 표시되며, 또한 이 트위트는 다른 사용자들에게로 전달된다.
  • Blog/2014-09 . . . . 1 match
         ["C++/MFC 메시지 맵에 대해"]
  • Blog/2015-03 . . . . 1 match
         푸시불렛(Pushbullet)이란 앱+크롬 확장이 있는데 매우 편하다. 안드로이드 푸시 메시지를 PC와 연동하는 서비스인데 크롬을 사용하고 있다면 스마트폰에서 푸시가 오면 크롬 알림으로 동시에 볼 수 있고 크롬에서 스마트폰으로 푸시를 날릴 수도 있다.
  • Blog/2022-11 . . . . 1 match
         또한 WikipediaKo:줄리언_반스 의 부커상 수상작인 소설 『예감은 틀리지 않는다(The Sense of an Ending)』는 줄거리를 단순하게 보면 옛 친구가 남긴 일기를 찾아가는 이야기이지만 작가가 담은 메시지는 의심할 바 없이 진실에 관한 이야기다.
  • C++/모든 윈도우 메시지 종류 HEX DECIMAL 값 . . . . 1 match
         #keywords C++,메시지,윈도우
  • C++/새 장치 감지 WM_DEVICECHANGE . . . . 1 match
         #keywords C++,메시지,윈도우,장치
  • HelpOnConfiguration . . . . 1 match
         config.php에 $security_class="needtologin";를 추가하면 로그인 하지 않은 사람은 위키 페이지를 고칠 수 없게 된다. 로그인을 하지 않고 편집을 하려고 하면 경고 메시지와 함께, 가입을 종용하는 간단한 안내가 나온다.
  • MoniWikiPo . . . . 1 match
         msgstr "죄송합니다. 특정 메시지가 금지되어 페이지를 저장할 수 없습니다."
  • REST와 RESTful API의 차이 . . . . 1 match
          4. 메시지 형식: RESTful API에서는 JSON 형식을 많이 사용합니다. REST에서는 XML 형식을 많이 사용했지만, 요즘에는 JSON이 더 많이 사용됩니다.
  • Tools . . . . 1 match
         OutputDebugString으로 출력되는 메시지 뷰어
  • UI References . . . . 1 match
          * ["/팝업 메시지"]
  • VS2012 이전 버전의 응용프로그램에서 만들어졌으므로 . . . . 1 match
         솔루션 마이그레이션을 했는데도 프롬프트 상에서 빌드할 때 이런 메시지가 떠서 여기로 들어왔지요? 솔루션에는 있지만 실제 프로젝트 파일은 없어서 안 열렸던 프로젝트가 분명 있을 겁니다.
  • irc logs . . . . 1 match
         새 메시지
  • mym/2010_01_03 . . . . 1 match
         시스템 전체적으로 interal한 메시지 교환을 설계 가능
  • omr1/404 . . . . 1 match
         ==== 단순한 기사 수집 메시지 [0-1] ====
  • omr1/501 . . . . 1 match
         지금은 SIP 인증은 따로 입력을 받지 않고 자동으로 이루어진다. 인증이 성공하면 SIP 로그에 "Registration on sip:<프록시 주소> success" 라는 메시지가 출력된다.
  • 메모장 . . . . 1 match
         시스템 전체적으로 interal한 메시지 교환을 설계 가능
  • 학부/4학년 . . . . 1 match
         지금은 SIP 인증은 따로 입력을 받지 않고 자동으로 이루어진다. 인증이 성공하면 SIP 로그에 "Registration on sip:<프록시 주소> success" 라는 메시지가 출력된다.
Found 30 matching pages out of 1201 total pages

You can also click here to search title.