WPF (Windows Presentation Foundation)

1. .NET Framework 3.0 부터 추가된 기술

2. .NET Framework 1.0 에서 Windows Form 이라는 기술이 있었으나, 사용자의 요구에 맞추어 비디오, 미디어, 애니메이션, 2D, 3D 등을 함께 사용할 수 있어야만 했으며, 이를 위해서는 각각의 필요한 요소 기술들을 처리 할 수 있어야 했음.

3. 따라서 하나의 기술 범위 내에서 모든 기능을 구현할 수 있도록 각각의 기술들을 광범위하게 연결하고 통합하도록 하는 기술이 필요해졌으며, 이에 만들어진 기술이 WPF – Windows Presentation Foundation –

4. .NET Framework 3.x 에 새로이 추가된 기술로써, Windows Vista 의 새로운 UX 구현을 위해서 탄생.


[WPF 이전]

 원하는 기능

닷넷 2.0 솔루션 

 윈도우 컨트롤

 윈도우 폼

 2D 그래픽

 GDI+

 3D 그래픽

 DirectX Api

 스트리밍 비디오

 Windows Media Player

 플로우 문서

 PDF


[WPF]

 원하는 기능

닷넷 3.0 솔루션 

 윈도우 컨트롤

 WPF

 2D 그래픽

 WPF

 3D 그래픽

 WPF

 스트리밍 비디오

 WPF

 플로우 문서

 WPF


5. XAML 을 통해 UI 분리 - 로직과 UI 가 분리됨

6. 렌더링 최적화 - DirectX engine 으로 렌더링

그래픽 렌더링 개요 : https://msdn.microsoft.com/ko-kr/library/ms748373(v=vs.110).aspx


for 문을 입력 할 경우 tab을 두번 눌러서 자동으로 생성 할 수 있다.

(: for 만치고 tab x 2회)

// length 라는 변수를 사용한다고 가정하고 아래와 같은 코드가 생성된다.

// 추가로 탭을 한번 더 누르면 length 전체로 포커스가 이동하여, 변경 할 수 있는 상태가 된다.

// 비교하고자 하는 변수로 변경 한다.

for (int i = 0; i < length; i++)

{

}

Checks the console for keyboard input.


int _kbhit( void );


Return Value
_kbhit returns a nonzero value if a key has been pressed. Otherwise, it returns 0.


Remarks
The _kbhit function checks the console for a recent keystroke. If the function returns a nonzero value, a keystroke is waiting in the buffer. The program can then call _getch or _getche to get the keystroke.


Requirements
RoutineRequired headerCompatibility
_kbhit<conio.h>Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


Libraries
All versions of the C run-time libraries.


Example 
// crt_kbhit.c
// compile with: /c
/* This program loops until the user
 * presses a key. If _kbhit returns nonzero, a
 * keystroke is waiting in the buffer. The program
 * can call _getch or _getche to get the keystroke.
 */

#include <conio.h>
#include <stdio.h>

int main( void )
{
   /* Display message until key is pressed. */
   while( !_kbhit() )
      _cputs( "Hit me!! " );

   /* Use _getch to throw key away. */
   printf( "\nKey struck was '%c'\n", _getch() );
}

 


Sample Output
Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!! Hit me!!
Key struck was 'q'

http://www.sgi.com/tech/stl (STL소스 및 도움말, 메뉴얼)

- STL 창시자가 직접 제작함

 

SGI, Dinkumware(VC에 들어있는 STL 제작)의 2개 회사..

 

SGI STL을 VC++ 등 여러 컴파일러에서 사용할 수 있게 만든것 => STLPort 라고 부른다.


인터넷에서 검색해 보면 VC++ 2005, VC++ 6.0에서 SGI STL 사용법이 있다.




int main( int argc, char* argv[])
{
    int i;

 

    // timer variable.
    clock_t     tStart = NULL;
    clock_t     tEnd = NULL;

 

    tStart = clock();
    for( i = 0; i < 10000; i++); 

    tEnd = clock();


    printf("Run Time : %ld\n", tEnd - tStart);

 

    return 0;

}


+ Recent posts