728x90

Application 172

[MFC] 16진수 변환(CString <-> BYTE)

CString의 문자열을 16진수로 변환하고자 할 때 사용하는 함수입니다 wcstol 함수이며 사용 방법은 아래와 같습니다 CString strMacAddress = _T("1A2B3C4D"); WCHAR szData[9]; BYTE szValue[4]; wcscpy_s(szData, strData); szValue[0] = (BYTE)wcstol(((WCHAR *)szData) + 0, NULL, 16); szValue[1] = (BYTE)wcstol(((WCHAR *)szData) + 2, NULL, 16); szValue[2] = (BYTE)wcstol(((WCHAR *)szData) + 4, NULL, 16); szValue[3] = (BYTE)wcstol(((WCHAR *)szData) + 6,..

Application/MFC 2023.07.06

[MFC] GetPrivateProfileString / WritePrivateProfileString

MFC 사용 중 INI 파일을 간단히 읽고 쓰기를 위해서는 읽기 함수 GetPrivateProfileString 과 쓰기 함수 WritePrivateProfileString를 씁니다 INI 파일의 기본 작성 방식은 [섹션] 키=값 형식으로 구성 되어 있으며 읽기의 경우 WCHAR szValue[MAX_PATH]; GetPrivateProfileString(_T("Section"), _T("Key"), _T("Default"), szValue, sizeof(szValue), PATH); 위와 같은 방식으로 섹션, 키, 값이 없을 시 받을 값, 입력된 값, 입력값 크기, 파일 위치 값을 입력해서 코드를 작성하시면 됩니다 쓰기의 경우는 WritePrivateProfileString(_T("Section"), ..

Application/MFC 2023.06.28

[C# WinForm] ListBox 오른쪽 마우스 클릭 선택

ListBox의 오른쪽 마우스를 눌렀을 때 해당 항목을 선택하게 하고 싶다면 아래와 같이 코드를 작성하면 됩니다 private void listBox1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { listBox1.SelectedIndex = listBox1.IndexFromPoint(e.X, e.Y); //추가 코드 입력 } } 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WinForm] 프린트 다중 페이지 출력

PrintDocument의 이벤트 PrintPageEventHandler 에서 다중 페이지를 출력하고자 할 때는 함수 내 e.HasMorePages 변수를 true로 변경해주면 됩니다 가령 페이지를 2페이지 출력을 원한다면 아래와 같이 코드를 작성하면 됩니다 private int m_iTotalPages = 2; private int m_iProcPages = 1; private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { if (m_iTotalPages > m_iProcPages) { e.HasMorePages = true; m_iProcPages++; } // 출력을 위한 Grap..

[C# WinForm] 프린트 하기

C#의 기본 클래스를 활용해 프린트하는 방법입니다 private void Print() { PrintDocument Doc = new PrintDocument(); Doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Test_PrintPage); Doc.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("A4", 840, 1188); PrintPreviewDialog ppd = new PrintPreviewDialog(); ppd.Document = Doc; ppd.ShowDialog(); } private void Test_PrintPage(object send..

[C# WinForm] 구조체 내부 배열 초기화

구조체 안의 배열을 선언은 가능하지만 배열의 할당을 위해서는 아래와 같이 코드를 작성해 주어야 합니다 private struct _STRUCT_DATA { public string strValue; public string []strValues; public _STRUCT_DATA(int iArraySize) { strValue = ""; strValues = new string[iArraySize]; } }; // 구조체 선언 _STRUCT_DATA struct_data = new _STRUCT_DATA(5); 초기화를 위해서는 배열 안의 모든 변수에 초기값 설정이 필요하며 배열 크기를 입력받아 할당을 해야 합니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[MFC] CWnd 화면을 클립 보드로 복사하기

화면을 클립보드에 넣기 위한 코드입니다 함수 호출 이후 그림판 등으로 붙여 넣기 했을 시 저장된 화면이 보입니다 void CWndToClipboard(CWnd *pWnd, CRect rect) { CBitmap bmp; CClientDC dc(pWnd); CDC memDC; memDC.CreateCompatibleDC(&dc); bmp.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height()); CBitmap* pOldbmp = memDC.SelectObject(&bmp); memDC.BitBlt(0,0,rect.Width(),rect.Height(), &dc, 0,0,SRCCOPY); pWnd->OpenClipboard(); EmptyClipboard(); Set..

Application/MFC 2023.05.09
728x90
반응형