728x90
MFC Edit Control 에서 Enter 키 입력 시, 줄바꿈되도록 하기 / 상하좌우 스크롤바

 

이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

 

직접 구현할려고 했더니 아주 간단한 방법이 있었다..

 

아래 두 속성을 TRUE로 바꾸면 끝이다.

(두개 모두 되어야 한다.)

Multiline = True

Want Return = True

 

이제 아래와 같이 엔터키로 줄바꿈을 할 수 있다.

 

 

그리고 보니, 기본적으로 MFC 에디트 컨트롤은 우측으론 쭉 길게쓸 수 있는데 아래로는 저기 보이는 이상으론 추가 입력이 불가능하다.

 

또한 스크롤바가 없어서 불편하다.. 아래와 같은 설정으로 스크롤바 생성을 할 수 있고, 아래로도 추가 입력이 가능하도록 할 수 있다.

 

Auto HScroll = True

Auto VScroll = True

Horizontal Scroll = True

Vertical Scroll = True

 

.

728x90
728x90
(서브라임텍스트) sublime text 설치 후, 한글 사용을 위한 셋팅들

 

이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

sublime text 3의 다운로드는 아래서 가능합니다.

https://www.sublimetext.com/

 

Sublime Text - the sophisticated text editor for code, markup and prose

Available on Mac, Windows and Linux

www.sublimetext.com

 

설치 후, 가장 먼저 수행되야 하는게 Pakage Control의 설치입니다.

공식 다운로드는 아래 주소를 통하면 되며, 프록시 등의 이유로 접속/다운로드가 힘든 경우를 위해 직접 올려 놓겠습니다.

https://packagecontrol.io/installation

 

Installation - Package Control

Installation Use one of the following methods to install Package Control: Command Palette Open the command palette Win/Linux: ctrl+shift+p, Mac: cmd+shift+p Type Install Package Control, press enter This will download the latest version of Package Control

packagecontrol.io

[직접 다운로드]

Package Control.sublime-package
0.18MB

 

반응형

 

해당 파일을 아래 폴더에 넣어주면 됩니다.

(Windows7 기준) C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Installed Packages\

 

쉽게 접근 하는 방법은 sublime 실행 후, 

Preferences 탭 > Browse Packages 를 클릭한 후, 상위 폴더로 한번 이동하시면 Installed Packages 폴더가 있습니다.

 

해당 폴더에 넣어준 후, sublime을 모두 종료한 후 다시 실행합니다.

다시 실행한 이후 Preferences 탭을 보면 Package Control 항목이 가장 하단에 생겼으며, 해당 항목을 클릭합니다.

 

 

출력되는 검색 창에서 install package를 검색하고 Enter를 눌러줍니다.

 

 

이어서, 출력되는 창에서 imesupport를 검색하고 Enter를 눌러 설치합니다.

 

 

동일한 방법으로 ConvertToUTF8 도 설치합니다.

 

 

또한, 기본적으로 한글 글씨체를 변경하시는게 좋습니다.

Preferences 탭 > Settings - User 항목을 선택한후,

"font_face": "NanumGothic", 을 추가합니다.

 

{
"font_face": "NanumGothic",
"ignored_packages":
[
"Vintage"
]
}

 

이후 Ctrl+s로 저정한 하면 적용됩니다.

728x90
728x90
MFC 간단한 파일 입출력 예제 (최신 Visual Studio 사용시)

 

이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

먼저 파일 읽기, 쓰기 예제로 들어가기전에

최신버전의 Visual Studio를 쓰다보니 Unicode이어서 소스에 추가적인 작업이 조금 더해졌다.

(대부분의 문서가 다 멀티바이트 방식이라 동작을 안해서.. 직접 정리한다.)

따라서 이는 유니코드 기준이며 멀티바이트 사용시, 알아서 문자열 앞 L 혹은 TCHAR등을 보고 고려하여 변경하여야한다.

