MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

πŸ’Ž C,C++,C#/C++ (MFC) κ°œλ…μ •λ¦¬ 5

C++ 기초 정리

λ„€μž„μŠ€νŽ˜μ΄μŠ€ namespace 이름이 κΈ°μ–΅λ˜λŠ” μ˜μ—­ ν‘œμ€€ ꡬ성 μš”μ†ŒμΈ 클래슀, ν•¨μˆ˜, λ³€μˆ˜λŠ” std λΌλŠ” 이름 곡간에 μ €μž₯됨 iostream λ‚΄μ˜ μ •μ˜λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ std:: 접두어λ₯Ό λΆ™μ—¬ stdλΌλŠ” λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— μžˆλ‹€λŠ” 것을 μ»΄νŒŒμΌλŸ¬μ—κ²Œ μ•Œλ €μ€˜μ•Όν•œλ‹€. κ°„λ‹¨ν•˜κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” using namespace std; λ₯Ό μž…λ ₯ν•΄μ„œ 접두어λ₯Ό 뢙이지 μ•Šμ•„λ„ μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ‹€. 주석 // 와 /* */ μ—¬λŸ¬μ€„ 주석은 μ€‘μ²©ν•΄μ„œ μ‚¬μš©ν•˜λ©΄ μ•ˆλ¨. Cout 객체 λ‹€μ–‘ν•œ 데이터 좜λ ₯ μ €μž₯ν• λ³€μˆ˜; C ν‘œμ€€μž…μΆœλ ₯ν•¨μˆ˜μ™€ 차이점 데이터 흐름을 μ•Œ 수 μžˆμ–΄μ„œ 직관적이고 μž…μΆœλ ₯데이터 νƒ€μž…μ„ μžλ™λ³€ν™˜ν•˜λ―€λ‘œ νŽΈλ¦¬ν•˜κ³  μ•ˆμ „ λ³€μˆ˜ λ³€μˆ˜μ˜ μ„ μ–Έ : λ©”λͺ¨λ¦¬ 곡간을 ν• λ‹Ήλ°›λŠ” ν–‰μœ„λ₯Ό λ³€μˆ˜μ˜ μ„ μ–Έ λ³€μˆ˜ μ΄ˆκΈ°ν™” : λ©”λͺ¨λ¦¬ 곡간에 μ“°λ ˆκΈ° 값이 μžˆμ„ ..

C++ 정리 #μ˜ˆμ™Έμ²˜λ¦¬ ~

1. μ˜ˆμ™Έ μ²˜λ¦¬κ°€ 무엇인가. μ˜ˆμ™Έ (exception) : 잘λͺ»λœ μ½”λ“œ , λΆ€μ •ν™•ν•œ 데이터 , μ˜ˆμ™Έμ μΈ 상황에 μ˜ν•˜μ—¬ λ°œμƒν•˜λŠ” 였λ₯˜ (예) 0으둜 λ‚˜λˆ„λŠ” 것과 같은 잘λͺ»λœ μ—°μ‚°μ΄λ‚˜ λ°°μ—΄μ˜ μΈλ±μŠ€κ°€ ν•œκ³„λ₯Ό λ„˜μ„ 수 도 있고 , λ””μŠ€ν¬μ—μ„œλŠ” ν•˜λ“œμ›¨μ–΄ μ—λŸ¬κ°€ 발 2. μ˜ˆμ™Έμ²˜λ¦¬ 방법 μ˜ˆμ™ΈλΆ€λΆ„μ„ ν•˜λ‚˜ν•˜λ‚˜ 쑰건 μ²˜λ¦¬ν•¨ 3. μ˜ˆμ™Έμ²˜λ¦¬ νƒ€μž… try-catch 블둝 try : μ˜ˆμ™Έκ°€ λ°œμƒν•  수 μžˆλŠ” μœ„ν—˜ν•œ μ½”λ“œ catch : μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” μ½”λ“œ throw: μ˜ˆμ™Έ 상황이 λ°œμƒν•­λ ΈμŒμ„ μ•Œλ¦΄ λ•Œ μ‚¬μš©ν•¨ Copy //μ˜ˆμ™Έμ²˜λ¦¬κΈ° λ§€κ°œλ³€μˆ˜ λͺ¨λ“ νƒ€μž… κ°€λŠ₯함 throw persons; catch (...) { } catch(TooSmallException e) { //TooSmallException만 μž‘νžŒλ‹€. } //μ˜ˆμ™Έμ²˜λ¦¬κΈ° 맀개..

RAW

●Invalidate() -> View 이 ν•¨μˆ˜λŠ” CWndμ—μ„œ νŒŒμƒλœ ν•¨μˆ˜λ‘œμ¨ View(CWndμ—μ„œ νŒŒμƒλœ ν΄λž˜μŠ€μ—μ„œ) 클래슀 μ•ˆμ—μ„œ 싀행이 κ°€λŠ₯ν•˜λ‹€. View클래슀 μ•ˆμ—μžˆλŠ” OnDraw() ν•¨μˆ˜λŠ” WM_PAINT 메세지에 μ˜ν•΄ ν˜ΈμΆœλ˜λ„λ‘ λ§Œλ“€μ–΄μ Έ μžˆλ‹€. μ΄λŸ¬ν•œ 메세지λ₯Ό μ‚¬μš©μžκ°€ μ›ν•˜λŠ” μ‹œμ μ— μž„μ˜λ‘œ ν˜ΈμΆœν•  수 있게 ν•΄μ£ΌλŠ” 방법쀑 ν•˜λ‚˜κ°€ Invalidate() ν•¨μˆ˜λΌκ³  ν•  수 μžˆκ² λ‹€. 이 ν•¨μˆ˜λŠ” ν˜ΈμΆœν•œ ν΄λΌμ΄μ–ΈνŠΈ μœˆλ„μš°μ˜ 화면을 λ¬΄νš¨ν™”μ‹œν‚¨λ‹€. 화면이 λ¬΄νš¨ν™”λ˜λ©΄ μ‹œμŠ€ν…œμ€ WM_PAINT 메세지λ₯Ό λ°œμƒμ‹œν‚¨λ‹€. 즉 μ›ν•˜λŠ” μœˆλ„μš°μ˜ 화면을 κ°•μ œλ‘œ κ°±μ‹ ν•  λ•Œ μ‚¬μš©ν•œλ‹€. ●UpdateAllViews() -> Docu κ·Έλ ‡λ‹€λ©΄ View ν΄λž˜μŠ€κ°€ μ•„λ‹Œ Document ν΄λž˜μŠ€μ—μ„œλŠ” Invalidate() ν•¨μˆ˜λ₯Ό μ–΄λ–»κ²Œ ..

