본문 바로가기

프로그래밍/VC/VC.NET/Cs

GDI 객체 이용하기 윈도우즈에서 화면에 그림을 그리는 넘들을 GDI객체라 말한다. MFC에서 GDI객체를 표현하는 클래스는 CGdiObject클래스에서 상속받는다. 그래픽오브젝트 CPen 점,선, 특정영역 테두리를 그린다. 검정색, 실선, 1픽셀 크기가 디폴트 CreatePen, CreatePenIndirect 이용 CBrush 내부 칠하기. 무늬 없는 흰색이 디폴트 CreateSolidBrush, CreateHaHatchBrush,CreatePatternBrush,CreateDBPatternBrush, CreateBrushIndirect CFont 글꼴을 조정. CreateFont, CreateFontIndirect CBitmap 비트맵을 출력한다. CreateBitmapIndirect, CreateCompatibleBi.. 더보기
소리재생 .NET Framework 개발자 가이드 방법: 소리 재생 이 예제에서는 플랫폼 호출을 사용하여 두 개의 WAV 파일을, 하나는 포함 리소스로 재생하고 다른 하나는 콘텐츠로 재생하는 방법을 보여 줍니다. Microsoft Visual Studio 2005에서 WAV 파일을 포함 리소스로 구현하려면 속성 창에서 빌드 작업 속성을 "포함 리소스"로 설정합니다. 명령줄에서 컴파일하는 경우 포함 리소스의 컴파일에 대한 내용을 보려면 방법: 명령 프롬프트에서 컴파일을 참조하십시오. 이 예제에서는 Windows CE에서 CoreDll.dll을 사용하여 다음과 같은 네이티브 코드 기능을 제공하는 Sound 클래스를 정의합니다. 파일 이름이나 스트림을 사용하여 소리를 재생하는 플랫폼 호출 메서드 선언 플랫폼 호출 메서.. 더보기
텍스트 출력, 속성지정함수 CDC :: TextOut() - 문자열을 지정위치와 속성으로 출력 CDC :: TabbedTextOut() - TextOut과 같지만, 탭(\t)을 공백으로 확장 CDC :: DrawText() - 지정된 사각 영역에 문자열 포멧 CDC :: ExtTextOut() - TextOut과 비슷, 클리핑 옵션이 있다. CDC :: SetTextColor() CDC :: GetTextColor() - 글자색 지정, 얻음 ex> dc.SetTextColor(RGB(255,0,0)); dc.TextOut(10,10,L"Print Out RED"); CDC :: SetBkMode() CDC :: GetBkMode() - 글자 배경을 투명하게, 불투명하게 CDC :: SetBkColor() CDC :: GetBkCo.. 더보기
Visual C++, DC에 관해서~~ CDC - CDC는 Device Context 를 캡슐화 해놓을 것. 윈도우내에서 그래픽에 관련된것을 처리할 수 있다. 대부분의 CDC 멤버 함수는 윈도우 SDK에서 제공되는 API 를 정리 한것이라 보면된다. CPaintDC - CPaintDC WM_PAINT 메세지 응답을 위한 클래스 자기 자신의 생성자,소멸자를 BeginPaint,EndPaint에 포함해서 굳이 BeginPaint,EndPaint를 호출할 필요가 없다. 결국 번거로운 코딩(DC미반납등의)을 줄일수 있다. CClientDC - 주어진 윈도우 클라이언트 영역에 대응하는 DC생성에 이용한다. 이 클래스도 생성자와 소멸자를 GetDC,ReleaseDC에 포함한다. CClientDC객체는 ONPaint나 OnDraw함수 밖에서 DC에 출력하.. 더보기
요일 및 현재시간 구하기 블로그 > 아마그래머 Lv 12 http://blog.naver.com/wizhyo/100002563025 // 요일 구하기 ///////////////////////////////////////////////////////////////////// #include // 0 = Sunday int day_of_week( int y, int m, int d ) { static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; y -= m < 3; return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7; } void main() { int y, m, d; char *day[7] = { "SUN", "MON", "TUE", "WED", "T.. 더보기
CString 블로그 > 뒤돌아 보지 말고 가라. http://blog.naver.com/rainbow4608/60030443379 CString::Left CString Left( int nCount ) const; throw( CMemoryException ); Return Value A CString object containing a copy of the specified range of characters. Note that the returned CString object may be empty. Parameters nCount The number of characters to extract from this CString object. Remarks Extracts the first (that is, le.. 더보기
LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 의 의미는 블로그 > 흔적남기기... http://blog.naver.com/ggtmuli9/20033163477 LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 의 의미는 다음과 같다. LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 뭔가 다 비슷 비슷해보이죠? 원래 c와 c++은 string이라는 똑똑한 자료구조형을 compiler차원에서 지원하고 있지 않습니다. 그대신 가장 많이 사용하는 string을 어떻게 저장해야 할지에 대해 고심한 결과... 결국 배열의 끝에 '\0'또는 0 또는 NULL값을 넣어 string을 표현하도록 했습니다. 결국 가장 적은 용량의 string처리와 가장 골치아픈 string처리가 탄생하는 순간이였죠... 더보기
[Control] CSplitterWnd 클래스 변화시키기 블로그 > 정서기의 블로그입니다. http://blog.naver.com/hanjeongseok/20035979136 CSplitterWnd 클래스 변화시키기 이 내용은 마이크로소프트웨어 1999년 6월 내용중 "원리구현, UI를 강화하면 컴퓨터가 즐겁다[1], 특수한 UI를 적용한 스플리터 만들기"의 내용을 참고한 것입니다. 이 글에서 소개한 예제의 소스 원본 글의 예제소스 1. CSplitterWnd 클래스란? CSplitterWnd 클래스는 SDI에서 한번에 둘 이상의 뷰를 보여주는 것을 가능하게 하는 클래스입니다. MDI의 경우 child 윈도우를 여러개 만들어서 둘 이상의 뷰를 보여주지만, CSplitterWnd 클래스를 사용하면 한 화면을 두 개 내지는 그 이상 분할해서 한꺼번에 보여줍니다. .. 더보기
MFC 애플리케이션 수행과정 [프로세스 시작] CWinApp::CWinApp WinMain 프로그램 시작점 ::AfxWinMain ::AfxWinInit(), CWinApp::InitInstance(), CWinApp::Run() 을 차례로 호출 ::AfxWinInit MFC 애플리케이션 초기화 CWinApp::InitInstance 인스턴스 초기화, 프로파일읽음,CDocTemplete객체생성 CSingleDocTemplete 생성자 CWinApp::AddDocTemplete 도큐먼트 템플릿 바인딩 [도큐먼트, 뷰생성] CWinApp::OnFileNew 파일메뉴에서 New 가 핸들러, 도큐먼트 초기화 CDocument::CDocument 생성자 CFrameWnd::CFrameWnd 주 윈도우 클래스 생성자 CFrameWnd::OnC.. 더보기
도큐먼트/뷰 구조(Document/View Architecture) MFC에서의 도큐먼트/뷰구조. 도큐먼트는 APP에서 데이터, 뷰는 그 데이터를 처리해 나타나는 형태. 따라서 하나의 데이터로 여러가지의 표현이 가능해진다. MFC에서는 원칙적으로 데이터와 뷰를 분리해서 사용하도록 하지만, 코딩을 하다보면, 이를 잘 지키지 않는다. 실제적으로 데이터 관리부분과 인터페이스가 비슷해서 분리하기가 까다롭기 때문이다. 그러나 나중을 위해서라도 꼭! 분리해서 코딩하는 습관을 기르도록. 도큐먼트와 뷰 상호간 작용함수들 CView 클래스 - GetDocument : 도큐먼트 객체 포인터를 얻음. - OnDraw : 화면에 그림, 프린트 CDocument클래스 - GetNextView : 뷰리스트에서 다음 뷰를 얻음 - GetFirstView : 첫번쨰 뷰를 가져옴 - UpdateAll.. 더보기
MFC App 클래스 MFC 프로그래밍에서 가장중요하고 핵심적인 클래스들 CWinApp CFrameWnd CView CDocument 이 네가지만 정확히 알고 있으면 기본적 골격을 파악할수있다. [애플리케이션 클래스 : CWinApp] 애플리케이션 전체를 나타낸다. 인스턴스의 초기화, 메세지 루프 세팅. CWinThread 로부터 상속을 받는다. 또한 CDocTemplete라는 도큐먼트템플릿을 가진다. 이넘은 CDocument,CView,CMainFrame객체와 리소스를 관리한다. MFC에선 CWinApp는 하나만 만들어지고, global하다. 이 CWinApp에서 중요한 멤버함수는 InitInstance()함수이다. 즉 CWinApp의 기능중하나인 인스턴스의 초기화와 관련된 함수이며, 인스턴스를 실행할때 초기화 내용을 입력.. 더보기
Visual Studio 2005에서 유니코드문제 이궁... 2005에서 유니코드 문제때문에 계속 에러가 나서... 귀찮다... 아직 적응이 않되서리... 2005에선 기본적으로 유니코드를 사용하도록 해놔서 텍스트를 CString szText = "Urarara"; ... pDC->Draw(szText,&rc,DT_SINGLELINE | DT_CENTER | DTVCENTER); 이런식으로 하면 꼭!!!!! 에러가 난다. 이간 문자의 "Urarara"는 const char*형이고, const wchar_t*형이 아니라는 거쥐... 해결법은 프로젝트 속성에서 유니코드를 않쓰는걸로 하던지(ALT+F7) L"Urarara"로 변경해야 한다 더보기
C++에서와 다른 vs.net 에서의 c++ iosteam.h -> iostream 으로 변환. 이미 포스팅 했으니까 생략. 2005 깔고나서 c++소스 컴파일 하면 거의~~~ 에러. 이놈의 "새로운" 문법들 때문에 손볼데가 많다. 음.. 몇가지 기억나는 넘들. for loop에서의 지역변수는 루프 밖에서 유효하지 않다는거. 예전에 for문에서 조건식에다 바로 변수를 선언할수 있었는데, 이젠 그러면 그 변수를 선언않했다고 나와버린다.... for(int i=0;i 더보기
visual studio 2005에서 LPCWSTR오류문제. 해결방법. 프로젝트 속성에서 언어탭에서 유니코드가 아닌 멀티코드로 바꾸면 LPCWSTR오류는 해결됨. 2005에서 바껴서 너무... 짱나... 더보기
vb.net == c sharp 웹브라우징코드 vb.net == c sharp 웹브라우징코드 VC/VC.NET/Cs 2007/05/21 00:03 http://blog.naver.com/suvisor/40037802140 블링크 :프로그래밍 좋아해 textbox - name : tbURL button - name : btnBrowse webrowser - name : webBrowser VB.NET 소스 private sub btnBrowse_click(byval sender as system.object, byval e as system.eventargs) handles btnBrowse.click webBrowser.navigate(tbURL.text) end sub C#소스 private void btnBrowse_Click(object sen.. 더보기