본문 바로가기 메뉴 바로가기

JHB의 삽질 이야기

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (372)
    • JHB (23)
      • IT 이야기 (4)
      • 잡다한 이야기 (19)
    • Cloud (44)
      • AWS (40)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (221)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (3)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (8)
      • Container (1)
      • Database (1)
      • Etc (26)
      • Tip (2)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

Visual C++ (56)
[ffmpeg] Visual Studio에서 ffmpeg 사용하는 방법.

Window환경에서 ffmpeg을 사용하기 위해 얼마나 삽질했던가... 아래는 ffmpeg shared library를 직접 컴파일 한것..(2012년 9월 16일 현재 최신 버전) + 에러나는 부분 조금 수정한 것.. int64니 뭐니 해서 에러 나는 헤더파일들을 좀 수정해줬다. 컴파일 하는건 msys, mingw등등 여러가지 써서 직접 했음.. 사용 법은.. C++에서 사용할때는 아래와 같이.. C에서 사용할 땐 extern "C"를 제거하고 사용 하면 된다. #define inline _inline //이걸 제일 위에 써줘야 한다. extern "C" { #include "include/libswscale/swscale.h" #include "include/libavformat/avformat.h"..

Development/Etc 2012. 9. 16. 01:01
[TroubleShooting/MFC] Double Buffering을 구현하였는데도 깜빡이는 문제

몇일째 고민했던가... 더블 버퍼링으로 화면 출력을 시켰는데도 계속 깜빡이는 것이었다. 나는 이것의 문제를 내부에 사용한 MoveWindow나 BitBlt로 옮기는 대상과 타겟의 가로 영역 너비가 너무 길어서 라고 생각했다. 문제는 그것이 아니였다.. '음악 재생'시 사용하는 '바'가 움직일 때 화면을 계속 리프레쉬하면서 보여주기 위해 타이머를 사용하였는데, 이때 타이머에서 Invalidate(FALSE); 를 해주는 것이 문제였다. 어짜피 계속해서 Invalidate가 들어오고 있기 때문에 다른 곳에서는 이걸 해줄 필요가 없는데, 나는 MouseMove등에서도 계속해서 Invalidate를 호출해 주고 있었다. 그러니 마우스를 움직일때마다 엄청나게 호출되는 Invalidate덕분에 깜빡거렸던 것이다....

Development/Windows 2012. 2. 24. 05:07
[MFC] 다이얼로그 배경 투명하게 만들기

이 방법을 쓰면 child dialog도 투명하게 만들 수 있다. http://www.codeproject.com/Articles/9064/Yet-Another-Transparent-Static-Control

Development/Windows 2012. 2. 23. 01:14
[MFC] Double Buffering 더블 버퍼링 사용하기

MFC에서 더블버퍼링 사용하기. 이걸 왜 지금까지 안올려놨었지 -.-?;; 일단 제일 중요한건 헤더 파일에 CBitmap m_Bitmap; 를 선언 하는 것. 이 비트맵에 객체를 생성하고 이것저것 해줄 것임. 우선 아래와 같이 Bitmap에 그림을 그려줌. void CDlgXXX::MakeMemBitmap(void) { CClientDC dc(this); //실제 dc CBitmap* pOldBmp; //oldbmp CDC MemDC; //메모리DC m_Bitmap.DeleteObject(); //기존꺼 지워줌 m_Bitmap.CreateCompatibleBitmap(&dc, 500, 200); //새로 만들어줌 MemDC.CreateCompatibleDC(&dc); //memDC도 새로 만들어줌 pOl..

Development/Windows 2012. 2. 19. 21:24
[MFC] 아이콘이 안바껴요. 아이콘 바꾸기!

MFC로 짠 프로그램 아이콘 바꾸기는 참 간단하다. 그냥 프로젝트 솔더의 res경로에 있는 아이콘 파일을 대체시켜 주면 된다. 예를 들어 프로젝트에 사용중인 아이콘 파일 이름이 RoterIconWidget.ico 로 돼있다면, 그냥 쓰고싶은 아이콘 이름을 RoterIconWidget.ico로 바꿔서 저걸로 바꿔주면 된다. 참고로 Dialog에서는 아래와 같은 것을 써주면 Dialog의 아이콘을 바꿀 수 있다. HICON hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1) ); this->SetIcon( hIcon, FALSE ); 그런데.. 이렇게 바꾸고.. 리빌드 올을 하고나서 프로그램을 Ctrl+F5로 실행했는데... 바뀌질 않는다..

