달력

5

« 2024/5 »

  • 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
2008. 5. 22. 13:20

PDA 메인을 바꿨다 Smart Phone Story2008. 5. 22. 13:20

정말정말 몇개월만에 PDA에 신경을 쓰기 시작했다..
아무리 싸게 샀다지만....
그동안 PMP로만 써온 PDA에게 미안해서 요즘 신경을 쓰기 시작했는데
간만에 너무 오랬동안 사용한 메인좀 바꿔보자 해서 바꾼결과

사용자 삽입 이미지

쩝... VGA를 지원하면 뭐하나...
VGA로 화면전환하니 이상하게 베터리가 많이 달더라;
일단 그래서 기본사이즈로 사용중..

Spb Poket Plus 4.0.2 설치 후
Spb Weather와 Spb Diary를 추가로 설치하니

오오옷!
달력과 할일을 바로 볼 수 있군하~ >ㅂ<

회사에 엑티브싱크 설치하고 ㄱㄱ싱~
(배경화면에 신경쓰면 지는거다)
:
Posted by Lunaness
가장자리를 깎아낼 때 쓴다

<선언>

void CXXXDialog::RoundEdge(CRect clientRect)
{
      // 모서리를 둥글게
      CRgn rgnTop;
      CRgn rgnBottom;
      // 상단 모서리를 자르고.
      rgnTop.CreateRoundRectRgn(0,0,clientRect.Width(),clientRect.Height(),9,9);
      rgnBottom.CreateRectRgn(0, clientRect.Height()-10, clientRect.Width()-1, clientRect.Height());
      // 해당 영역을 합치고.
      CombineRgn(rgnTop, rgnTop, rgnBottom, RGN_OR);
      // 잘려진 영역을 적용하고
      SetWindowRgn(static_cast<HRGN>(rgnTop.GetSafeHandle()), TRUE);
      // 영역을 해제.
      rgnTop.Detach();
      rgnBottom.Detach();
}

<사용>
CRect clientRectt;
GetClientRect(&clientRectt);
RoundEdge(clientRectt);

뭔소리인고 하니...
사용자 삽입 이미지
빨간색 태두리 처럼 만든다 이거다...


:
Posted by Lunaness
2008. 5. 21. 11:24

FMod 기본 사용법 Programing/Windows Programing2008. 5. 21. 11:24

FMod를 사용하면서 설정을 어떻게 해야 하나 하고 한참 뒤적였는데
삭은이~님 덕분에 쉽게 해결했다..
----------------------------------------------------------------------------------------------------
FMod를 몇일 다루면서 정리할 것들

대부분 사운드 라이브러리가 그렇듯이 FMod도 간단한 초기화 몇개 호출로 시작이 가능하다.

<초기화>
// DSound 사용은 옵션사항이다. 기타 옵션이 다양하지만 대부분 FMod가 내부적으로 가장 적절한 방법을 찾는다고 한다.
FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
FSOUND_SetHWND(hWnd);

const OUTPUT_FREQ = 44100;
const NUMCHANNELS = 32;

if (!FSOUND_Init(OUTPUT_FREQ, NUMCHANNELS, 0))
{
    return FALSE;
}

저장된 사운드는 Sample 과 Stream 두가지 타잎으로 가능한데 Sample은 메모리를 잡고 전부 로딩하는 것이고 Stream은 일정 용량씩 나눠서 재생해주는 것이다. 효과음은 Sample, 배경음악은 Stream 으로 하는게 일반적이라 생각된다.

<Sample 로딩 및 재생>
FSOUND_SAMPLE* sample = FSOUND_Sample_Load(FSOUND_FREE, (const char*)data->GetPtr(), FSOUND_LOADMEMORY, 0, data->GetSize());

int channel = FSOUND_PlaySoundEx(FSOUND_FREE, sample, NULL, TRUE);

FSOUND_SetVolume(channel, g_nWavVolume);

FSOUND_SetLoopMode(channel, fRepeat ? FSOUND_LOOP_NORMAL : FSOUND_LOOP_OFF);

FSOUND_SetPaused(channel, FALSE);

<Stream 로딩 및 재생>
FSOUND_STREAM stream = FSOUND_Stream_Open((const char*)data->GetPtr(), FSOUND_LOADMEMORY | FSOUND_LOOP_NORMAL, 0, data->GetSize());

int channel = FSOUND_Stream_Play(FSOUND_FREE, stream);

FSOUND_SetVolume(channel, g_nMp3Volume);

종료는 모든 Sample/Stream 을 지워주는게 좋지만 FMod 내부적으로 관리가 되어서 아래 함수만 호출해도 된다고 한다.

<종료시>
FSOUND_Sample_Free(sample);
FSOUND_Stream_Close(stream);
FSOUND_Close();

출처 : 삭은이~의 개인 블로그
http://zupet.tistory.com/3

:
Posted by Lunaness