IT_Programming 1309

이탤릭체 텍스트를 출력하려면 / CString 타입의 SQL 문장을 인자로 넘길때

"><이탤릭체 텍스트를 출력하려면> 트루타입이나 GDI 출력 글꼴을 이용하면 회전한 텍스트의 출력이 가능하다고 하던데, 어떻게 하면 되는지요. 물론 가능합니다. 어떤 하드웨어 장치는 회전하는 래스터 글꼴을 지원하기도 합니다. 하드웨어가 추가적인 문자 회전 기능을 지원하는지 확인하려면 TEX..

메뉴 항목을 사용할 수 없게 하는 MFC 특성을 무효화하려면..

"><다이얼로그박스에 툴팁을 추가하려면> 비주얼 C++ 5.0으로 만든 애플리케이션의 다이얼로그박스에 툴팁을 나타내고 싶습니다. 툴팁은 CToolTipCtrl 클래스를 이용하면 쉽게 구현할 수 있습니다. 먼저 Create()를 호출해서 툴팁 객체를 생성합니다. 그리고 나서 AddTool()를 호출해 각각의 컨트롤과 툴팁 ..

스플리터 윈도우의 크기를 고정하려면 / 다이얼로그 폰트를 변경하려면

"><스플리터 윈도우의 크기를 고정하려면> MFC 클래스 위저드로 스태틱 스플리터(Static splitter) 윈도우를 이용해 하나의 프레임에 두 개의 뷰를 갖고 있는 예제를 작성했습니다. 스플리터 윈도우에서 크기 변경이 불가능하도록 만들려면 어떻게 해야 하나요. 스플리터 윈도우에서 크기 변경이 안되도..

LRESULT와 CALLBACK의 데이터형에 관해 / I/O 포트 제어법

"><LRESULT와 CALLBACK의 데이터형에 관해> 윈도우 프로시져를 보면 LRESULT와 CALLBACK이라는 데이터형이 있습니다. 책에서 보면 LRESULT는 윈도우 프로시저에서 반환되는 데이터형이고 CALLBACK은 FAR PASCAL을 재정의한 것으로 콜백루틴이나 프로시저에서 사용한다고 나와 있더군요. LRESULT는 윈도우 프로시저에..

다이얼로그 박스 동적으로 키우기 / 도스&콘솔 프로그램 관련

"><다이얼로그 박스 동적으로 키우기> GetWindowRect( &test ); int x,y,cx,cy; x = test.left; y = test.top; cx = (test.right-test.left) + 30; cy = (test.bottom-test.top) + 30; MoveWindow(x,y,cx,cy, TRUE ); 위처럼 하면 다이얼로그 박스가 30 커집니다. <도스&콘솔 프로그램 관련(창안띄우기,StdOut, Wait)> 이 코드는 DOS 프로그램 또는 Win32 ..

동적으로 컨트롤 크기 변경하기 / 릴리즈 모드에서 브레이크 포인트 사용

"><동적으로 컨트롤 크기 변경하기> CRect rect; m_Btn.GetWindowRect(rect); int x,y,cx,cy; x = rect.left; y = rect.top; cx = (rect.right-rect.left) + 30; cy = (rect.bottom-rect.top) + 30; m_Btn.MoveWindow(x,y,cx,cy,TRUE); // m_Btn은 버튼 변수. 위는 버튼 컨트롤에 대해서 했는데 다른 컨트롤도 위처럼 사용하시면 됩니다. "><릴리즈 모드에서 ..

Visual C++의 유용한 단축키 / ALT+F4로 종료 안되게 하려면

"><Visual C++의 유용한 단축키> * Ctrl+F3 : 현재 커서가 있는 위치의 단어가 나오는 다음 위치를 찾아줍니다. Ctrl+Shift+F3을 누르면 이전 걸 찾아주죠. * Ctrl+H : replace입니다. 특히 일정부분안의 변수 이름을 변경하거나 할 때 범위를 선택한 다음에 Ctrl+H를 누르면 편하죠. * Ctrl+], Ctrl+E : 괄호 짝을 맞춰줍니..

키보드로 마우스 커서 움직이기 / 파일 등록정보 보여주기

"><키보드로 마우스 커서 움직이기> 제목 그대로 키보드로 마우스 커서를 움직이는 코드입니다. CView에서 OnKeyDown 함수를 다음과 같이 고치면 됩니다. void CCGhostView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default CPoint ptCurPos; // 현재 커서의 위치 if(::GetCursorPos(..

새창을 활성화시키기 않고 생성시키기 / 생성한 Class를 간단히 완전제거

"><새창을 활성화시키기 않고 생성시키기> 보통의 팝업윈도우를 생성할 때에는 일반적인 방법으로는 팝업 윈도우가 생성되면서 그 윈도우가 활성화 되고 포커스가 가게 됩니다. 가끔 이러한 현상을 원하지 않을 때가 있을수 있습니다. 그럴땐 이렇게 해주면 됩니다. 우선 1. WS_VISIBLE속성 없이 창을 ..

데이터 형변환 / VC++에서 시리얼 포트로 데이터 비트 발생

"><데이터 형변환> 현재 프로그램 상에서 에디터 창으로 입력받은 아스키 데이터 20바이트를 헥사값 10바이트로 바꿔서 저장한 후 전송하려 합니다. 예를 들면 '3', '2' (ASCII - 2 byte)를 입력받아 헥사값 '32'로 저장하려는 것이지요(HEXA - 1 byte). '3' '2' 'A' '2' '1' ....'9' '9' '0' (화면상에서 20자리 데이터 입력..