visual c++로 윈도우 어플 만들때..

nuke78의 이미지

간단한 게임기 에뮬레이터 만들고있습니다. 이걸 윈도우에서 실행하게 하려고하는데 윈도우 프로그래밍은 처음이라 책을 봐도 잘 모르겠네요.
원하는건,
프로그램을 실행시키면 게임기의 화면 픽셀 숫자 크기에 해당하는 창이 나오고 ,
창에서 메뉴에는 FILE 메뉴에 load와 exit 메뉴가 있어서 exit은 프로그램 종료되고 ,
load를 누르면 browse해서 rom화일을 고른다음에 그 화일 스트림을 오픈하여 나머지 코드를 수행하게 하려고합니다.
이 부분을 어떻게 해야 할까요?
이 다음에 올 롬파일가지고 실제 에뮬레이터 작동을 시작하는 코드는 어디다가 집어넣어야 하는지..막막하네요..
이정도 하자고 api mfc 이걸 지금 공부하자니 그렇고..
조언좀 많이 해주세요

ssif의 이미지

mame 소스를 한번 살펴보시는게 어떨까요?
윈도우용 에뮬레이터중 뛰어난 기능을 가진것중 하나 입니다만....

봄들판에서다

chronon의 이미지

책에 나온 예제를 해 보시는 게 가장 빠르지 않을까요?
Document-View 모델 같은건 책에서 예제까지 해서 직접 다루고 있을테고,
어디서 어떤 코드를 넣을지도 거기서 찾을 수 있을테구요.

윈도우 프로그래밍을 VC로 하면서 mfc 나 api 공부 안 하기는 힘들지 않나 합니다.
mfc 에 거부감이 있다면 아예 다른 언어나 다른 IDE를 사용하시는 것이 좋을지도요.

happyjun의 이미지

최소한 다음 기능은 어느 GUI platform 에서 작업하시던지 알아야 합니다.

- 창 만드는 법
- 만든 창을 화면에 보여주는 법
- event loop 와 화면 update 하는 법

MS Windows에서 작업이면 win32 조금만 보셔도 됩니다.

그 이외의 메뉴, 툴바 작업 등은 api 공부하기 싫으시면 직접 그리는 것도 좋은 해결 방법입니다.

----------------------------------------
http://moim.at
http://mkhq.co.kr

antibug의 이미지

기본적으로 파일 IO정도는 FILE 정도만 쓰면 큰 문제가 없을 것
같아서 별 것 없겠지만 일단 에뮬레이터가 된다면 UI와는 다른
쓰레드로 동작시켜야 원하는 성능이 나올 것 같군요.

윈도 만들고 그 안에 화면 갱신하는 등의 작업 자체는 별게 아니지만,
그래도 윈도 프로그램이 처음이라면 볼게 좀 많죠. 다른 윈도 시스템
프로그램을 해보셨다면 함수 이름만 좀 익숙해지면 쉽긴 하겠네요.

멀티 쓰레딩으로 들어가면 윈도쪽의 동기화 객체에 대해서 보셔야
할꺼구요, 비디오쪽은 화면만 적당히 해결하면 된다치고...
사운드쪽은... 예전 사운드는 FM 인벨로프 파형(맞나?)을 칩에서
만들어줬는데, 이거 에뮬레이션은 보통 어떻게 하나요...? 이것도
실시간으로 생성하거나 미리 패턴 만들어서 파일로 저장하거나
해야 할 것 같은데요, 하여튼 사운드쪽도 좀 피곤하겠네요.

음... 쓰고 보니 그리 많지는 않네요.... :lol:

( 이러니 잡아놓은 일정대로 돌아가는게 하나도 없지... :cry: )

--------------------------------------
재미없는 일은 하지 말자는 인간 쓰레기.
-.-;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.