CString 과 char*의 변형은 아래 링크를 참고하면 됩니다.

MFC CString <-> char* 로 변환하기 / 유니코드(Unicode) 환경(최신 Visual Studio) :: 이야기하는 남자 (tistory.com)

 

MFC CString <-> char* 로 변환하기 / 유니코드(Unicode) 환경(최신 Visual Studio)

이 포스트는 이전 블로그에서 이전된 포스트입니다. 검색해 보면 다들 멀티바이트의 경우라 현재의 최신버전 visual studio에서는 오류를 출력한다. 따라서 최신 컴파일러를 사용해 유니코드 환경

talkout.tistory.com

 

반응형

 

파일 읽기 예제입니다.

CFile Rfile;
if (!Rfile.Open(L"test.txt", CFile::modeRead))
{
    MessageBox(L"파일을 열지 못했습니다.", L"경고!", MB_OK | MB_ICONHAND);
    return;
}
UINT FileLength = (UINT)Rfile.GetLength();
char* ps = new char[FileLength];
Rfile.Read(ps, FileLength);
Rfile.Close();
    
CString str;
int len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, ps, -1, NULL, NULL);       
str = new TCHAR[len];
MultiByteToWideChar(CP_ACP, 0, ps, -1, (LPWSTR)(LPCWSTR)str, len);

delete ps;

//Testing
AfxMessageBox(str);

 

파일 쓰기 예제입니다.

CFile Wfile;
if (!Wfile.Open(L"test.txt", CFile::modeCreate | CFile::modeWrite))
{
    MessageBox(L"파일을 열지 못했습니다.", L"경고!", MB_OK | MB_ICONHAND);      
    return; 
}
    
char* pstr = new char[27];
char* ppstr = pstr;
for (int i = 0; i<26; i++)
    *ppstr++ = 'A' + i;
*ppstr = NULL;    // NULL 문자로 끝나게 한다.
Wfile.Write(pstr, 27);
Wfile.Close();
delete pstr;

 

 

.

728x90
728x90
CString 글자수 확인 및 공백 제거 후 확인

 

이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

CString 글자수 세려면

 

m_num = m_str1.GetLength();

 

이고,

공백 빼고 셀려면

int tmpi = m_str1.Replace(_T(" "), NULL);

m_num = m_str1.GetLength();

 

처럼 한다.

 

 

 

또한 왜 계속 개행문자 크기가 2바이트로 나오는 가 했더니

os 특성이었다. UNIX 계열은 개행 시 \n 하나지만,

윈도우 프로그램의 경우(메모장처럼)에는 개행시 자동으로 \r\n이 같이 들어간다.

이걸 고려해야한다..

 

반응형

 

 

728x90
728x90
mfc140ud.dll, msvcp140d.dll, ucrtbased.dll, vcruntime140d.dll 오류시 해결방안
이 포스트는 이전 블로그에서 이전된 포스트입니다.

 

Windows7을 새로 설치하고 보니, MFC 관련 dll이 부족한 사유로 프로그램 수행이 불가능한 경우가 있습니다.

 

그 경우 아래 4개의 DLL을 추가합니다.

mfc140ud.dll

msvcp140d.dll

ucrtbased.dll

vcruntime140d.dll

 

아래 dll을 다운로드 하여 각 경로에 넣습니다.

(64bit는 32bit, 64bit 용 모두 각각의 폴더에 복사합니다.)

 

32bit용 dll은 아래 경로에 넣습니다.

C:\Windows\System32\

 

64bit용 dll은 아래 경로에 넣습니다.

C:\Windows\SysWOW64\

 

32bit용과 64bit용 dll이 이름이 같은 이유로 복사시 유의 바랍니다.


32bit 용 dll

32bit-dll.zip
4.45MB


64bit 용 dll

64bit-dll.zip
4.20MB


 

반응형

 

감사합니다.

728x90
1···345678910

+ Recent posts