Development/Windows 2011. 9. 21. 10:24
[MFC] Temp 폴더 경로 얻어와서 새 파일 이름 만들기

소스는 아래와 같음. Windows의 Temp 디렉토리를 가져와서 prefixstring을 붙인 새 tmp파일의 주소값을 리턴한다. CString CClassName::GetTempFilePath(LPCTSTR pszPrefixString) { CString strPath; if(GetTempPath(_MAX_PATH,strPath.GetBuffer(_MAX_PATH+1)) != 0) { strPath.ReleaseBuffer(); CString strTempFile; if(GetTempFileName( strPath, pszPrefixString, 0, strTempFile.GetBuffer(_MAX_PATH+1) ) != 0) { strTempFile.ReleaseBuffer(); return str..

Development/Windows 2011. 8. 29. 11:59
[MFC] 리소스가 꼬이는 문제

DLL프로젝트가 여러개 있다. 예를 들어 A와 B 이렇게 두개가 있다. 둘다 resource.h가 있고, 각자의 rc파일이 있다. 그런데.. B에서 LoadString으로 String Table에 있는 것을 읽어오려했는데.. 오잉..? A에 있는 스트링 테이블 값을 참조한다. 우째 이런일이? 이를 해결하기 위해선 MFC Extension DLL로 DLL을 만든 경우, LoadString이나 LoadBitmap시에 어느 리소스에서 값을 가져오는지를 알아야 한다. DLL과 그를 호출한 EXE가 있을 경우, 리소스 아이디가 중복 되는 경우에는 LoadXXX 함수는 EXE의 리소스에서 값을 읽어오게 된다. http://support.microsoft.com/kb/600771/ko에 따르면 "이것은 MFC에서 r..

Development/Windows 2011. 8. 19. 16:49
[MFC] 그림의 아래에 가로로 스크롤바를 달았을 경우 적당한 ScrollBar의 Size

그림을 넣고 그 아래에 가로로 스크롤바를 달아서 그림을 좌우로 스크롤 되게 할 경우 적당한 스크롤바의 인포는 다음과 같이 설정한다. int nScrollBarSize = m_nSize - DISPLAY_WIDTH + m_nSize/10; //스크롤바의 크기 때문에 이렇게 조금 빼줘야 한다. nScrollBarSize = nScrollBarSize>0?nScrollBarSize:0; SCROLLINFO si; si.fMask = SIF_ALL; si.nMax = nScrollBarSize; si.nMin = 0; si.nPage = m_nSize/10; si.nTrackPos = 0; si.nPos = 0; m_scrollTime.SetScrollInfo(&si); 여기서 DISPLAY_WIDTH는 그림이..

Development/Windows 2011. 8. 11. 15:27
이전 1 2 3 4 ··· 7 다음
이전 다음
공지사항
최근에 올라온 글
  • Serverless로 E-Commerce 만들기 ⋯
  • 갑자기 RDS CPU 점유율이 100%를 쳤다.
  • DDB Singletable 디자인
  • AWS CLI v2 에서 명령어 출력이 새 창으로⋯
최근에 달린 댓글
  • 안녕하세요~ GridCtrl 을 사용중이시라면 Ctrl⋯
  • 혹시 스태틱으로 GridCtrl 사용해서 목록이있는 그⋯
  • 헉 안돼서 계속 윈도우로만 했는데 감사합니다 복받으세용
  • 글 잘 읽고 갑니다~
Total
854,742
Today
66
Yesterday
182
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • 음악
  • winapi
  • linux
  • algorithm
  • NDK
  • C
  • Quiz
  • 안드로이드
  • kering
  • it
  • db
  • Cloud
  • jni강좌
  • java
  • Python
  • MFC
  • C++
  • database
  • 드라이버
  • android
  • 리눅스
  • gcc
  • Troubleshooting
  • AWS
  • 프로그래밍
  • source
  • jni
  • API
  • driver
  • Visual C++
more
«   2023/03   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
  • 2022/03 (1)
  • 2021/11 (1)
  • 2021/10 (1)
  • 2021/09 (1)
  • 2021/08 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바