티스토리 뷰
이번에는 제가 MFC 윈도우 프로그램을 개발하면서 자주 사용하는 코드를 정리해보았습니다.
주로 문자열 자르기및 문자열 형변환등은 실무에서 자주 쓰이는 유용한 함수들이니 헷갈릴때 마다
꺼내 보시면 좋을듯 합니다.
1 DC로 폰트지정후 텍스트 쓰기
CFont font;
font.CreatePointFont(100, _T("돋움"));
dc.SelectObject(font);
dc.SetTextColor(RGB(0,0,0));
dc.SetTextAlign(TA_RIGHT | TA_TOP);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(120, 440, TEXT("테스트"));
=====================================================
2 화면 깜빡임 줄이기
CRect rectComponentArea(30,800,150,1000); // (x, y, x끝, y끝)
InvalidateRect(rectComponentArea, FALSE);
특정위치의 영역을 지정해서 화면 업데이트 할수 있음
=====================================================
3 IP Address Control 주소를 받아와서 문자열로 변환하기
CString strIPAddress;
DWORD dwIP;
CIPAddressCtrl *pAddr = (CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS_MODEM);
if (!pAddr->IsBlank())
{
pAddr->GetAddress(dwIP);
BYTE a, b, c, d;
a = HIBYTE(HIWORD(dwIP));
b = LOBYTE(HIWORD(dwIP));
c = HIBYTE(LOWORD(dwIP));
d = LOBYTE(LOWORD(dwIP));
strIPAddress.Format(_T("%d.%d.%d.%d"), a, b, c, d);
}
=====================================================
4 CString 의 IP주소를 UINT32로 바꾸는 법
unsigned int uiIP=0;
CString strMemberIP =m_listMulticastingConfig.GetItemText(i,1);
CString strA,strB,strC,strD=_T("");
AfxExtractSubString(strA,(LPCTSTR)strMemberIP,0,'.'); //A class
AfxExtractSubString(strB,(LPCTSTR)strMemberIP,1,'.'); //B class
AfxExtractSubString(strC,(LPCTSTR)strMemberIP,2,'.'); //C class
AfxExtractSubString(strD,(LPCTSTR)strMemberIP,3,'.'); //D class
BYTE byteA, byteB, byteC, byteD;
byteA = (BYTE)_ttoi(strA);
byteB = (BYTE)_ttoi(strB);
byteC = (BYTE)_ttoi(strC);
byteD = (BYTE)_ttoi(strD);
uiIP= (byteA << 24) | (byteB << 16) | (byteC << 8) | (byteD);
=====================================================
5 CString 를 int형으로 변환 하기
int 형 = _tstoi(cstring 형)
=====================================================
6 콤보박스의 인덱스에 있는 스트링 가져오기
CString strEquipType;
nIndex = m_ComboEquipType.GetCurSel();
m_ComboEquipType.GetLBText(nIndex, strEquipType);
SetDlgItemText(IDC_COMBO_EQUIP_TYPE, strEquipType);
=====================================================
7 int를 lpctstr로 형변환하기
TCHAR IBuffer[8];
for(int i=0; i< 8; i++)
{
_stprintf_s(IBuffer, 8, _T("%d"), i);
m_cboSpreadCodeSend.AddString(IBuffer);
}
=====================================================
8 unsigne Int의 변수에 있는 IP주소를 받아와서 CString으로 변환하기
BYTE a, b, c, d;
a= (uiModemIP >> 24);
b= (uiModemIP >> 16);
c= (uiModemIP >> 8);
d= uiModemIP;
CString strIPaddress = _T("");
strIPaddress.Format(_T("%d.%d.%d.%d"),a, b, c, d);
=====================================================
9 BYTE를 int형 데이로 변환하기
BYTE a, b, c, d;
a = 192;
b = 168;
c = 231;
d = 1;
unsigned int uiIPAddress= (a << 24) | (b << 16) | (c << 8) | (d);
=====================================================
10 CString 문자열을 자를때 쓰는 함수
AfxExtractSubString(token1, str, 0, ';');
1 저장 변수
2 원본 문자열
3 원본 문자열로부터 쪼개지는 토큰들의 인덱스 번호. 0번부터 시작
4 구분자
=====================================================
11 현재 시스템의 날짜와 시간 생성하기
SYSTEMTIME stCurTime;
GetLocalTime(&stCurTime);
CString strSWVer = _T("v1.0.0a");
strSWVer.Format(_T("v1.0.%02d%02d%02d%02d"),stCurTime.wYear,stCurTime.wMonth,stCurTime.wDay,stCurTime.wHour);
=====================================================
12 CString을 int형으로 변환
_tstoi(strPriority); //CString 변수를 인자로 넣음
=====================================================
13 CString 를 Float로 변환
_ttof(CString) //CString변수를 인자로 넣음
====================================
이상으로 MFC 개발 시 자주쓰는 코드를 코드 및 함수를 정리해보았습니다.
잘 숙지해 두셔서 유용하게 사용하시길 바래요~
그럼 이만^^
'컴퓨터관련' 카테고리의 다른 글
스케치업오토캐드엔 지포스1050TI (0) | 2022.04.11 |
---|---|
아수스비보북부팅안되는 경우 해결책(커피쏟은후 부팅안됨) (2) | 2021.08.28 |
MFC 라디오버튼 2개 선택될 경우 해결책 (0) | 2020.12.23 |
Windows.old 폴더 삭제하는 방법 (0) | 2020.12.22 |
ASUS 비보북 X512DA-BQ473 사용기 (0) | 2020.08.27 |