2012 10월 웹서비스를 종료한다.

pudding_end

푸딩에 사진을 올려사용하던 나로서는 아쉽다..

다시 싸이를 해아되는건가………

흠…

고민되네….

사진 올리는 곳은 이 곳이 매우 좋았는데..

아쉽다.

이 곳 블로그에 올리기에는 개인 사진도 있어서………

구글 피카소를 이용해야되는지 고민된다.

 

 

 

Daum 태그:
Posted by 훈이아제
,

mfc 프로그램을 하면 항상 듣는 이야기가 화면 예쁘게 않되냐.

색상이 맘에 않든다.

너무 삭막하다.

이런 말이다.

기본적인 MFC의 디자인은 매우 단조롭고 평이하다.

따라서 이것들의 이미지등을 입히고 수정하는데 재일 많이 사용하는 함수가 GetDlgItem() 이다.

이 함수는 MFC 다이얼로그의 각 오브젝트를 받아와서 컨트롤 할 수 있게 도움을 준다.

간단한 예로 보였다, 안보였다 하는 역활을 할수 있다.

IDC_STACT_N1 이라는 글자 이미지가 있다하자 이것을 보였다 안보였다 하는 데는 이와 같이 사용할 수 있다.

 

// 보여주기

GetDlgItem(IDC_STACT_N1)->ShowWindows(SW_SHOW);

 

// 숨기기

GetDlgItem(IDC_STACT_N1)->ShowWindows(SW_HIDE);

 

이런식으로 많이 사용한다.

 

 

Daum 태그: ,,
Posted by 훈이아제
,

윈도우 서버 2008을 설치하여 사용하는데 VS2008을 설치하려다 에러가 발생하였다.
역할 관리 도구를 들어가서 설정하라는데 어디있는지 도무지 알길이 없었다.
고생 끝에 찾은곳이 허망하게 매우 가까운데 있엇다.
설정은 하여서 사용은 하였으나 뭔지는 정확하게 알지 못하는데. 보안정책상 막혔다고 판단이 될뿐이다..

아래의 이미지에 있는 위치를 표시하였다.

image

이곳에 위치한다.
역할을 클릭하여 추가하여야 한다.

image

 

흠 서버 빠르지만 손이 많이 간다.

Posted by 훈이아제
,

// 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 );

 

주의할 점:  최초 초기작업에서 이 부분이 제대로 처리되지 않는 경우가 발생한다. 따라서, 정상적으로 화면을 구동한 후 처리하여 기존 아이템 위에 덧씌우기 하길 바란다.

Daum 태그: ,,,,

Posted by 훈이아제
,

ListCtrl을 사용하여 List를 관리할 때 아이템은 모두 지우는 함수는 있는데.

컬럼을 모두 지우는 것은 없다.

그래서, 찾은 것 이 현 컬럼의 수를 체크하여 하나씩 지우는 수밖에 없다.

결과물)

m_ctrlLIST1.DeleteAllItems();  -- 모든 아이템 지우기
while(m_ctrlLIST1.GetHeaderCtrl()->GetItemCount() > 0)   -- 현재 컬럼의 수를 나타낸다. While문에 수 정보가 ‘0’이상이면 무조건 처리하도록 한다. 수가 0이 될때까지 While문안에서 지운다.
{
    m_ctrlLIST1.DeleteColumn(0);  -- 처음 컬럼을 지운다. 처음 컬럼을 지우면 뒤의 컬럼이 그 위치로 shift 되기 때문에 처음 컬럼만 지운다.
}

Posted by 훈이아제
,
내부, 외부 망으로 2개의 망에 물려서 사용하는 개발환경이 많다.
이 때, 특정 내부망 아이피 대역이 외부망을 통하지 않고 사용하는 방법이 있다.
바로 라우터정보에 해당 아이피 대역을 특정 Lan카드의 Gateway로 지정하는 법이다.

이곳에서 사용되는 명령어는 총 2개이다.
route print : 현재 적용되어있는 라우터 정보를 표기한다.
route add <IP대역> mask <대역폭> <Gateway IP> -p : 특정 아이피 대역에 해당 랜카드 게이트 웨이 정보를 할당한다. -p 옵션은 시스템 부팅시에도 사용하도록 한다. 없으면 휘발성으로 사라진다.

