2012 10월 웹서비스를 종료한다.
푸딩에 사진을 올려사용하던 나로서는 아쉽다..
다시 싸이를 해아되는건가………
흠…
고민되네….
사진 올리는 곳은 이 곳이 매우 좋았는데..
아쉽다.
이 곳 블로그에 올리기에는 개인 사진도 있어서………
구글 피카소를 이용해야되는지 고민된다.
2012 10월 웹서비스를 종료한다.
푸딩에 사진을 올려사용하던 나로서는 아쉽다..
다시 싸이를 해아되는건가………
흠…
고민되네….
사진 올리는 곳은 이 곳이 매우 좋았는데..
아쉽다.
이 곳 블로그에 올리기에는 개인 사진도 있어서………
구글 피카소를 이용해야되는지 고민된다.
mfc 프로그램을 하면 항상 듣는 이야기가 화면 예쁘게 않되냐.
색상이 맘에 않든다.
너무 삭막하다.
이런 말이다.
기본적인 MFC의 디자인은 매우 단조롭고 평이하다.
따라서 이것들의 이미지등을 입히고 수정하는데 재일 많이 사용하는 함수가 GetDlgItem() 이다.
이 함수는 MFC 다이얼로그의 각 오브젝트를 받아와서 컨트롤 할 수 있게 도움을 준다.
간단한 예로 보였다, 안보였다 하는 역활을 할수 있다.
IDC_STACT_N1 이라는 글자 이미지가 있다하자 이것을 보였다 안보였다 하는 데는 이와 같이 사용할 수 있다.
// 보여주기
GetDlgItem(IDC_STACT_N1)->ShowWindows(SW_SHOW);
// 숨기기
GetDlgItem(IDC_STACT_N1)->ShowWindows(SW_HIDE);
이런식으로 많이 사용한다.
윈도우 서버 2008을 설치하여 사용하는데 VS2008을 설치하려다 에러가 발생하였다.
역할 관리 도구를 들어가서 설정하라는데 어디있는지 도무지 알길이 없었다.
고생 끝에 찾은곳이 허망하게 매우 가까운데 있엇다.
설정은 하여서 사용은 하였으나 뭔지는 정확하게 알지 못하는데. 보안정책상 막혔다고 판단이 될뿐이다..
아래의 이미지에 있는 위치를 표시하였다.
이곳에 위치한다.
역할을 클릭하여 추가하여야 한다.
흠 서버 빠르지만 손이 많이 간다.
// Static 부분 글자의 색을 입히는 부분.
// static의 모양을 받아와서 다시 그리는 형태로 처리한다.
// 다른형태로 색을 표현하는 것들이 많지만 이 것이 간단한 색표현에서는 더 낳을듯하다.
CRect sRect;
COLORREF sColor;
// IDC_STATIC_DB 에 배경을 입힌다.
// 상태에 따라서 색을 지정한다.
if ( m_iDBConnetStat == TRUE)
{
sColor = RGB(10,180, 10);
}
else
{
sColor = RGB(250, 10, 10);
}
// 기존 아이템을 받는다.
CStatic *pSvNameTxt = ((CStatic*)GetDlgItem( IDC_STATIC_DB ));
// 기존 아이템의 위치를 받는다.
pSvNameTxt->GetClientRect( sRect );
CClientDC cdcDBSTATE( GetDlgItem( IDC_STATIC_DB ));
// 색을 입힌다.
cdcDBSTATE.SetBkColor(sColor);
// 색을 입힌다.
cdcDBSTATE.FillSolidRect( sRect , sColor );
// 다시 그린다.
cdcDBSTATE.DrawText( theApp.m_pCfg->sDBCFG.cDbAddr , &sRect , DT_CENTER );
주의할 점: 최초 초기작업에서 이 부분이 제대로 처리되지 않는 경우가 발생한다. 따라서, 정상적으로 화면을 구동한 후 처리하여 기존 아이템 위에 덧씌우기 하길 바란다.
ListCtrl을 사용하여 List를 관리할 때 아이템은 모두 지우는 함수는 있는데.
컬럼을 모두 지우는 것은 없다.
그래서, 찾은 것 이 현 컬럼의 수를 체크하여 하나씩 지우는 수밖에 없다.
결과물)
m_ctrlLIST1.DeleteAllItems(); -- 모든 아이템 지우기
while(m_ctrlLIST1.GetHeaderCtrl()->GetItemCount() > 0) -- 현재 컬럼의 수를 나타낸다. While문에 수 정보가 ‘0’이상이면 무조건 처리하도록 한다. 수가 0이 될때까지 While문안에서 지운다.
{
m_ctrlLIST1.DeleteColumn(0); -- 처음 컬럼을 지운다. 처음 컬럼을 지우면 뒤의 컬럼이 그 위치로 shift 되기 때문에 처음 컬럼만 지운다.
}