본문 바로가기

전체 글280

C# WinFrom에서 Telerik의 RadSplitContainer사용하는 방법 1) Form을 만든다. 도구 상자에서 RadSplitContainer 선택한다. 2) 도구 상자에서 RadSplitContainer를 form 위에 올려 놓는다. 3) RadSplitContainer 속성에서 Dock을 Fill로 변경한다. 4) RadSplitContainer Tasks 메뉴를 실행한다. RadSplitContainer의 오른쪽 위에 있는 작은 화살표 모양을 클릭하면 된다. 5) Add Panel을 눌러 RadSplitContainer에 panel을 추가한다. 6) Horizontal / Vertical을 눌러 split의 방향을 변경한다. 7) 각각의 panel에 원하는 control을 도구상자에서 선택에 추가한다. 2022. 4. 12.
C# PropertyGrid에서 enum을 이용한 숫자 표시 방법(Enum Description 사용 방법) C#에서 PropertyGrid에 enum 변수를 model에 추가하면 간단하게 표시가 된다. 그런데 enum을 통해 표시할 것이 숫자라면 간단하지가 않다. 보통 enum을 아래와 같이 만든다. public enum NUM_LIST : byte { NONE = 0, _1 = 1, _2 = 2, _5 = 5, _6 = 6, _9 = 9, _10 = 10, } 이렇게 추가를 하면 위의 이미지처럼 표시가 되지 않고 숫자가 _1, _2, ... 이렇게 표시가 된다. enum의 key에 숫자를 사용할 수 없다. 그래서 _1, _2, 이렇게 넣은 것이다. 이때 사용하는 방법이 Description attribute이다. 이것을 사용해서 다시 만들면 아래와 같이 만들 수 있다. public enum NUM_LIST .. 2022. 4. 8.
MFC DLL, EXE에 버전 정보 header 파일로 분리 관리 1. 프로젝트에 존재하는 *.rc 파일을 코드 보기로 읽는다. 아래와 같은 버전 관리 리소스를 확인 할 수 있다. ///////////////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x40004L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "04.. 2022. 4. 4.
MFC Dialog 최상위 스크린 가운데 표시 아래와 같이 소스를 작성해서 추가한다. int cx = ::GetSystemMetrics(SM_CXSCREEN); int cy = ::GetSystemMetrics(SM_CYSCREEN); CRect rt; GetClientRect(rt); cx = (cx - rt.Width()) / 2; cy = (cy - rt.Height()) / 2; ::SetWindowPos(this->m_hWnd, HWND_TOPMOST, cx, cy, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); 2022. 4. 4.
RichEdit20를 사용할 때 주의 사항 dll로 dialog를 띄우는 것을 만들었는데 계속 dll doModal이 -1을 리턴해서 엄청 고생을 했다. dll에서 doModal을 띄우기 위해서는 처리하는 함수 시작과 함께 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 위의 구문을 추가해야 한다. 추가했지만 작동이 되지 않는다. 결국 component 초기화 문제였다. RichEdit20 component를 사용하기 위해서는 InitInstance() 함수에 AfxInitRichEdit(); 위의 함수를 추가해야만 한다. 2022. 4. 4.
재부팅 없이 비트락 잠금 상태 변경 재부팅 없이 비트락 잠금 상태 변경 ex) E 드라이브를 잠금 때에는 -lock, 풀때에는 -unlock 사용 manage-bde -lock E: -ForceDismount manage-bde -unlock E: -Password 2022. 4. 1.
CODESYS Control Win (Simulator) 연결 CODESYS를 설치하면 Tray 에 위와 같은 아이콘이 설치되어져 있는 것을 확인 할 수 있다. Start PLC를 누르면 시뮬레이터가 실행이 된다. 여기서 확인이 필요한 부분이 x64, x86 어떤 타입으로 설치가 되어져 있느냐를 확인해야 한다. 지금 테스트로 설치한 버전은 x64이다. 이게 왜 중요한지 아래에 다시 설명한다. Start PLC를 누르면 위와 같이 아이콘이 Red 색상으로 변경이 되어 작동중임을 확인 할 수가 있다. New Project를 생성할 때 주의가 필요하다. 우리는 x64 버전을 설치했다. 따라서 Device 장치를 선택할 때 꼭 x64를 선택해야 한다. x64가 표시되지 않은 x86 장치로 프로젝트를 만들면 Communicatoin Settings에서 PLC와 연결을 할 때.. 2022. 3. 16.
C# 코드 스타일 옵션 변경 MSVS 2019를 사용하는데 Interface 자동 생성을 하면 람다 스타일로 생성이 된다. 람다를 잘 모르거나 직관적으로 소스를 보고 싶을 때 람다 스타일은 눈에 잘 익지 않는 개발자들이 있을 것이다. 이럴 경우 이 부분을 옵션으로 변경을 할 수가 있다. 도구 - 옵션 - 텍스트 편집기 - C# - 코드 스타일 Tools - Option - Text Editor - C# - Code Style 1) 기본 설정 상태 아래와 같이 '메서드에 식 본문 사용' 기본 설정이 '가능한 경우'로 되어 있다. 이렇게 되어 있으면 람다로 생성이 된다. 2) 일반 표시 방식으로 변경 '안 함'으로 변경을 하면 람다로 표시되지 않는다. 예문이 바로 아래에 표시가 되니 사용자에 맞게 수정을 해서 사용하면 된다. 아직 나도.. 2022. 3. 14.
Telerik RadRibbonView Example (리본바 메뉴 예제) Telerik을 리본바 메뉴 윈도우를 만들어 보았다. 홈페이지의 Getting Started를 보면 쉽게 만들수 있지만 나처럼 WPF, Telerik 초보자를 위해서 만드는 과정을 정리해 본다. 잊으면 나중에 다시 볼 수 있도록~ https://docs.telerik.com/devtools/wpf/controls/radribbonview/gettingstarted WPF RibbonView | Getting Started | Telerik UI for WPF This tutorial will walk you through the creation of a sample application that contains RadRibbonView. In order to use the RadRibbonView con.. 2022. 1. 19.