실제 사용 예시===================================================
먼저 현재 라우터 상태를 본다.
사용자 삽입 이미지
외부 10번대의 아이피가 기본 게이트 웨이로 잡혀있어서 172.29.대의 내부 아이피들은 안들어가진다. 현재 상태에서는 172.29.33.대의 아이피는 들어가진다.
따라서 들어가기 위하여 Route 정보를 추가한다.
사용자 삽입 이미지
결과를 보면
사용자 삽입 이미지
Persistent Routes : 가 추가되어 있는 것을 볼수 있다.
그리고 해당 아이피 대역으로 Ping 체크 결과 정상적으로 등록되었음을 알수 있다.
Posted by 훈이아제
,
요즘은 Chart FX만 파고 있는거 같다.

이 번에는 그래프의 포인터에 값을 표현할때 값을 내가 원하는 형태로 보여주는 부분이다.
그래프를 표현한 후 특정 포인트의 값을 보고 싶을때 마우스를 포인터 위에 놓으면 보여주는
Chart FX의 착한 기능이 있다. 그런데 이 때 해당 Data의 값이 소수점 이하로 표현이 안되는 것이다. 그렇다고 Y축 값을 바꾸면서 까지 표현하고 싶지 않고 포인터만 표현하고 싶을때 사용하면 참좋다. 이 때 단위까지 넣을수 있으니 더욱 좋은 것이 아니겟는가.

기존.
사용자 삽입 이미지

적용후
사용자 삽입 이미지


적용 소스
            ChartFX.WinForms.AxisY tempAY3;
            tempAY3 = new ChartFX.WinForms.AxisY();
            tempAY3.Title.Text = "3333";
            tempAY3.Title.TextColor = Color.Chocolate;

            tempAY3.DataFormat.CustomFormat = "0.00 ℃";

            chart1.AxesY.Add(tempAY3);


Posted by 훈이아제
,
Chart를 표현할때 상한, 하한 값이라던지 특정 라인별 구분선이 필요할 경우가 있다.
이 때 사용하는 방법이다.
ChartFX의 내용중에  CustomGridLines 이라는 것이 있다.
GridLine이 Char의 내용에 선을 표현한다.
이 것을 사용하여 새로운 선을 추가할수 있다.

소스 :
 ChartFX.WinForms.CustomGridLine cgl1 = new ChartFX.WinForms.CustomGridLine();
            cgl1.Color = Color.BlueViolet;  // 선의 색깔
            cgl1.Text = " TEST";  // 선에 표현될 글
            cgl1.Value = 10;  // 선이 위치할 각 축의 값.
            chart1.AxisY.CustomGridLines.Add(cgl1);  // y축에 표현
            chart1.AxisX.CustomGridLines.Add(cgl1); // x축에 표현

결과 :
사용자 삽입 이미지

Posted by 훈이아제
,
MDI 를 사용중에 창이 여러개 생기지 않게 할 필요가 있다.
그래서 찾던중 발견했다 방법을...
현재 MDI에 어떤창이 띄어져 있는지 확인하고 그창을 죽이는 부분이다.
여기서는 MDI에 다른창이 떠있으면 무조건 창을 닫고 새로이 창을 열수 있게 하도록 하였다.

현상 :

사용자 삽입 이미지



소스 :
// foreach  A in B 구문은  B의 배열값을 A에 Data에 넘져줄때 Data가 있으면 조건을 타는 문장이다.
            // MDI의 모든 창을 닫는다.
            foreach (System.Windows.Forms.Form TheForm in this.MdiChildren)
            {
                TheForm.Dispose();
            }


            // MDI 화면 띄우기
            m_CF1 = new ClassLibrary1.Form1();
            m_CF1.MdiParent = this;
            m_CF1.WindowState = FormWindowState.Normal;
            m_CF1.AutoScroll = true;
            m_CF1.StartPosition = FormStartPosition.Manual;

            m_CF1.Show();


결과 :

사용자 삽입 이미지




Posted by 훈이아제
,