MFC 웹사이트 열기

300x250

 

 

아래 site_name에 주소만 변경해서 코드를 넣으면 바로 웹사이트가 뜹니다.

브라우저는 윈도우에서 기본으로 설정된 브라우저로 실행되니 참고해주세요.

HINSTANCE hResult;
hResult = NULL;
CString site_name;
site_name = "https://www.naver.com";
hResult = ShellExecute(NULL, _T("open"), site_name, NULL, NULL, SW_SHOW);

 

2023년 어느겨울에..

 

 

 

 

300x250

댓글()

초간단 C++ WebSocket

기타/링크|2023. 5. 7. 13:12
300x250

https://blog.naver.com/websearch/221137780592

 

[오픈소스] 초간단 C++ WebSocket 서버 개발 방법

오픈소스 C++ HTTP stack 라이브러리를 사용하면 간단한 WebSocket 서버를 쉽고 편리하게...

blog.naver.com

 

 

 

https://github.com/YeeYoungHan/cpphttpstack

300x250

'기타 > 링크' 카테고리의 다른 글

vcpkg 설정 방법  (0) 2023.05.09
자동차 소음 원인 및 해결방법  (1) 2023.05.09
로그인, 회원가입 디자인 샘플  (0) 2023.05.06
c++ memory hacking  (0) 2023.05.05
윈도우즈 API - 윈도우 창 관련 함수  (0) 2023.05.04

댓글()

로그인, 회원가입 디자인 샘플

기타/링크|2023. 5. 6. 17:53
300x250

https://inpa.tistory.com/entry/CSS-%F0%9F%92%8D-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%8A%A4%ED%83%80%EC%9D%BC-%F0%9F%96%8C%EF%B8%8F-%EB%AA%A8%EC%9D%8C

 

[CSS] 🎨 로그인 / 회원가입 페이지 디자인 스타일 모음

Codepen에서 괜찮은 디자인을 뽐내는 CSS 템플릿중에 로그인 및 회원가입 페이지 디자인 요소들 모아 간추려 포스팅 해보았다. 급하게 CSS 템플릿을 찾으면서도 모던하면서도 준수한 디자인 예시를

inpa.tistory.com

 

 

https://freefrontend.com/jquery-forms/

 

300x250

'기타 > 링크' 카테고리의 다른 글

자동차 소음 원인 및 해결방법  (1) 2023.05.09
초간단 C++ WebSocket  (0) 2023.05.07
c++ memory hacking  (0) 2023.05.05
윈도우즈 API - 윈도우 창 관련 함수  (0) 2023.05.04
사이즈  (0) 2023.03.24

댓글()

OpenGL 강좌1 - MFC 윈도우창에 띄우기 (32비트, 64비트 설정 포함) 및 예제코드

300x250

 

 

 

 

 

이번 내용은 OpenGL을 윈도우 창과 연동하는 방법을 작성하였습니다.

 

주 내용은 간단합니다.

예제 파일에 있는 GlRender.cpp, GlRender.h 파일을 사용해서 

GlRender클래스는 자체 OpenGLCreate 관련 함수와, 쓰레드 생성 함수들이 있습니다.

나중에 GlStart()를 호출하게되면 MFC 화면에 영상이 출력됩니다.

 

RenderTest라는 클래스를 만들었습니다.

 

 

RenderTest.h

#pragma once
#include "GlRender.h"

class RenderTest : public GlRender
{
public:
    RenderTest();
    ~RenderTest();
    
private:
    void GlInit() override;
    void GlDraw() override;
};

헤더는 GlRender를 상속받습니다.

GlRender 클래스에 가상함수로 호출되기 때문에 GlInit(), GlDraw() 함수는 오버라이드! 

 

RenderTest.cpp

#include "stdafx.h"
#include "RenderTest.h"


RenderTest::RenderTest(){}

RenderTest::~RenderTest(){}

void RenderTest::GlInit(){}

void RenderTest::GlDraw()
{
    glViewport(0, 0, gl_window_width, gl_window_height);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    glOrtho((double)-gl_window_width / 2, (double)gl_window_width / 2,
        (double)-gl_window_height / 2, (double)gl_window_height / 2,
        1, -1);


    glMatrixMode(GL_MODELVIEW);

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glClearColor(0, 0, 0, 0);


    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    glPushMatrix();
    {
        glBegin(GL_LINES);

        glColor4f(0, 1, 0, 1);
        glVertex2d(0, 0);
        glVertex2d(200, 100);

        glEnd();
    }
    glPopMatrix();
    glDisable(GL_BLEND);



    glMatrixMode(GL_MODELVIEW);
    glMatrixMode(GL_PROJECTION);

}

 

RenderTest의 GlDraw() 함수 내용을 보면

중요한 내용은 아니지만 대략적으로 설명을 해보겠습니다.

 

1. glViewport를 사용하여 그릴 화면 영역을 잡고

2. 공간 메트릭스 행렬 초기화

3. glOrtho를 사용하여 화면 Viewport 영역 좌표계를 설정 했습니다.

4. GL_BLEND를 사용하여 투명도 적용

 

GlBegin ~ GlEnd() 내용에 색상을 정하고, 점2개로 직선을 그리는 OpenGL 코드를 작성하였습니다.

 

 

이제 MFC 화면에 연동을 해볼께요

 

0. stdafx.h에 OpenGL 환경설정 추가

#pragma comment ( lib, "OpenGL32.lib" )

#ifdef _WIN32
#include "OpenGL_lib/core/x86/glew.h"
#include "OpenGL_lib/core/x86/wglew.h"
#endif

#ifdef _WIN64
#include "OpenGL_lib/core/x64/glew.h"
#include "OpenGL_lib/core/x64/wglew.h"
#endif

 

1. 먼저 출력할 Dialog 클래스 헤더에 객체 선언

    RenderTest m_render_test;

 

2.  OnInitDialog() 함수에

m_render_test.Create(this);
m_render_test.GlStart();

 

3. OnSize() 함수에

m_render_test.GlResize(cx, cy);

 

4. OnClose() 함수에

m_render_test.GlClose();

 

 

프로그램을 실행한 결과!

 

예시 코드는 아래에서 받을 수 있습니다.

1. Example_OpenGL_MFC.zip
8.23MB

VisualStudio 2012에서 작성되었습니다.

300x250

댓글()