본문 바로가기

컴퓨터/언어,프로그래밍

[MFC Dialog] OnKeyDown message 1 afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags ); nChar Specifies the virtual key code of the given key. For a list of of standard virtual key codes, see Winuser.h nRepCnt Repeat count (the number of times the keystroke is repeated as a result of the user holding down the key). nFlags Specifies the scan code, key-transition code, previous key state, and context code, as shown in.. 더보기
[VC++] MFC 기본 요점 정리 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style: DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시 DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 CBrush *oldBrush=pDC->Select.. 더보기
[VC++] SetTimer()함수, KillTimer()함수 1. SetTimer 함수는 일정시간 마다 WM_TIMER 메시지를 발생시킨다. 2. WM_TIMER 메시지가 발생하면 OnTimer 함수를 호출한다. SetTimer(0,1000,NULL); //SetTimer함수는 아래와 같다. //SetTimer(타이머번호, 설정된 시간간격, 타이머 메시지가 발생되었을때 실행되는 함수 // 설정된 시간이 '1000' 이면 1초 간격을 뜻한다. SetTimer(1,800,NULL); void Test::OnTimer(UINT nIDEvent) { if ( nIDEvent == 0 ) { // ID가 0인 타이머 } if ( nIDEvent ==1 ) { // ID가 1인 타이머 } } 이런식으로 하면 여러개의 타이머를 서로 다른 시간에 작동 시킬수 있다. 한가지더.... 더보기
MFC Timer (SetTimer,OnTimer,KillTimer,ON_WM_TIMER) 일정 시간 뒤에 원하는 업무를 처리하기 사용합니다. 비슷한 기능으로 Sleep( millisecond ) 를 입력하는데요. Sleep을 이용할 경우 해당 쓰레드 전체가 멈추어 버리고 그 멈춤에 따라 외부 인터럽트입력(키보드, 마우스, 등등)이 주어지게 되면 버퍼에 쌓였다가 한번에 처리되는 일이 발생하게 되버립니다. 그래서 그걸 방지하기 위해 Timer를 사용하는데 사용방법은 다음과 같습니다. -등록 BEGIN_MESSAGE_MAP(CGroupChatWindow, CDialog) ... ON_WM_TIMER() ... END_MESSAGE_MAP() 메세지 맵에 'ON_WM_TIMER()'를 등록 -타이머 시작 SetTimer(1394,1000,NULL); 파라매터 1) Timer의 ID값 2) SetTi.. 더보기
[MFC] WM_CLOSE, WM_DESTROY, WM_QUIT의 차이점 [MFC] WM_CLOSE, WM_DESTROY, WM_QUIT의 차이점 WM_CLOSE 윈도우가 닫히기 전에 이 메시지가 전달되며 메인 윈도우인 경우는 응용 프로그램이 종료된다는 신호이다. 이 메시지를 처리하지 않고 DefWindowProc으로 보내면 DestroyWindow 함수를 호출하여 윈도우를 파괴하도록 한다. 이 메시지가 전달되었을 때는 아직 윈도우가 파괴된 것이 아니므로 윈도우가 파괴되는 것을 중간에 차단할 수 있다. 미저장 파일이 있거나 프로그램을 종료할 상황이 되지 않을 때 사용자에게 메시지 박스를 통해 종료 사실을 확인시킬 수 있으며 이 메시지를 가로채서 단순히 return하면 DestroyWindow가 호출되지 않도록 할 수 있다. 예를 들어 프로그램을 사용자가 닫을 때 "저장할까요?.. 더보기
[HTML] 텍스트 박스를 이쁘게 만들기 홈페이지 만드려는데여.. 텍스트 박스로 입력받을때 걍이렇게 만들면 투박하자나요.. 요새 글씨두 색깔로 입력되고 또 박스도 칼라에다가 그냥 선만 그어져 있는데 입력되는 거 많던데 그거 어떻게 만드나요?? 색깔이뿐걸루요.. Style을 지정해 주면 됩니다. border-top은 위쪽라인, bottom은 아랫쪽, left는 왼쪽, right는 오른쪽라인 입니다. 그리고 solid든 직선 dotted는 점선이구요. #(숫자)는 색상이고, (숫자)px는 크기입니다. font-size: 9pt는 글자크기, color는 글자색을 바꿉니다. size는 입력상자의 크기를 정하구요. 아래는 점선으로 된 상자를 보여줍니다. 더보기
[PHP] urlencode(), base64_encode() 함수 [PHP] urlencode(), base64_encode() 함수 urlencode() / urldecode(): 하나의 특수문자, 한글, multi-byte 문자를 %XX 형식으로 변환합니다. 길이가 좀 길어진다는게 단점입니다. 또한 [0-9a-zA-Z] 등은 encode 하지 않아 그대로 보인다는 단점(?) 도 있습니다. 보안성이 없거나 크게 요구되지 않는 경우나 일반적으로 많이 사용하는 방법이며, URL GET 방식으로 어떤 값을 넘길때도 많이 사용됩니다. base64_encode() / base64_decode() 변환된 문자는 [0-9a-zA-Z+/=] 문자들로 구성되어지며 역시 약간 길이가 길어집니다. 쉽게 눈으로 판독(decode)할 수 없다는 장점(?)도 있습니다. 저수준의 보안성이 요구.. 더보기
★ 자바스크립트의 모든것 ★ HTML에 JavaScript 삽입 HTML에 JavaScript 코드 파일 삽입 변수의 대소문자 구분 변수에 포함된 데이터의 형을 지정하지 않고, JavaScript 인터프리터가 변수에 포함된 데이터 형을 추적하고 변환. JavaScript 데이터 형 숫 자 형 : 정수와 부동 소수 BOOLEAN : true, false STRING : 작은 따옴표나 큰 따옴표에 들어가 있는 값으로, 특수문자 포맷 사용시에는 '\'와 함께 사용. null : 아무런 값도 없는 것으로, 변수를 초기화 시키거나 어떤 값이나 이벤트를 지울 때 사용됨 undefined : 변수만 만들고, 값을 할당하지 않은 상태 유형간의 변환 스트링 피연산자가 비스트링 연산자와 사용된 경우 다른 연산자를 모두 스트링으로 변환 BOOLEAN값.. 더보기