2021년 6월 24일 목요일

C# 라디오버튼/체크박스 이미지 버튼 처리

 1. Resources.resx 를 열어서 "리소스 추가"->"기존 파일 추가" 해서 .png/.jpg 등 이미지 파일을 추가한다.

예) check.png, uncheck.png


2. 디자이너에서 라디오버튼 or 체크박스 속성중 

Appearance->Button 선택

AutoSize False 선택

BackgroundImage 클릭해서 1번에서 추가한 이미지 선택(프로젝트 리소스 파일)

BackgroundImageLayout 원하는 속성선택

FlatAppearance->BorderSize 0 입력

FlatAppearance->CheckedBackColor = Transparent 입력

FlatAppearance->MouseDownBackColor = Transparent 입력

FlatAppearance->MouseOverBackColor = Transparent 입력

FlatStyle->Flat 선택

Size->이미지 사이즈 입력


3. 버튼 이벤트 CheckedChanged 핸들러 메소드에서 버튼 이미지 변환 코드 입력

private void checkButton_CheckedChanged(object sender, EventArgs e)

{

    if (checkButton.Checked)

    {

        checkButton.BackgroundImage = Properties.Resources.check;

    }

    else

    {

        checkButton.BackgroundImage = Properties.Resources.uncheck;

    }

}


2021년 6월 14일 월요일

Qt QString section 함수를 활용한 path 체크 함수

경로 문자열을 입력하면 해당 경로를 자동 체크해서 없으면 경로생성해주는 함수

void checkPath(QString path)
{
    int i = 0;
    QString filepath = "";

    do
    {
        filepath = path.section('/', 0, i++);   // 섹션별 분할

        // 디렉토리 존재 여부 체크  없으면 생성
        QDir dir(filepath);
        if (!dir.exists()) {
            dir.mkdir(filepath);
        }

    } while (filepath != path);
}


checkPath("d:/aaa/bbb/ccc"); => 해당 경로에 디렉토리 없으면 각 디렉토리 자동생성