MFC 2

ν•œμ€„λ‘œ 그리기(μ„œμˆ ν•˜κΈ°) (κΈ΄ μ½”λ”©λ¬Έμ œλŠ” μ—†μŒ) μš”μœ„μΉ˜μ— ~ λ„€λͺ¨μžν‘œ ondraw~ 타이머 간단코딩~ ar 데이터 λ‹€μ‹œ λ‘œλ”©μ‹œν‚€λŠ”λ²• ~~ #원 ,λ„€λͺ¨ λ§Œλ“€κ²ƒμž„ 1νƒ€μ΄λ¨Έλ‘œ μžλ™μœΌλ‘œ μ›€μ§μ΄κ²Œ λ§Œλ“€κ±°μž„ 2마우슀 ν‚€λ³΄λ“œλ₯Όμ΄μš©ν•΄μ„œ 움직일 κ²ƒμž„ # 1. view.h μ—μ„œ λ³€μˆ˜ 생성 2. view.cpp μƒμ„±μžμ—μ„œ μ΄ˆκΈ°ν™” 3. # 직선 그리기 더보기 #그림그리기 - 원 그리기 Ellipse 1. view.h μ—μ„œ circle λ³€μˆ˜ μ„ μ–Έ 2. view.cpp μƒμ„±μžμ—μ„œ circle μ΄ˆκΈ°ν™”ν•˜κΈ° {100, 100}; 3. OnDraw (pDC ν•΄μ œν•˜κΈ°) 4. 원 생성 void ~~ OnDraw(CDC* pDC) { pDC->Ellipse (μ’Œν‘œ,μ’Œν‘œ,μ’Œν‘œ,μ’Œν‘œ); } 더보기 #μžλ™μœΌλ‘œ μ›€μ§μ΄λŠ” 원 λ§Œλ“€κΈ° 더보기 ondra..

MFC 1

β–Άμ΄λ²€νŠΈ μ‹œμŠ€ν…œ 큐 (λ©”μ‹œμ§€) λŒ€ν•΄μ„œ ▢메세지 ꡬ동 ꡬ쑰 ν•˜μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ μœˆλ„μš° μ‘μš© ν”„λ‘œκ·Έλž¨μ€ 순차적으둜 μ‹€ν–‰λ˜μ§€ μ•Šκ³  μ–΄λ–€ λ©”μ‹œμ§€λ₯Ό λ°›λŠ”κ°€μ— 따라 μ½”λ“œμ˜ μ‹€ν–‰ μˆœμ„œκ°€ 달라진닀. μ™ΈλΆ€μ—μ„œ λ©”μ‹œμ§€λ₯Ό λ°œμƒμ‹œν‚€λŠ” 이벀트(Event)κ°€ λ°œμƒν•˜λ©΄ μš΄μ˜μ²΄μ œκ°€ κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ λ©”μ‹œμ§€ 큐 (Message Queue)에 정보가 μ €μž₯λœλ‹€. 각각의 μ‘μš©ν”„λ‘œκ·Έλž¨μ€ μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 독립적인 λ©”μ‹œμ§€ 큐λ₯Ό ν• λ‹Ήλ°›μœΌλ©° μš΄μ˜μ²΄μ œλŠ” μ‹œμŠ€ν…œ λ©”μ‹œμ§€ 큐에 μ €μž₯된 λ©”μ‹œμ§€λ₯Ό μ μ ˆν•œ μ‘μš©ν”„λ‘œκ·Έλž¨ λ©”μ‹œμ§€ 큐에 보낸닀. μ‘μš©ν”„λ‘œκ·Έλž¨μ€ μžμ‹ μ˜ λ©”μ‹œμ§€ 큐λ₯Ό κ°μ‹œν•˜λ‹€κ°€ λ©”μ‹œμ§€κ°€ λ°œμƒν•΄μ„œ 큐에 λ“€μ–΄μ˜€λ©΄ ν•˜λ‚˜μ”© κΊΌλ‚΄μ„œ μ²˜λ¦¬ν•˜κ³  λ©”μ‹œμ§€κ°€ 없을 λ•ŒλŠ” λŒ€κΈ°ν•œλ‹€ β–Άλ©€ν‹°νƒœμŠ€ν‚Ή, λ©€ν‹°μŠ€λ ˆλ”© (객/μ£Ό λͺ¨λ¦„) λ©€ν‹°νƒœμŠ€ν‚Ή(Multitasking) μš΄μ˜μ²΄μ œκ°€ μ—¬λŸ¬ 개의 μ‘μš©..