일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Gaussian
- subpixel
- Encapusulation
- edge
- Read
- digitalRead
- APP
- SERIAL
- Class
- c++
- memory
- file access
- stream
- mfc
- parameter
- sensor
- Filtering
- compare
- Unity
- wpf
- atmega328
- aduino
- flutter
- Contour
- Gradient
- Binary
- Pointer
- public
- Android
- UNO
- Today
- Total
목록wpf (13)
폴크(FOLC)
MFC 애플리케이션은 기존처럼 CView, CDialog 기반으로 유지하면서, 그 내부에 WPF 컨트롤을 child 형태로 삽입(hosting) 하는 방식입니다. 이를 좀 더 구조적으로 설명드리면 다음과 같습니다: 기본 구조[MFC 메인 윈도우 또는 다이얼로그] └─ [WPF 컨트롤을 호스팅하는 C++/CLI HwndHost 클래스] └─ [WPF UserControl (XAML UI)] MFC에서 HWND를 통해 자식 윈도우처럼 공간을 만들고C++/CLI의 HwndHost를 사용해 WPF 컨트롤을 MFC 영역 안에 마운트즉, WPF는 child dialog 또는 embedded panel처럼 작동합니다. 왜 이렇게 구성하는가?이유설명기존 MFC 구조 유지전체 재작성 없이도 WP..
MFC 프로젝트에 WPF UI(UserControl)를 삽입하고 이벤트를 처리하는 전체 예제를 아래와 같이 구성해드릴게요. 이 프로젝트는 다음과 같은 3개의 서브 프로젝트로 나뉩니다: 프로젝트 구성WpfControlLibrary→ WPF UserControl을 정의 (예: 버튼 클릭 이벤트 포함)WpfHostBridge (C++/CLI Class Library)→ WPF를 호스트하고 MFC에서 사용할 수 있도록 핸들 노출MfcHostApp (MFC Application)→ 실제 실행 앱. C++/CLI DLL을 통해 WPF UI 삽입 및 이벤트 처리 [WPF UserControl 프로젝트 - WpfControlLibrary]1-1. UserControl 생성: MyWpfControl.xamlxml 파일 ..
MFC 프로젝트에 WPF UI 화면을 삽입하고 이벤트를 처리하는 방법은 Interop 기술을 활용하는 방식으로 이루어집니다. Visual Studio 2022에서도 지원되며, 다음과 같은 구성요소와 절차가 필요합니다. 개요: MFC에 WPF 삽입 원리MFC 프로젝트는 기본적으로 Win32 기반 C++ 환경이므로, WPF(.NET 기반)의 UI 요소를 삽입하기 위해 중간 호스트 컨트롤을 사용해야 합니다.대표적인 방식:HwndSource: WPF → Win32 로 호스팅HwndHost: Win32 (MFC) → WPF를 포함할 때 사용ElementHost: Windows Forms에서 사용하지만, MFC에서는 C++/CLI를 통해 유사한 방식 사용 절차 요약WPF UserControl 생성 (.NET 프로젝..
1. MFC와 WPF의 기술적 차이플랫폼C++ 기반 Win32 API 래퍼.NET Framework/.NET Core 기반렌더링 기술GDI 기반, 저수준DirectX 기반, 고급 그래픽UI 정의코드 기반 (절차적)XAML 기반 (선언적)데이터 바인딩거의 수동 처리강력한 데이터 바인딩 시스템아키텍처 패턴주로 MVC 또는 비구조적MVVM 권장스타일/테마매우 제한적완전한 스킨/스타일 시스템 지원해상도 대응수동 처리자동 DPI Scaling 지원 결론: MFC는 레거시이지만 시스템 수준 제어에 유리하고, WPF는 현대적인 UI/UX 및 유지보수성이 강점입니다. 2. 대체 시나리오시나리오 A. 전체 WPF로 리빌드기존 MFC 코드 중 비즈니스 로직은 C++/CLI 또는 C# 클래스로 이식하고UI는 XAML + M..

# 지역화 및 다중 언어 지원 > 리소스 파일을 이용하여 언어 변경 가능 - 한국어 : ko-KR - 영어 : en-US - 중국어 : zh-CH # 지역화 설정 > (리소스 파일명).지역명칭 - 한국어 : (리소스 파일명).ko-KR # 다중 언어 패키지가 설치되어 있지 않은 경우 예외 처리 > 지역화 설정 상태와 다중 언어 패키지가 불일치 한 경우 wide 문자의 경우에는 깨지는 현상 # 문자열 인코딩 > string str1 = "한글 한글 test 1234"; > byte[] dst11 = Encoding.Default.GetBytes(str1); // 현재 OS의 ANSI 코드 페이지에 대한 인코딩 > byte[] dst12 = Encoding.ASCII.GetBytes(str1); // ASC..

# LiveChart 공식 사이트 > https://lvcharts.net/App/examples/Wpf/start Live Charts lvcharts.net # LiveChart 테스트 소스 관련 Github > https://github.com/Live-Charts/Live-Charts # LiveChart 테스트 소스 관련 Github 2 > https://github.com/beto-rodriguez/LiveCharts2 GitHub - beto-rodriguez/LiveCharts2: Simple, flexible, interactive & powerful charts, maps and gauges for .Net, LiveCharts2 can Simple, flexible, interacti..

# 특정 시점마다 반복적으로 작업을 간단하게 진행하기 위함. > DispatcherTimer 를 이용하여 진행 # 소스 코드 using System.Windows.Threading; namespace TimerRunTEST { public partial class MainWindow : Window { private DispatcherTimer timer = new DispatcherTimer(); // 타이머 생성 public MainWindow() { InitializeComponent(); // 타이머 설정 timer.Interval = TimeSpan.FromMilliseconds(1); // 시간간격 설정 timer.Tick += new EventHandler(timer_tick_event); ..

# 데이터를 보고 직관적으로 빠르게 파악하여 판단하기 위함 # LiveCharts 를 이용하는 방법 > Nuget 에서 Package 설치 - LiveCharts.Wpf 를 설치 하면 LiveCharts 도 같이 설치 된다. > MainWindow.xaml 에 내용 추가 - xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" MainWindow.xaml.cs 파일에 데이터 값 추가 public partial class MainWindow : Window { public ChartValues Values { get; set; } public MainWindow() { InitializeComponent(); Values = new ChartV..

# 데이터를 보고 직관적으로 빠르게 파악하여 판단하기 위함 # WPFToolkit 을 이용하는 방법 > 솔루션 참조에 추가 - System.Windows.Controls.DataVisualization.Toolkit.dll - WPFToolkit.dll > 아래 관련 파일은 특정 Package 에 묶여 있거나 별도로 찾아야 함. > MainWindow.xaml 에 내용 추가 - xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" MainWindow.xaml.cs 파일에 데이터 값 추가 - ((PieSeries)mcC..

# 프로그램 상시 운영 > 대상1 : 개발 관련으로 주 특기를 갖고 계신 분 ( 직장인, 취업준비 ) > 대상2 : 대전 지역에서 학교를 다니고 있는 대학생 ( 대학생 ) > 대상3 : 대전 지역에서 학교를 다니고 있는 학생 ( 초/중/고 ) # 프로그램 연결 방법 > Open Chat 방 URL : https://open.kakao.com/o/gwiYAiId > Open Chat 방에 내용 기록 # 대학생 > 전공 관련 과정을 졸업(취업준비) / 수료하신 분 : 2년제의 경우에는 1년 과정 수료하신 분 > 비 전공자의 경우 : 기본 학습(교과서)이 되어 있으신 분 또는 기본 학습을 얻고자 하시는 분 # 직장인 > 취업 후 경력 3년 이하 ( 전공 관련 과정을 수료/졸업 하신 분 ) > 비 전공자의 경우..

# Main 화면에 표시되는 영역의 정보를 페이지 단위로 변경 > 1개 Category ROI 안에 N개 Category Page 로 구성 > Page1, Page2, Page3, ... # Main 화면에서 각 페이지를 선택하여 화면에 표시 > xaml 파일에 3개의 버튼을 생성하고 각 버튼에 Event 를 설정한다. # 소스 코드 ( MainWindow.xaml ) # 소스 코드 ( MainWindow.xaml.cs ) private void Button_Click_1(object sender, RoutedEventArgs e) { PageHome.Source = new Uri("NaviPage\\Page1.xaml", UriKind.Relative); } private void Button_Clic..

1. Visual Studio 사이트 검색 2. Visual Studio 사이트 진입 3. Download Visual Studio - Community 버전(2015 이상) 클릭 4. Visual Studio Installer 를 설치하고 개발 환경을 선택한다. > .NET 데스크톱 개발 5. 설치 끝! # 부가적인 기능이나 개발 환경을 추가 할때는 "확장 및 업데이트" 메뉴를 이용한다.

윈도우 프레젠테이션 파운데이션(Windows Presentation Foundation)은 윈도우 기반 응용프로그램에서 사용자 인터페이스를 표시하기 위한 목적으로 MS에서 만든 Graphic System이다. 처음에는 닷넷 프레임워크 3.0의 일부분으로 Avalon 이라고 불렸으며, DirectX를 사용한다. 특히, 사용자 인터페이스와 비즈니스 로직을 분리해준다. 다양한 인터페이스 요소들을 정의하고 연결하기 위해 XAML(XML 기반) 언어를 사용하고 데스크탑에서 단독으로 실행될 수도 있고 웹사이트에 내장된 객체로 서비스될 수도 있다. 2D/3D 렌더링, 고정 및 가변 문서, 타이포그래피, 벡터 그래픽스, 실시간 애니메이션, 프리렌더링 미디어와 같은 여러가지 보편적인 UI를 통합 하여 다양한 이벤트, 사..